怎样在Linux中安装Kubernetes
导读:在 Linux 上安装 Kubernetes 的标准流程 一 环境准备 硬件建议:至少 2 核 CPU、4GB 内存、20GB 磁盘;生产环境建议 ≥3 节点(1 控制面 + 2 工作节点)。 系统要求:64 位 Linux(如 Ubun...
在 Linux 上安装 Kubernetes 的标准流程
一 环境准备
- 硬件建议:至少 2 核 CPU、4GB 内存、20GB 磁盘;生产环境建议 ≥3 节点(1 控制面 + 2 工作节点)。
- 系统要求:64 位 Linux(如 Ubuntu 20.04/22.04、CentOS 7/8 或 RHEL 7/8),节点间网络互通,主机名、MAC 地址、product_uuid 唯一。
- 基础配置:
- 关闭 Swap:
sudo swapoff -a,并在 /etc/fstab 注释 swap 行(重启后仍生效)。 - 防火墙放行(示例为 firewalld):放行 6443、2379-2380、10250、10251、10252、10255/tcp。
- 可选:在 RHEL/CentOS 上临时设置
setenforce 0并修改 /etc/selinux/config 为SELINUX=permissive/disabled(重启生效)。
- 关闭 Swap:
- 容器运行时:安装 Docker CE 或 containerd;如使用 Docker,需准备 cri-dockerd 以适配 CRI。
- 组件版本:在所有节点安装匹配版本的 kubeadm、kubelet、kubectl,并保持与控制面版本一致或允许 kubelet 落后 API Server 一个次版本。
二 安装容器运行时与 Kubernetes 组件
- Ubuntu/Debian
- 安装 Docker(示例):
sudo apt-get update & & sudo apt-get install -y docker.io & & sudo systemctl enable --now docker - 添加 Kubernetes APT 源并安装组件:
sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl curl -fsSL https://dl.k8s.io/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-archive-keyring.gpg echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] 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 apt-mark hold kubelet kubeadm kubectl sudo systemctl enable --now kubelet
- 安装 Docker(示例):
- CentOS/RHEL
- 安装 Docker(示例):
sudo yum install -y docker & & sudo systemctl enable --now docker - 添加 Kubernetes YUM 源并安装组件:
cat < < EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch 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
- 安装 Docker(示例):
- 重要提示
- 确保容器运行时与 kubelet 使用相同的 cgroup 驱动(如 systemd),否则 kubelet 可能无法启动。
- 如使用 Docker,需部署 cri-dockerd 并配置 kubelet 使用其 CRI 端点。
三 初始化控制平面 Master
- 初始化命令(按需替换参数):
sudo kubeadm init \ --apiserver-advertise-address=< MASTER_IP> \ --kubernetes-version=v1.28.0 \ --service-cidr=10.96.0.0/12 \ --pod-network-cidr=10.244.0.0/16 \ --image-repository=registry.aliyuncs.com/google_containers- 常见网络插件的 Pod CIDR:Calico 192.168.0.0/16、Flannel 10.244.0.0/16。
- 初始化完成后按提示配置 kubectl:
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 命令,用于工作节点加入集群。
四 部署网络插件
- 只能安装并启用 一个 Pod 网络插件,否则会冲突。
- 常见选择:
- Calico:
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
- Calico:
- 验证:
kubectl get pods -n kube-system应看到对应插件 Running。
五 加入工作节点与验证
- 在每台工作节点执行初始化时生成的 kubeadm join 命令,例如:
sudo kubeadm join < MASTER_IP> :6443 \ --token < TOKEN> \ --discovery-token-ca-cert-hash sha256:< HASH> - 在 Master 上验证:
kubectl get nodes,所有节点状态应为 Ready。 - 常用运维:
- 重置节点:
sudo kubeadm reset(异常或重建时使用)。 - 非 Master 管理集群:将 /etc/kubernetes/admin.conf 拷贝到工作节点并配置
KUBECONFIG后使用kubectl。
- 重置节点:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 怎样在Linux中安装Kubernetes
本文地址: https://pptw.com/jishu/786956.html
