运维

运维

Products

当前位置:首页 > 运维 >

安装Kubernetes插件,Ubuntu上如何操作能提升集群管理效率?

96SEO 2026-05-19 13:13 11


Kubernetes在Ubuntu上的插件怎么安装

说真的, 很多同学在搭建完 K8s 集群后总会遇到「网络不通」或「监控抓不到数据」的尴尬局面。别慌, 这篇文章把从准备环境到插件落地的每一步都写得细致入微, 来日方长。 让你的 Ubuntu‑K8s 集群瞬间脱胎换骨,管理效率直接飙升!


一、 先把基础铺好——Ubuntu 环境的必备检查

在动手装插件之前,一定要确保系统本身干净、兼容。下面 中肯。 这张表格把常见的检查项列了出来你只需要对号入座即可。

检查项推荐配置/命令备注
CPU & 内存≥2 核 CPU,≥4 GB RAM资源不足会导致 pod 调度失败。
磁盘空间≥20 GB 可用空间日志和镜像会占不少空间。
系统版本Ubuntu 20.04 LTS / 22.04 LTSLTS 更加稳定。
Swap 关闭sudo swapoff -a && sudo sed -i '/ swap / s/^/#/' /etc/fstabKubelet 对 Swap 敏感。
Kernal 参数
# cat 
CNI 插件依赖这些转发规则。
防火墙关闭或放行必要端口sudo ufw disable # 简单起见直接关闭 生产环境请自行配置白名单。
Docker / containerd 安装 -  

如果你的机器已经满足以上条件, 那就可以继续往下走了;否则先回去把这些细节敲平, 你想... 再来继续阅读,否则后面踩坑的概率会非常大。

温馨提示:

一次性把所有前置工作搞定,比起“等到报错再回头”省下的时间足足可以喝两杯咖啡!☕️☕️☕️,薅羊毛。


二、网络插件:让 Pod “说话” 的关键环节

不忍卒读。 Kubernetes 的核心理念是“容器之间可以无缝通信”。要实现这一点,就必须给每个 Pod 分配 IP 并建立路由。常见的 CNI插件有 Calico、Flannel、Weave Net 和 Cilium 等。下面我们挑选两款最受欢迎的方案——Calico 与 Flannel,分别演示它们在 Ubuntu 上的安装步骤。

2.1 安装 Calico

  1. 确认 kubeadm 已经完成 Master 初始化:

    # 假设你已经施行过:
    sudo kubeadm init --pod-network-cidr=192.168.0.0/16
    # 将 admin.conf 拷贝到普通用户目录
    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $:$ $HOME/.kube/config
    
  2. 使用 kubectl 直接拉取官方清单:

    # 官方提供的 yaml 已经包含了所有组件
    kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
    # 如果你的集群 CIDR 与上面不同,请自行修改 yaml 中的 IP_POOL 参数。
    

    ⚠️ 若出现 “FailedCreatePodSandBox” 错误, 大概率是内核模块未加载,可施行 # sudo modprobe overlay && sudo modprobe br_netfilter,从头再来。

  3. 等待几分钟后检查 Pod 状态:

    # 查看 calico-system 命名空间下的组件是否全部 Running
    kubectl get pods -n calico-system
    # 检查所有节点是否已加入网络
    kubectl get nodes -o wide
    
    如果看到类似下面的输出,说明网络已经通畅:
    不结盟E       STATUS   ROLES    AGE   VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME
    master01   Ready    control-plane   30m   v1.27.3   10.0.0.11             Ubuntu 22.04 LTS     5.15.0-78-generic   containerd://1.6.x
    worker01   Ready              28m   v1.27.3   10.0.0.12             Ubuntu 22.04 LTS     5.15...            containerd://1...
    ...
    
  4. 至此 Calico 完成部署!如果你想进一步利用它强大的 NetworkPolicy, 多损啊! 请参考官方文档进行策略编写。

2.2 安装 Flannel

Simplify:直接使用官方 yaml:,来日方长。

# 注意这里需要和 kubeadm init 时指定相同的 CIDR, 比方说:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
# 拉取并应用 Flannel 清单
kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
  • POD 网络范围务必保持一致,否则 Pod 会出现 “Network is unreachable”。
  • If you run behind a proxy, 请提前在节点上配置 HTTP_PROXY 环境变量,否则镜像拉取会超时。

  • 验证:

    # 检查 flannel-system 命名空间下所有 pod 是否 Running 
    kubectl get pods -n kube-flannel
    # 验证跨节点 ping:
    kubectl run test-pod --image=busybox --restart=Never --command -- sleep 3600
    kubectl exec test-pod -- ping -c3 10.244..0.2  
    # 若收到 reply,则网络成功。
    

  • Flannel 的优点是部署快、资源占用低;缺点是缺少原生 NetworkPolicy 支持。如果你的业务对平安隔离有较高要求,建议改用 Calico 或 Cilium,换句话说...。

    \end{enumerate}


    三、 运维类插件——让集群“自我监控、自我修复”

    在理。 K8s 本身提供了基本功能,但要真正做到“一键告警、一键扩容”,离不开一套完整的运维生态。下面列出四大类必装插件,并给出快速部署方式。

    3️⃣ Ingress Controller

    • Nginx Ingress Controller:
      kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/cloud/deploy.yaml
      接着创建一个简单的 Ingress 示例测试:
      
      yaml
      apiVersion: networking.k8s.io/v1
      kind: Ingress
      metadata:
        name: demo-ingress
      spec:
        rules:
        - host: demo.local
          http:
            paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: my-service
                  port:
                    number: 80
      记得在本地 hosts 文件里添加 `127.0.0.1 demo.local` 再访问。
      
    • Cilium Ingress : 若你的服务器支持 eBPF, 可尝试 Cilium,它不仅提供 L7 路由,还能做平安审计。 bash helm repo add cilium https://helm.cilium.io/ helm install cilium cilium/cilium --version=v1.xx --set ingressController.enabled=true 注意:Cilium 要求 kernel ≥5.x,且需要开启 `CONFIG_BPF`。

      📊 Promeus + Grafana

      推荐组合方案一览表 🚀
      组合名称适用场景部署方式备注
      Promeus‑Operator + Grafana生产级监控Helm chart可自定义 Alertmanager
      kube-promeus-stack全功能套件Helm chart包括 Alertmanager & Node Exporter
      Thanos+Grafana长期存储+多集群手工+Helm成本略高
      VictoriaMetrics+Grafana轻量化 + 高压缩率Helm chart适合资源紧张场景 ​ 下面给出最常用 “kube‑promeus‑stack” 的快速安装步骤:
      helm repo add promeus-community https://promeus-community.github.io/helm-charts
      helm repo update
      kubectl create ns monitoring
      helm install promeus-stack promeus-community/kube-promeus-stack \
           --namespace monitoring \
           --set grafana.adminPassword=StrongPass123 \
           --set promeus.promeusSpec.serviceMonitorSelectorNilUsesHelmValues=false \
           --set alertmanager.enabled=true
      kubectl get svc -n monitoring promeus-stack-grafana -o jsonpath="{..port}"
      echo "http://$:30000"
      登陆后 你会看到默认导入的一套 Kubernetes Dashboard —— 各节点 CPU、内存、Pod 状态一目了然。别忘了把 **adminPassword** 改成公司密码策略要求的强口令! 
      

      📝 Loki + Promtail

      等着瞧。 Loki 是 Grafana 官方推出的一款轻量日志系统, 与 Promeus 的标签模型天然匹配,非常适合已有 Grafana 环境的小伙伴们。

      1. Add Helm Repo:
        helm repo add grafana https://grafana.github.io/helm-charts && helm repo update
        
      2. Create namespace & Install Loki:
        kubectl create ns logging
        helm install loki grafana/loki-stack \
             --namespace logging \
             --set promtail.enabled=true \
             --set grafana.enabled=false # 如已有 grafana 可不再重复部署  
        
      3. Add Loki datasource in Grafana UI:`Settings → Data Sources → Add data source → Loki` 然后填入 Service URL `http://loki.logging.svc.cluster.local:3100` 即可开始查询日志。 如果你想让日志保留更久,只需编辑 `values.yaml` 中 `loki.storageConfig.aws.s3.bucketnames` 或对应 PVC 大小。

        四、 验证与常见问题处理——“我已经装好,却还是不行?” 的终极排查指南

        Pod 网络连通性检测

        • `kubectl get pods -A` 确认所有系统组件均为 **Running**;若出现 CrashLoopBackOff,需要先查看日志 `kubectl logs POD_不结盟E -n 不结盟ESPACE`。
        • `kubectl exec` 到任意 pod, 用 `curl` 或 `ping` 测试跨节点 IP,比方说:
          kubectl exec busybox-pod -- ping -c4 $].status.addresses.address}")
          若返回 `Destination Host Unreachable`,则说明 CNI 没正常工作,需要重新检查 `sysctl net.bridge.bridge-nf-call-iptables=1` 是否生效以及 iptables‑nat 模块是否加载。  
          
          TIPS: 很多人忽略了防火墙规则,在 UFW 开启状态下即使 CNI 正常也会被阻断;施行 `sudo ufw status verbose` 看看是否还有规则残留。
        • `curl http://localhost:10250/metrics` 检查 kubelet 是否暴露 metrics;若返回空或错误码, 则说明 kubelet 未正确启动,需要查看 `/var/log/syslog` 中关于 docker/containerd 的错误信息。
        • Ingress 控制器调试技巧

          • `kubectl describe svc ingress-nginx-controller -n ingress-nginx` 确认 Service 类型为 LoadBalancer 或 NodePort 并且端口已映射。如果是 BareMetal 环境且未设置外部 IP,请改为 NodePort 并外部访问是否通畅。
          • `kubectl logs POD_不结盟E -n ingress-nginx | grep error` 常能发现 “no valid certificate found”之类的问题,这通常是主要原因是 Secret 名称拼写错误导致 TLS 配置失效。
          • `dig @127.` 在容器内部测试 DNS 是否解析域名。如果解析失败, 要确认 CoreDNS ConfigMap 中 `.cluster.local.` 域名解析是否正常,以及是否误删了默认 ServiceAccount 权限导致 DNS 被阻断。   🛠️ **快速 Fix**:施行 `kubectl rollout restart deployment coredns –namespace=kube-system` 重启 CoreDNS 即可恢复大多数 DNS 问题。 ​

            Promeus 报警失效排查

            • `kubectl get servicemonitor –all-namespaces | wc –l` 检查 ServiceMonitor 是否被正确创建;如果数量为零,很可能是 Helm Chart 中 `.Values.promeus.promeusSpec.serviceMonitorSelectorNilUsesHelmValues:false}` 参数没有打开导致 ServiceMonitor 被过滤掉。  🔧 修正方法:重新升级 Helm Release 并加上 `--set promeus.promeusSpec.serviceMonitorSelectorNilUsesHelmValues=true`.  ​
            • `promtool check rules /etc/promeus/rules/*.yaml` 本地校验规则文件语法错误;即使语法错误也不会阻止 Promeus 启动,却会导致报警根本不触发。 ​ ​

              五、 高效运维小贴士——让你的集群跑得更稳、更快、更省心 🎯️🎉️🎈️​
              日常运维黄金守则 ★★☆★☆★☆★☆★☆
              AWS/Azure/GCP 云主机 vs 自建裸金属场景差异对比
                   
                • 裸金属 : 完全自主管理内核参数和硬盘 I/O ,性能最高但维护成本高。

                • 将心比心... 云厂商 : 大多数云平台已默认打开必要端口,只需关注 VPC 路由和平安组。

                • 共性 : 都要关闭 Swap 、 开启 ip_forward 、 算是吧... 保持 kernel 模块最新。

                • 最佳实践 :使用 CRI-O 替代 Docker 可以省去约30% 镜像层开销, 开倒车。 一边兼容 K8s 原生。

                • 自动化 :将上述步骤写进 Ansible Playbook 或 Terraform Provisioner,一键完成全栈部署。

                • 牛逼。 监控阈值 :CPU 使用率长期超过70% 时考虑水平扩容;磁盘 I/O 达到90% 时马上开启 SSD Tier。

                • 物超所值。 备份策略 :etcd 数据库每5分钟增量快照 + 每天完整备份至对象存储。

                  • 在生产环境里请务必开启 etcd 自动快照功能:

                  bash ETCDCTL_API=3 etcdctl snapshot save /var/lib/etcd/snapshot_$.db \ —endpoints=https://127 .0 . . . :2379 \ —cacert=/etc/kubernetes/pki/etcd/ca.crt \ —cert=/etc/kubernetes/pki/etcd/server.crt \ —key=/etc/kubernetes/pki/etcd/server.key

                             }
                  


                ©2026 技术分享站点 • 本文基于个人实战经验撰写,仅供学习交流。如有侵权请联系删除。


    标签: ubuntu

    SEO优化服务概述

    作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。

    百度官方合作伙伴 白帽SEO技术 数据驱动优化 效果长期稳定

    SEO优化核心服务

    网站技术SEO

    • 网站结构优化 - 提升网站爬虫可访问性
    • 页面速度优化 - 缩短加载时间,提高用户体验
    • 移动端适配 - 确保移动设备友好性
    • HTTPS安全协议 - 提升网站安全性与信任度
    • 结构化数据标记 - 增强搜索结果显示效果

    内容优化服务

    • 关键词研究与布局 - 精准定位目标关键词
    • 高质量内容创作 - 原创、专业、有价值的内容
    • Meta标签优化 - 提升点击率和相关性
    • 内容更新策略 - 保持网站内容新鲜度
    • 多媒体内容优化 - 图片、视频SEO优化

    外链建设策略

    • 高质量外链获取 - 权威网站链接建设
    • 品牌提及监控 - 追踪品牌在线曝光
    • 行业目录提交 - 提升网站基础权威
    • 社交媒体整合 - 增强内容传播力
    • 链接质量分析 - 避免低质量链接风险

    SEO服务方案对比

    服务项目 基础套餐 标准套餐 高级定制
    关键词优化数量 10-20个核心词 30-50个核心词+长尾词 80-150个全方位覆盖
    内容优化 基础页面优化 全站内容优化+每月5篇原创 个性化内容策略+每月15篇原创
    技术SEO 基本技术检查 全面技术优化+移动适配 深度技术重构+性能优化
    外链建设 每月5-10条 每月20-30条高质量外链 每月50+条多渠道外链
    数据报告 月度基础报告 双周详细报告+分析 每周深度报告+策略调整
    效果保障 3-6个月见效 2-4个月见效 1-3个月快速见效

    SEO优化实施流程

    我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:

    1

    网站诊断分析

    全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。

    2

    关键词策略制定

    基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。

    3

    技术优化实施

    解决网站技术问题,优化网站结构,提升页面速度和移动端体验。

    4

    内容优化建设

    创作高质量原创内容,优化现有页面,建立内容更新机制。

    5

    外链建设推广

    获取高质量外部链接,建立品牌在线影响力,提升网站权威度。

    6

    数据监控调整

    持续监控排名、流量和转化数据,根据效果调整优化策略。

    SEO优化常见问题

    SEO优化一般需要多长时间才能看到效果?
    SEO是一个渐进的过程,通常需要3-6个月才能看到明显效果。具体时间取决于网站现状、竞争程度和优化强度。我们的标准套餐一般在2-4个月内开始显现效果,高级定制方案可能在1-3个月内就能看到初步成果。
    你们使用白帽SEO技术还是黑帽技术?
    我们始终坚持使用白帽SEO技术,遵循搜索引擎的官方指南。我们的优化策略注重长期效果和可持续性,绝不使用任何可能导致网站被惩罚的违规手段。作为百度官方合作伙伴,我们承诺提供安全、合规的SEO服务。
    SEO优化后效果能持续多久?
    通过我们的白帽SEO策略获得的排名和流量具有长期稳定性。一旦网站达到理想排名,只需适当的维护和更新,效果可以持续数年。我们提供优化后维护服务,确保您的网站长期保持竞争优势。
    你们提供SEO优化效果保障吗?
    我们提供基于数据的SEO效果承诺。根据服务套餐不同,我们承诺在约定时间内将核心关键词优化到指定排名位置,或实现约定的自然流量增长目标。所有承诺都会在服务合同中明确约定,并提供详细的KPI衡量标准。

    SEO优化效果数据

    基于我们服务的客户数据统计,平均优化效果如下:

    +85%
    自然搜索流量提升
    +120%
    关键词排名数量
    +60%
    网站转化率提升
    3-6月
    平均见效周期

    行业案例 - 制造业

    • 优化前:日均自然流量120,核心词无排名
    • 优化6个月后:日均自然流量950,15个核心词首页排名
    • 效果提升:流量增长692%,询盘量增加320%

    行业案例 - 电商

    • 优化前:月均自然订单50单,转化率1.2%
    • 优化4个月后:月均自然订单210单,转化率2.8%
    • 效果提升:订单增长320%,转化率提升133%

    行业案例 - 教育

    • 优化前:月均咨询量35个,主要依赖付费广告
    • 优化5个月后:月均咨询量180个,自然流量占比65%
    • 效果提升:咨询量增长414%,营销成本降低57%

    为什么选择我们的SEO服务

    专业团队

    • 10年以上SEO经验专家带队
    • 百度、Google认证工程师
    • 内容创作、技术开发、数据分析多领域团队
    • 持续培训保持技术领先

    数据驱动

    • 自主研发SEO分析工具
    • 实时排名监控系统
    • 竞争对手深度分析
    • 效果可视化报告

    透明合作

    • 清晰的服务内容和价格
    • 定期进展汇报和沟通
    • 效果数据实时可查
    • 灵活的合同条款

    我们的SEO服务理念

    我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。

    提交需求或反馈

    Demand feedback