0
点赞
收藏
分享

微信扫一扫

使用kubeadm搭建k8s

千妈小语 2024-10-10 阅读 25

1. 环境准备

确保你有足够的机器来搭建集群。至少需要一台作为控制平面节点(master),一台或多台作为工作节点(worker node)。所有节点需要满足以下条件:

  • 操作系统:推荐使用 Ubuntu、CentOS 或者 Debian 等 Linux 发行版。
  • 网络:所有节点之间需要能够相互通信,特别是 kubeadmkubelet 和 kubectl 需要的端口。
  • 内核:需要 Linux 4.4 或更高版本。
  • Docker:Kubernetes 需要 Docker 作为容器运行时,确保 Docker 已经安装并且运行正常。

2. 安装 kubeadm、kubelet 和 kubectl

在所有节点上安装 kubeadmkubeletkubectl。以 Ubuntu 为例:

sudo apt-get update
sudo apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

3. 初始化 Kubernetes 集群

在控制平面节点上执行以下命令来初始化集群:

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

这里的 --pod-network-cidr 参数用于指定 Pod 网络的 CIDR 范围,你需要根据你的网络插件来选择合适的 CIDR。

初始化完成后,会显示一些加入集群的命令,包括设置 kubectl 访问集群的命令。

4. 设置 kubectl 访问

kubeconfig 文件配置到你的用户目录下,以便 kubectl 可以访问集群:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

5. 安装网络插件

安装一个网络插件,例如 Calico 或 Flannel,以便 Pod 之间可以相互通信。以 Calico 为例:

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

6. 将工作节点加入集群

在每个工作节点上,使用 kubeadm init 完成后显示的 kubeadm join 命令来加入集群。例如:

sudo kubeadm join [master-node-ip]:6443 --token [token] --discovery-token-ca-cert-hash sha256:[hash]

[master-node-ip][token][hash] 替换为实际的值。

7. 验证集群状态

使用以下命令来验证集群状态:

kubectl get nodes


举报

相关推荐

0 条评论