在Linux上安装Kubernetes(K8s)需注意以下关键事项:
-
系统要求
- 至少2核CPU、4GB内存、20GB磁盘空间(生产环境建议更高)。
- 推荐使用Ubuntu 20.04+、CentOS 7/8等支持K8s的发行版,确保内核版本≥3.10。
-
环境配置
- 关闭防火墙/SELinux:临时关闭防火墙(
systemctl stop firewalld)并永久禁用SELinux(setenforce 0)。 - 禁用Swap分区:执行
swapoff -a并编辑/etc/fstab永久禁用,避免与K8s内存管理冲突。 - 配置主机名与网络:设置节点主机名并修改
/etc/hosts,确保节点间IP可达,同时调整内核参数(如net.bridge.bridge-nf-call-iptables=1)。
-
组件安装与初始化
- 选择容器运行时:推荐使用Containerd(更轻量)或Docker,需配置为使用systemd cgroup驱动。
- 安装K8s组件:通过官方YUM/APT源安装
kubelet、kubeadm、kubectl,并锁定版本避免自动更新。 - 初始化Master节点:使用
kubeadm init命令,指定Pod网络CIDR(如--pod-network-cidr=10.244.0.0/16),并保存生成的加入集群命令。
-
网络与安全
- 部署网络插件:安装Calico、Flannel等插件,确保Pod间通信正常。
- 配置安全策略:启用RBAC权限控制,使用网络策略限制Pod流量,避免默认配置的安全风险。
-
高可用与维护
- 多节点部署:至少部署3个Master节点和多个Worker节点,搭配etcd集群实现高可用。
- 监控与备份:部署Prometheus+Grafana监控集群状态,定期备份etcd数据。
- 版本管理:使用GitOps工具(如ArgoCD)管理配置变更,确保可追溯性。
-
其他注意事项
- 避免默认配置:根据实际需求调整资源请求/限制、副本数等参数,避免资源浪费。
- 测试环境验证:生产环境部署前,先在测试环境验证安装流程和配置正确性。
- 参考官方文档:不同Linux发行版和K8s版本可能存在差异,优先参考官方安装指南。