## 1. K8s单节点设置
单节点设置适合于在本地环境或测试环境中进行开发和测试。以下是设置单节点的步骤:
步骤 | 代码 | 描述
-----|------|-----
1 | `sudo apt-get update` | 更新操作系统软件包列表。
2 | `sudo apt-get install -y docker.io` | 安装Docker,K8s需要使用Docker来运行容器。
3 | `sudo apt-get install -y apt-transport-https` | 安装Transport HTTPS,用于通过HTTPS访问包资源。
4 | `curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -` | 添加Google Cloud的APT密钥。
5 | `sudo sh -c 'echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" > /etc/apt/sources.list.d/kubernetes.list'` | 添加Kubernetes源到APT源列表。
6 | `sudo apt-get update` | 更新APT软件包索引。
7 | `sudo apt-get install -y kubelet kubeadm kubectl` | 安装Kubernetes的kubeadm、kubelet和kubectl组件。
8 | `sudo kubeadm init` | 初始化Kubernetes master节点。
9 | `mkdir -p $HOME/.kube` | 在当前用户的主目录下创建.kube目录。
10 | `sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config` | 将Kubernetes配置文件复制到用户主目录的.kube目录下。
11 | `sudo chown $(id -u):$(id -g) $HOME/.kube/config` | 将配置文件的所有权更改为当前用户。
12 | `kubectl get nodes` | 验证节点是否成功初始化。
使用上述步骤和命令,我们可以在单个节点上设置K8s。注意,这个节点将具有master角色,并且其上部署的容器将运行在此节点上。现在让我们看看如何在多个节点上设置K8s。
## 2. K8s多节点设置
多节点设置适用于生产环境和大规模部署中。以下是设置多节点的步骤:
步骤 | 代码 | 描述
-----|------|-----
1 | `sudo kubeadm init` | 在主节点上执行此命令初始化Kubernetes。
2 | `[kubeadm init output]` | 等待初始化完成,并注意输出中的join命令,它将用于其他节点加入到集群中。
3 | `kubectl --kubeconfig $HOME/.kube/config apply -f https://docs.projectcalico.org/v3.16/manifests/calico.yaml` | 在主节点上安装网络插件Calico。
4 | `kubeadm token create --print-join-command` | 在主节点上运行此命令来获取其他节点加入集群的命令。
5 | `[kubeadm token output]` | 将输出的命令复制到其他节点,在每个节点上执行此命令以将其加入Kubernetes集群。
6 | `kubectl get nodes` | 在主节点上运行此命令以验证所有节点是否加入集群。
使用上述步骤和命令,我们可以在多个节点上设置K8s集群。在这种设置中,主节点将负责管理和控制其他节点,而其他节点将托管容器并运行工作负载。
总结:
- 单节点设置适用于开发和测试环境。
- 多节点设置适用于生产环境和大规模部署。
- 无论是单节点设置还是多节点设置,都需要安装Docker和Kubernetes组件。
- 验证设置是否成功可以使用`kubectl get nodes`命令。
希望上述步骤和代码片段对你理解如何在K8s中设置单节点和多节点有所帮助。祝你学习顺利!