怎样在Linux系统里安装Kubernetes
导读:在 Linux 上安装 Kubernetes 的标准流程 一 环境准备 节点规划:至少准备1 台 Master与1 台 Worker;推荐配置为每台2 核 CPU、4GB 内存、20GB+ 磁盘,并确保节点间网络互通、可访问外网(用于拉取...
在 Linux 上安装 Kubernetes 的标准流程
一 环境准备
- 节点规划:至少准备1 台 Master与1 台 Worker;推荐配置为每台2 核 CPU、4GB 内存、20GB+ 磁盘,并确保节点间网络互通、可访问外网(用于拉取镜像)。如使用云服务器,需放通相关端口。
- 系统设置:
- 关闭 Swap:swapoff -a,并在 /etc/fstab 中注释 swap 行(Kubelet 要求)。
- SELinux:建议设为 permissive/disabled(如修改 /etc/selinux/config 的 SELINUX= 项)。
- 防火墙/安全组:放通 6443、2379-2380、10250、10251、10252、10255/tcp 等端口,或按云厂商指引开放。
- 时间同步:启用 chrony/ntp,避免证书校验与时间敏感问题。
- 主机名与 hosts:为各节点设置唯一 hostname,必要时在 /etc/hosts 做解析。
二 安装容器运行时与 kubeadm kubelet kubectl
- 容器运行时:以 Docker CE 为例(也可使用 containerd,本文以 Docker 演示)。
- CentOS/RHEL:
- 安装依赖与仓库,执行:
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io - 启动并设为开机自启:
sudo systemctl start docker & & sudo systemctl enable docker
- 安装依赖与仓库,执行:
- Ubuntu/Debian:
- 更新索引并安装:
sudo apt-get update & & sudo apt-get install -y docker.io
- 更新索引并安装:
- CentOS/RHEL:
- 安装 Kubernetes 组件(所有节点):
- CentOS/RHEL(YUM 源示例,可按需替换为国内镜像源):
cat < < EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
sudo yum install -y kubelet kubeadm kubectl
sudo systemctl enable --now kubelet - Ubuntu/Debian(APT 源示例):
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo “deb https://apt.kubernetes.io/ kubernetes-xenial main” | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update & & sudo apt-get install -y kubelet kubeadm kubectl
sudo systemctl enable --now kubelet
- CentOS/RHEL(YUM 源示例,可按需替换为国内镜像源):
- 说明:kubeadm 用于初始化与加入集群,kubelet 运行在每个节点,kubectl 用于与 API Server 交互。
三 初始化控制平面 Master
- 初始化命令(示例,按需调整参数):
- 使用国内镜像仓库加速与控制面网段:
sudo kubeadm init \ –image-repository registry.aliyuncs.com/google_containers \ –kubernetes-version v1.23.0 \ –apiserver-advertise-address < Master_IP> \ –service-cidr 10.96.0.0/12 \ –pod-network-cidr 10.244.0.0/16 - 如使用 Calico,常用 /16 的 Pod CIDR;如使用 Flannel,常用 10.244.0.0/16。
- 使用国内镜像仓库加速与控制面网段:
- 初始化完成后,按提示执行:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config - 记录输出的 kubeadm join 命令,用于后续将 Worker 加入集群。
四 部署网络插件
- 集群必须安装一种 Pod 网络插件,使 Pod 之间、Pod 与 Service 之间可通信。常见选择:Calico、Flannel。
- 以 Calico 为例(推荐与上面的 10.244.0.0/16 或 192.168.0.0/16 匹配):
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml - 以 Flannel 为例:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml - 验证:
kubectl get pods -n kube-system
kubectl get nodes # 等待节点状态变为 Ready
五 加入 Worker 节点与验证
- 在每台 Worker 上执行 Master 输出的 kubeadm join 命令,例如:
sudo kubeadm join < Master_IP> :6443 \ –token \ –discovery-token-ca-cert-hash sha256: - 在 Master 上查看节点:
kubectl get nodes - 常见问题速查:
- 节点 NotReady:检查 kubelet 是否运行、容器运行时是否可用、网络插件是否部署成功。
- 镜像拉取失败:配置 Docker 镜像加速 或使用国内镜像仓库;必要时在节点上手动拉取所需镜像。
- 时间不同步:启用 chrony/ntp 同步时间。
附 常用维护命令
- 重置节点(清理环境,重新加入前执行):
sudo kubeadm reset - 清理并重装思路:reset → 重启 kubelet → 重新 kubeadm init/join。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 怎样在Linux系统里安装Kubernetes
本文地址: https://pptw.com/jishu/786951.html
