下载二进制文件
从 Kubernetes GitHub Releases 下载指定版本的二进制文件:
# 下载 K8s server 包(包含所有组件)
VERSION=v1.29.7
ARCH=$(uname -m)
if [ "$ARCH" = "x86_64" ]; then ARCH="amd64"; elif [ "$ARCH" = "aarch64" ]; then ARCH="arm64"; fi
wget "https://dl.k8s.io/${VERSION}/kubernetes-server-linux-${ARCH}.tar.gz"
# 解压
tar zxvf kubernetes-server-linux-amd64.tar.gz
# 二进制文件位于 kubernetes/server/bin/ 目录
ls kubernetes/server/bin/
# kube-apiserver kube-controller-manager kube-scheduler kubectl kubelet kube-proxy
bash
其他下载方式:
分发到各节点
Master 节点
Master 节点需要的组件:kube-apiserver、kube-controller-manager、kube-scheduler、kubectl
# 本地安装
cd kubernetes/server/bin
cp -p kube-apiserver kube-controller-manager kube-scheduler kubectl /usr/local/bin
# 分发到其他 Master
scp -p kube-apiserver kube-controller-manager kube-scheduler kubectl master2:/usr/local/bin
scp -p kube-apiserver kube-controller-manager kube-scheduler kubectl master3:/usr/local/bin
bash
Worker 节点
Worker 节点需要的组件:kubelet、kube-proxy
# 分发到所有 Worker 节点
scp -p kube-proxy kubelet node1:/usr/local/bin
scp -p kube-proxy kubelet node2:/usr/local/bin
scp -p kube-proxy kubelet node3:/usr/local/bin
# 或使用循环
for i in node1 node2 node3; do
scp -p kube-proxy kubelet $i:/usr/local/bin
done
bash
创建程序目录
在所有 Master 节点上:
mkdir -p /etc/kubernetes
mkdir -p /etc/kubernetes/pki
mkdir -p /var/log/kubernetes
bash
验证
ssh root@master1 "kube-apiserver --version"
ssh root@master2 "kube-apiserver --version"
ssh root@worker1 "kubelet --version"
ssh root@worker1 "kube-proxy --version"
bash
↑