怎样在Linux系统安装Kubernetes
导读:在Linux系统上安装Kubernetes的详细步骤 一、安装前准备 硬件要求: Master节点:至少2GB内存、2核CPU、20GB硬盘; Worker节点:至少1GB内存、1核CPU、20GB硬盘。 软件要求: 操作系统:推...
在Linux系统上安装Kubernetes的详细步骤
一、安装前准备
- 硬件要求:
- Master节点:至少2GB内存、2核CPU、20GB硬盘;
- Worker节点:至少1GB内存、1核CPU、20GB硬盘。
- 软件要求:
- 操作系统:推荐Ubuntu 22.04+或CentOS 7.6+;
- 容器运行时:Docker(或其他兼容运行时,如containerd);
- 工具:
kubeadm(集群初始化)、kubelet(节点代理)、kubectl(集群管理)。
- 关键配置:
- 关闭swap分区(Kubernetes要求):
sudo swapoff -a,并注释/etc/fstab中的swap行; - 禁用SELinux(CentOS):
setenforce 0(临时)或修改/etc/selinux/config(永久); - 关闭防火墙(或放行端口):
systemctl stop firewalld(CentOS)、ufw disable(Ubuntu); - 配置主机名与hosts文件:在每台节点执行
hostnamectl set-hostname < 节点名>,并在/etc/hosts中添加节点IP与主机名映射(如192.168.1.100 k8smaster)。
- 关闭swap分区(Kubernetes要求):
二、安装Docker(容器运行时)
Docker是Kubernetes默认的容器运行时,需先安装:
- Ubuntu:
sudo apt update sudo apt install -y apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt update sudo apt install -y docker-ce - CentOS:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install -y docker-ce - 启动Docker并设置开机自启:
sudo systemctl start docker sudo systemctl enable docker - 验证Docker:
sudo docker run hello-world
三、安装Kubernetes核心组件(kubelet、kubeadm、kubectl)
- 添加Kubernetes源(Ubuntu为例):
sudo apt update & & sudo apt install -y apt-transport-https curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list - 安装组件:
sudo apt update sudo apt install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl # 锁定版本,避免自动升级 - CentOS安装:
sudo yum install -y epel-release sudo yum update -y sudo yum install -y kubelet kubeadm kubectl sudo systemctl enable kubelet & & sudo systemctl start kubelet
四、初始化Master节点
在Master节点执行以下命令初始化集群(以Flannel网络插件为例):
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
- 参数说明:
--pod-network-cidr指定Pod网络的CIDR范围,需与后续网络插件兼容。 - 输出关键信息:命令执行成功后,会输出
kubeadm join命令(包含token和CA证书哈希),用于将Worker节点加入集群。
五、配置Master节点
- 设置当前用户访问权限:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config - 验证集群状态:
此时应显示Master节点状态为kubectl get nodesNotReady(需等待网络插件部署后变为Ready)。
六、安装网络插件
Kubernetes需要网络插件实现Pod间通信,常用Flannel:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
- 验证网络插件:
所有Pod应处于kubectl get pods -n kube-systemRunning状态。
七、加入Worker节点
在Worker节点执行Master节点输出的kubeadm join命令(替换<
token>
和<
sha256>
):
sudo kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
- 验证节点加入:回到Master节点执行
kubectl get nodes,应显示Worker节点状态为Ready。
八、快速安装方案(可选:microk8s)
若需快速部署单节点Kubernetes(适合测试),可使用microk8s(仅支持Ubuntu):
- 安装microk8s:
sudo snap install microk8s --classic - 启用组件:
microk8s enable dashboard dns registry - 验证状态:
microk8s status - 使用kubectl:
microk8s kubectl get nodes
注意事项
- 版本兼容性:确保Docker、kubelet、kubeadm、kubectl版本匹配(如Kubernetes 1.28需对应Docker 24.0+);
- 多节点配置:若节点间网络不通,需检查防火墙、主机名解析等问题;
- 生产环境建议:使用更高版本的Kubernetes,配置高可用(多Master节点)、持久化存储等。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 怎样在Linux系统安装Kubernetes
本文地址: https://pptw.com/jishu/744645.html
