kubernetes #
官网: https://kubernetes.io/zh-cn
K8s组件 #
- Control Plane:控制平面组件,为集群做全局决策。一般部署在同一台独立的服务器上。
- kube-apiserver:公开Kubernetes API并接受请求。
- etcd:保存k8s所有集群元数据的键值数据库。
- kube-scheduler:监视并调度Pods。
- kube-controller-manager:负责运行Controller进程。
- cloud-controller-manager:连接集群到云提供商的 API。
- Node:工作节点,可以是虚拟机或者物理机。生产级别的 Kubernetes 集群至少应具有三个 Node。
- kubelet:负责管理Node和由k8s创建的容器,并通过Kubernetes API 与 Master 通信。
- kube-proxy:Node上的网络代理,维护节点上的一些网络规则。
- Master:管理集群,协调集群中的所有活动,如调度应用、维护状态、扩容等。
- Deployment:创建和管理Pod。Deployment会持续监视Pod,当Pod所在在Node出现问题后,将Pod转移到其它Node上(HA)。
- ReplicaSet :确保任何时间都有指定数量的 Pod 副本在运行。Deployment 管理 ReplicaSet。
- Pod:Pod为一组共享资源的容器。这些资源包括:共享存储,网络和有关每个容器如何运行的信息。Pod 中的容器共享 IP 地址和端口,始终位于同一位置并且共同调度,并在同一工作节点上的共享上下文中运行。
- Service:抽象层,定义了 Pod 的逻辑集和访问 Pod 的协议。 Service通过LabelSelector来匹配Pod。