|
好的,下面是一篇简明教程,教你如何用二进制方式安装 Kubernetes v1.32.0(适用于 1.29+ 版本):
Kubernetes 二进制安装指南(v1.29+)
一、准备工作
1. 准备至少 3 台 Linux 主机(推荐 CentOS 7+/Ubuntu 20.04+)
- 1 台控制平面 (Master)
- 2 台工作节点 (Node)
2. 确保所有主机:
- 关闭 swap:swapoff -a && sed -i '/swap/s/^/#/' /etc/fstab
- 关闭防火墙/SELinux
- 设置主机名解析:/etc/hosts 添加所有节点 IP 和主机名
二、下载二进制文件
在所有节点执行:
- # 下载安装包
- VERSION=v1.32.0
- wget [url=https://dl.k8s.io/$VERSION/kubernetes-server-linux-amd64.tar.gz]https://dl.k8s.io/$VERSION/kubernetes-server-linux-amd64.tar.gz[/url]
- # 验证完整性
- wget [url=https://dl.k8s.io/$VERSION/kubernetes-server-linux-amd64.tar.gz.sha256]https://dl.k8s.io/$VERSION/kubernetes-server-linux-amd64.tar.gz.sha256[/url]
- sha256sum -c kubernetes-server-linux-amd64.tar.gz.sha256
- # 解压并安装
- tar -zxvf kubernetes-server-linux-amd64.tar.gz
- cd kubernetes/server/bin
- sudo cp kube-apiserver kube-controller-manager kube-scheduler kubectl kubelet kube-proxy /usr/local/bin/
复制代码
三、控制平面配置
1. 生成默认配置文件:
- # 生成默认配置
- sudo mkdir -p /etc/kubernetes/config
- kubeadm config print init-defaults > kubeadm.yaml
复制代码
2. 关键配置文件示例:
- # /etc/kubernetes/manifests/kube-apiserver.yaml
- apiVersion: v1
- kind: Pod
- metadata:
- name: kube-apiserver
- spec:
- containers:
- - command:
- - kube-apiserver
- - --advertise-address=MASTER_IP
- - --service-cluster-ip-range=10.96.0.0/12
- - --etcd-servers=[url=http://MASTER_IP:2379]http://MASTER_IP:2379[/url]
- - --kubelet-preferred-address-types=InternalIP
- - --service-account-key-file=/etc/kubernetes/pki/sa.pub
- - --tls-cert-file=/etc/kubernetes/pki/apiserver.crt
- - --tls-private-key-file=/etc/kubernetes/pki/apiserver.key
复制代码
四、启动控制平面服务
创建 systemd 服务(示例 kube-apiserver.service):
- [Unit]
- Description=Kubernetes API Server
- After=network.target
- [Service]
- ExecStart=/usr/local/bin/kube-apiserver \\
- --advertise-address=MASTER_IP \\
- --service-cluster-ip-range=10.96.0.0/12 \\
- --etcd-servers=[url=http://MASTER_IP:2379]http://MASTER_IP:2379[/url] \\
- --secure-port=6443 \\
- --kubelet-preferred-address-types=InternalIP
- Restart=always
- [Install]
- WantedBy=multi-user.target
复制代码
启动服务:
- sudo systemctl daemon-reload
- sudo systemctl enable --now kube-apiserver kube-controller-manager kube-scheduler
复制代码
五、工作节点加入
1. 在 Node 节点安装容器运行时(如 containerd)
2. 创建 kubelet systemd 服务
3. 在 Master 生成加入命令:
- kubeadm token create --print-join-command
复制代码
4. 在 Node 执行输出的加入命令
六、验证安装
- # 查看节点状态
- kubectl get nodes -o wide
- # 查看组件状态
- kubectl get cs
复制代码
注意事项:
1. 证书生成建议使用 kubeadm init phase certs all
2. 必须配置容器运行时(containerd/CRI-O)
3. 网络插件需单独安装(Calico/Flannel)
4. 生产环境建议使用 keepalived + haproxy 实现高可用
需要具体组件的完整 systemd 配置模板(etcd/kubelet 等),可以回复说明需要哪个组件的配置!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|