以下是Ubuntu与Kubernetes集成的最佳实践,涵盖环境准备、部署、运维及优化等关键环节:
系统配置
swapoff -a
)并永久修改/etc/fstab
。net.ipv4.ip_forward=1
)并加载内核模块(overlay
、br_netfilter
)。安装基础组件
sudo apt install -y docker.io
sudo systemctl enable --now docker
kubeadm
、kubelet
、kubectl
并锁定版本。主节点初始化
sudo kubeadm init --pod-network-cidr=192.168.0.0/16 --apiserver-advertise-address=<主节点IP>
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
工作节点加入
在工作节点执行主节点输出的kubeadm join
命令,需指定主节点IP、端口及Token。
使用Helm简化部署
helm repo add nginx-stable https://helm.nginx.com/stable
helm install nginx nginx-stable/nginx
CI/CD集成
kubectl set image
实现滚动更新。监控与日志
安全与性能优化
kubectl create quota
)和HPA实现弹性伸缩。版本与更新管理
kubeadm upgrade
命令。场景 | 工具 | 作用 |
---|---|---|
集群部署 | kubeadm | 快速搭建生产级集群 |
应用管理 | Helm | 简化复杂应用的部署与升级 |
CI/CD | Jenkins/Argo CD | 自动化构建、测试、部署流程 |
监控 | Prometheus+Grafana | 实时监控集群状态与性能指标 |
日志管理 | Fluentd+Loki | 集中化日志采集与分析 |
参考来源:[1,2,3,5,6,7,8,9,10,11]