mac:
Keywords:
kubelet:
Node-level components, such as the kubelet, communicate with the control plane using the Kubernetes API, which the control plane exposes. End users can also use the Kubernetes API directly to interact with the cluster
control plane:
The Control Plane is responsible for managing the cluster. The Control Plane coordinates all activities in your cluster, such as scheduling applications, maintaining applications' desired state, scaling applications, and rolling out new updates.
控制平面(Control Plane)是 Kubernetes 集群中用于维护和管理集群状态的组件,包括:
- kube-apiserver:Kubernetes API 的服务器,是控制平面的前端。
- etcd:轻量级、分布式的键值存储系统,用于保存集群的所有数据。
- kube-scheduler:负责决定新创建的 Pod 应该运行在哪个节点上。
- kube-controller-manager:运行了一组控制器,这些控制器会持续监控集群的状态,并确保集群的实际状态与期望状态一致。
- cloud-controller-manager:运行了一组控制器,这些控制器与云服务提供商的服务交互。
node:
A node is a VM or a physical computer that serves as a worker machine in a Kubernetes cluster
pod:
在 Kubernetes 中,Pod 是可以在 Node 上运行的最小和最简单的单元。每个 Pod 包含一个或多个容器,这些容器共享存储和网络资源。
minikube:
To get started with Kubernetes development, you can use Minikube. Minikube is a lightweight Kubernetes implementation that creates a VM on your local machine and deploys a simple cluster containing only one node.
The Minikube CLI provides basic bootstrapping operations for working with your cluster, including start, stop, status, and delete
Kubernetes 中,Pod、ReplicaSet 和 Deployment
为什么 Deployment 不直接管理 pod ,还衍生一个 ReplicaSet
kubeadm
"kubeadm" 是由 "kube" 和 "adm" 组成的,其中 "kube" 是 Kubernetes 的简称,"adm" 是 administrator(管理员)的简称。所以,"kubeadm" 可以理解为 "Kubernetes administrator",即 Kubernetes 管理员
kubeadm
是一个工具,它提供了kubeadm init
和kubeadm join
两个命令,用于快速创建 Kubernetes 集群。
kubeadm init
:用于在机器上启动 Kubernetes 控制平面。这个命令会初始化控制平面并设置一些配置项,例如版本信息、网络配置等。执行完这个命令后,它会输出一个kubeadm join
命令,你可以在其他机器上运行这个命令来加入到这个集群。
kubeadm join
:用于将节点添加到集群中。你需要在kubeadm init
输出的kubeadm join
命令中提供一些参数,例如控制平面的 IP 地址和端口、token、CA 证书的 hash 等。总的来说,
kubeadm
是一个非常方便的工具,它可以帮助你快速创建和管理 Kubernetes 集群。