前言
温故而知新,不学就容易忘,本文将迅速介绍k8s的一些关键概念,供随时回顾
正文
-
Pod:Pod是Kubernetes中最小的部署单位,通常一个Pod内运行一个容器应用。Pod封装了容器(可能是多个),存储资源、独立的网络IP以及管理容器运行方式的策略。
-
Service:Service是定义一组Pod访问策略的抽象,它允许外部访问Pod集合提供的服务。Service为Pod组提供一个固定的IP地址和端口,即使Pod的后端成员发生变化。
-
Deployment:Deployment为Pods和ReplicaSets(下一条会提到)提供声明式更新能力。通过Deployment定义应用的期望状态,Deployment控制器会改变实际状态至期望状态的速率控制。
-
ReplicaSet:ReplicaSet的目的是维护一组可替换的、稳定运行的Pods。通常,它被用来确保指定数量的Pod副本同时运行。
-
Namespace:Namespace是对一组资源和对象的逻辑分组,它可以用来组织集群内的资源。一个Kubernetes集群可以有多个Namespace,每个Namespace都是独立的。
-
Node:Node是Kubernetes中的一个工作机,可以是虚拟机或物理机,它负责运行Pods。
-
Master:Master是集群控制节点,负责集群的管理和调度,包括API服务器、调度器、控制管理器等组件。
-
Kubelet:运行在所有集群节点上的代理,它确保容器运行在Pod中。
-
kubectl:kubectl是Kubernetes集群的命令行工具,通过它可以部署应用、查看和管理集群资源以及查看日志和运行状态。
-
ConfigMap和Secret:这两种资源允许将配置项和敏感信息(如密码、OAuth令牌和ssh密钥)存储和管理,然后可以以环境变量或文件的形式,注入到Pod中。
-
Ingress:Ingress是Kubernetes的API对象,它管理外部访问集群内服务的HTTP路由,可以提供负载均衡、SSL终端和基于名称的虚拟托管。
-
Volume:Volume是一个能够被容器内应用访问的目录,用于解决持久化存储和数据共享的问题。Kubernetes支持多种类型的Volumes。
-
Helm:虽然不是Kubernetes核心部分,但Helm是Kubernetes的包管理工具,它允许定义、安装和升级Kubernetes应用。