sudo systemctl stop firewalld
)或配置允许Kubernetes组件通信(如6443端口);sudo setenforce 0
)或调整策略。Kubernetes依赖Docker作为默认容器运行时(也可替换为containerd),安装步骤如下:
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install -y docker-ce
sudo systemctl enable --now docker
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce
sudo systemctl enable --now docker
docker run hello-world
,若输出“Hello from Docker!”则安装成功。Kubernetes的核心组件包括kubelet
(节点代理)、kubeadm
(集群初始化工具)、kubectl
(命令行工具),安装步骤如下:
Ubuntu/Debian:
sudo apt update
sudo apt install -y kubelet kubeadm kubectl
sudo systemctl enable --now kubelet
CentOS/RHEL:
sudo yum install -y epel-release
sudo yum install -y kubelet kubeadm kubectl
sudo systemctl enable --now kubelet
禁用Swap:Kubernetes要求禁用swap分区,否则无法启动:
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab # 永久禁用
验证组件:运行kubeadm version
、kubelet version
,确认版本输出正常。
Master节点负责集群管理(如调度、API服务),初始化命令如下:
sudo kubeadm init \
--pod-network-cidr=10.244.0.0/16 \ # 指定Pod网络CIDR(需与网络插件匹配)
--apiserver-advertise-address=<Master-IP> \ # Master节点IP
--image-repository registry.aliyuncs.com/google_containers # 国内镜像加速(可选)
kubeadm join
命令(包含token和CA证书哈希),需保存备用。kubectl
是管理Kubernetes集群的命令行工具,需配置访问权限:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl version
,若显示客户端与服务端版本信息则配置成功。Kubernetes需要网络插件实现Pod间通信,常用插件如Flannel(轻量级):
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl get pods -n kube-system
,确认网络插件Pod状态为Running
。Worker节点负责运行应用Pod,使用Master节点初始化时生成的kubeadm join
命令加入集群:
sudo kubeadm join <Master-IP>:6443 \
--token <token> \
--discovery-token-ca-cert-hash sha256:<hash>
kubectl get nodes
,若Worker节点状态为Ready
则表示加入成功。Dashboard是Kubernetes的Web管理界面,可通过以下命令安装:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
kubectl proxy
启动代理,访问http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
。以上步骤为Kubernetes基础安装流程,实际生产环境中还需配置高可用(HA)、持久化存储、网络策略等高级功能,建议参考Kubernetes官方文档调整配置。