2 核 2G Ubuntu 20.4 IP 172.24.53.10
|
kubeadm |
kubelet |
kubectl |
版本 |
1.23.0 |
1.23.0 |
1.23.0 |
kubeadm
、kubelet
和 kubectl
是 Kubernetes 生态系统中的三个重要组件
kubeadm:
- 主要用于 Kubernetes 集群的安装与管理。它提供了一种简单而快速的方法来创建一个 Kubernetes 集群,包括初始化控制平面节点、添加工作节点,以及管理集群的生命周期。
- 通过
kubeadm init
命令可以在主节点上初始化一个新的集群,而通过 kubeadm join
可以将工作节点加入到已有的集群中。
kubelet:
- 是 Kubernetes 中的核心组件之一,负责在每个工作节点上管理 Pods 的生命周期。
- 它负责从 API 服务器获取 Pod 的配置,并确保它们在节点上运行。具体来说,kubelet 会监控容器的状态,并确保它们按照期望的状态运行。
- kubelet 也负责执行健康检查,报告节点和容器的状态。
kubectl:
- 是 Kubernetes 的命令行工具,允许用户与 Kubernetes 集群进行交互。
- 用户可以使用
kubectl
来部署应用、管理集群资源、排查故障等。例如,kubectl get pods
可以列出当前运行的 Pods,kubectl apply -f <file>
可以根据配置文件创建或更新资源。
Kubernetes
(K8s)支持多种容器运行时(Container Runtime),这些运行时负责管理容器的生命周期,包括拉取镜像、创建、运行和停止容器。
以下是一些常见的 Kubernetes 容器运行时:
1. Docker
- 描述:Docker 是最常用的容器运行时,它通过提供一个简单的方法来打包、分发和运行应用程序,以便在不同环境中保持一致的行为。
- 状态:虽然 Docker 仍然被广泛使用,但自 Kubernetes 1.20 版本起,Kubernetes 将不再直接支持 Docker 作为容器运行时。Docker 通过其底层的容器运行时(如
containerd
)被 Kubernetes 支持。
2. containerd
- 描述:containerd 是一个高性能的容器运行时,负责管理容器生命周期的基本功能。它是 Docker 中的一个组件,后来被单独发展,以便可以独立使用。
- 特点:它支持 OCI(Open Container Initiative)标准,因此与 Kubernetes 兼容性好。
3. CRI-O
- 描述:CRI-O 是一个轻量级的容器运行时,专门为 Kubernetes 的 CRI(Container Runtime Interface)设计。它允许 Kubernetes 使用任何支持 OCI 标准的容器镜像,并提供与 K8s 的良好集成。
- 特点:CRIo 旨在提供一个简化的环境,消除不必要的组件,从而优化 Kubernetes 的性能。
4. Podman
- 描述:Podman 是一个无守护进程的容器工具,允许用户以非特权模式运行容器。它与 Docker 的 CLI 接口相似,因此容易上手。
- 特点:Podman 支持管理 pods 以及单个容器,并具有与 Kubernetes 的集成能力,但它不是 Kubernetes 默认支持的运行时。
5. rkt
- 描述:rkt(发音为 "rocket")是 CoreOS 开发的容器运行时,旨在提供更强的安全性和灵活性。尽管 rkt 曾与 Kubernetes 集成,但自 Kubernetes 1.20 版本起,主要得益于
containerd
和 CRI-O
的流行支持。
- 状态:rkt 在社区中的使用有所减少。
修改主机名
hostnamectl set-hostname master
关闭swap
// 临时关闭
swapoff -a
// 永久关闭
关闭防火墙
ufw disable
查看防火墙状态