首页主机资讯如何在Ubuntu上快速安装Kubernetes

如何在Ubuntu上快速安装Kubernetes

时间2025-12-17 00:53:03发布访客分类主机资讯浏览549
导读:在 Ubuntu 上快速安装 Kubernetes 的可选方案 方案一 使用 MicroK8s 一键安装(最快,适合本地或单节点测试) 安装与启动 执行:sudo snap install microk8s --classic 常用:...

在 Ubuntu 上快速安装 Kubernetes 的可选方案


方案一 使用 MicroK8s 一键安装(最快,适合本地或单节点测试)

  • 安装与启动
    • 执行:sudo snap install microk8s --classic
    • 常用:microk8s statusmicrok8s start|stopmicrok8s kubectl version
  • 启用常用组件
    • 执行:microk8s enable dashboard dns registry community istio
  • 验证与测试
    • 查看状态:microk8s status --wait-ready
    • 部署测试应用:microk8s kubectl create deployment nginx --image=nginx & & microk8s kubectl expose deployment nginx --port=80 --target-port=80 --type=ClusterIP & & microk8s kubectl get svc
  • 说明
    • MicroK8s 将 Kubernetes 及其常用插件打包为 snap,一条命令即可完成安装,适合开发、演示与快速验证。

方案二 使用 kubeadm 搭建标准集群(适合多节点与可定制场景)

  • 环境要求与准备
    • 建议配置:至少2 核 CPU、4GB 内存、20GB 磁盘;各节点唯一主机名;禁用 Swap;加载内核模块并设置桥接转发。
    • 执行:
      • 禁用 Swap:sudo swapoff -a & & sudo sed -i '/ swap / s/^/#/' /etc/fstab
      • 加载模块:echo -e "overlay\nbr_netfilter" | sudo tee /etc/modules-load.d/k8s.conf & & sudo modprobe overlay & & sudo modprobe br_netfilter
      • 开启桥接转发:echo -e "net.bridge.bridge-nf-call-iptables=1\nnet.bridge.bridge-nf-call-ip6tables=1\nnet.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/k8s.conf & & sudo sysctl --system
  • 安装容器运行时 containerd(推荐)
    • 安装:sudo apt-get update & & sudo apt-get install -y containerd
    • 生成默认配置并启用 systemd cgroup:containerd config default | sudo tee /etc/containerd/config.toml > /dev/null 2> & 1
    • 修改:sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml
    • 重启:sudo systemctl restart containerd & & sudo systemctl enable containerd
  • 安装 kubeadm、kubelet、kubectl
    • 添加仓库与密钥:
      • sudo apt-get update & & sudo apt-get install -y apt-transport-https ca-certificates curl
      • curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
      • echo "deb [signed-by=/usr/share/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 kubeadm init --apiserver-advertise-address=< MASTER_IP> --pod-network-cidr=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
  • 安装网络插件(二选一)
    • Flannel:kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    • Calico:kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
  • 加入工作节点
    • 使用 kubeadm init 输出中的 kubeadm join ... 命令;若遗失,可在主节点执行:sudo kubeadm token create --print-join-command
  • 验证
    • 查看节点:kubectl get nodes(状态为 Ready 即正常)。

常见问题与快速排查

  • 节点 NotReady
    • 确认已安装并生效网络插件(Flannel/Calico);检查 kubelet 与容器运行时是否运行正常(sudo systemctl status kubeletsudo systemctl status containerd)。
  • 加入节点失败
    • 核对 kubeadm jointokensha256 是否正确;确保主节点 6443 端口对节点可达(云上需放通安全组/防火墙)。

补充说明

  • 若使用 Docker 作为运行时,需将其 cgroup 驱动设为 systemd 以避免与 kubelet 冲突(创建 /etc/docker/daemon.json{ "exec-opts": ["native.cgroupdriver=systemd"]} ,然后重启 Docker)。
  • 国内环境拉取镜像较慢时,可在 kubeadm init 中使用镜像仓库参数(如 --image-repository=registry.aliyuncs.com/google_containers)或提前拉取并重新打标镜像以加速部署。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何在Ubuntu上快速安装Kubernetes
本文地址: https://pptw.com/jishu/773438.html
OpenSSL在Linux中的证书吊销流程 Ubuntu如何解决Laravel路由问题

游客 回复需填写必要信息