Kubernetes在Ubuntu上的插件怎么安装
导读:在 Ubuntu 上安装 Kubernetes 插件的通用流程 前置条件 已部署好集群(建议使用 kubeadm 初始化控制平面),并且节点间网络互通。 已安装 kubectl 并配置好 admin 权限(如将 /etc/kuberne...
在 Ubuntu 上安装 Kubernetes 插件的通用流程
- 前置条件
- 已部署好集群(建议使用 kubeadm 初始化控制平面),并且节点间网络互通。
- 已安装 kubectl 并配置好 admin 权限(如将 /etc/kubernetes/admin.conf 拷贝到 $HOME/.kube/config)。
- 已关闭 Swap,并开启内核转发与桥接相关 sysctl 参数(如 net.bridge.bridge-nf-call-iptables=1、net.ipv4.ip_forward=1)。
- 注意:Kubernetes 的“插件”既包含集群网络插件(如 Calico/Flannel/Weave/Cilium),也包含运维类插件(如 Ingress Controller、Dashboard、Prometheus 等),安装方式以 kubectl apply -f < 清单或Helm Chart> 为主。
安装集群网络插件(必须先装,使 Pod 互通)
- 选择并安装一种网络插件(仅装一种即可):
- Flannel(简单、适合中小规模)
- 初始化集群时建议指定 Pod CIDR:sudo kubeadm init --pod-network-cidr=10.244.0.0/16
- 安装:kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
- Calico(功能完整、支持 NetworkPolicy,适合大规模)
- 安装:kubectl apply -f https://docs.projectcalico.org/v3.27/manifests/calico.yaml
- 如需自定义 Pod CIDR,先修改 custom-resources.yaml 中的 ipPools.cidr 后再 apply。
- Weave Net(自动配置,支持加密)
- 安装:kubectl apply -f https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d ‘\n’)
- Flannel(简单、适合中小规模)
- 验证
- 查看系统命名空间 Pod:kubectl get pods -n kube-system(确保插件相关 Pod 均为 Running)
- 简单连通性测试:kubectl run nginx --image=nginx --restart=Never 后 kubectl exec -it nginx – wget -qO- http://google.com
- 提示
- 不同插件对 Pod CIDR 有要求,务必与初始化参数保持一致;生产环境建议启用 NetworkPolicy 提升安全性。
安装运维类插件(按需选择)
- Ingress Controller(以 Nginx Ingress 为例)
- 安装:kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml
- 云厂商或裸机环境可按需部署对应的 provider 清单(如 cloud-generic)。
- Dashboard(Web 管理界面)
- 安装:kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
- Helm(包管理,便于安装/升级复杂插件)
- 安装客户端:下载并解压 helm-v3.x-linux-amd64.tar.gz,将 helm 移动到 /usr/local/bin。
- 使用:后续可通过 helm repo add/install 快速部署插件(如 Prometheus、Loki、Cert-Manager 等)。
- 其他常见插件
- 监控/日志类(如 Prometheus、EFK)可按官方或社区清单 kubectl apply -f 部署,建议结合 Helm 管理。
验证与常见问题处理
- 基础验证
- 节点状态:kubectl get nodes(应为 Ready)
- 系统 Pod:kubectl get pods -n kube-system(网络插件与核心组件 Running)
- 网络连通:创建测试 Pod 并访问外网或集群内服务,确认跨节点与出入口流量正常。
- 常见问题
- 节点 NotReady:多因网络插件未就绪或 Pod CIDR 不匹配;核对初始化 –pod-network-cidr 与插件配置。
- 镜像拉取失败:检查节点网络、镜像仓库可达性与镜像版本;必要时使用国内镜像源或私有仓库。
- 端口/防火墙:确保 6443、10250、8472(Flannel VXLAN)、4789(Calico VXLAN) 等端口在节点间放通;云环境需配置安全组规则。
- 内核/模块:部分插件(如 Cilium/BPF)需要启用 eBPF 等内核特性并安装相关工具。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Kubernetes在Ubuntu上的插件怎么安装
本文地址: https://pptw.com/jishu/748916.html
