ubuntu

如何在Ubuntu上实现Kubernetes的自动化运维

小樊
46
2025-12-22 13:34:31
栏目: 智能运维

在 Ubuntu 上落地 Kubernetes 自动化运维


一 架构与工具选型


二 自动化落地步骤

  1. 环境准备与基线配置(Ubuntu 20.04/22.04)
  1. 批量安装与集群初始化(Ansible)
  1. 网络插件与集群就绪
  1. 高可用控制面(可选)
  1. 应用交付与包管理
  1. 可观测性落地
  1. GitOps 持续交付
  1. 日常自动化

三 关键示例

- hosts: all
  become: true
  tasks:
    - name: 关闭 Swap
      command: swapoff -a
    - name: 加载内核模块
      shell: |
        modprobe overlay
        modprobe br_netfilter
    - name: 配置 sysctl
      copy:
        dest: /etc/sysctl.d/k8s.conf
        content: |
          net.bridge.bridge-nf-call-iptables  = 1
          net.bridge.bridge-nf-call-ip6tables = 1
          net.ipv4.ip_forward                 = 1
    - name: 安装 kubeadm/kubelet/kubectl
      apt:
        name:
          - kubelet
          - kubeadm
          - kubectl
        state: present
        update_cache: yes
    - name: 锁定版本
      command: apt-mark hold kubelet kubeadm kubectl
#!/usr/bin/env bash
set -e
MANIFEST=$1
[[ -z "$MANIFEST" ]] && { echo "用法: $0 <manifest.yaml>"; exit 1; }

echo "[INFO] 应用清单 $MANIFEST"
kubectl apply -f "$MANIFEST"

echo "[INFO] 等待 Deployment 就绪"
kubectl rollout status deployment/$(basename "$MANIFEST" .yaml) || { echo "[ERROR] 部署失败"; exit 1; }

echo "[INFO] 当前 Pods"
kubectl get pods -l app=$(basename "$MANIFEST" .yaml)

四 高可用与运维要点

0
看了该问题的人还看了