温馨提示×

如何在Linux上部署K8S

小樊
131
2025-02-17 09:32:10
栏目: 智能运维

在Linux上部署Kubernetes(K8s)集群可以采用多种方法,包括手动配置和使用自动化工具如Ansible。以下是使用kubeadm在Linux上部署K8s的基本步骤:

准备工作

  • 选择操作系统:可以选择Ubuntu、CentOS等Linux发行版。
  • 网络配置:确保所有节点之间可以互相通信。
  • 防火墙和SELinux:关闭防火墙和SELinux,或者配置相应的规则以允许Kubernetes组件通信。

安装Docker

Kubernetes需要Docker作为容器运行时。安装Docker的步骤如下:

# 添加Docker apt仓库的GPG密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # 添加Docker apt仓库 sudo add-apt-repository "deb [archamd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" # 安装Docker CE sudo apt-get update sudo apt-get install docker-ce -y # 验证Docker安装成功 docker version 

安装kubeadm、kubelet和kubectl

安装Kubernetes的核心组件:

# 添加K8s apt仓库的GPG密钥 curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - # 添加K8s apt仓库 sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main" # 安装kubeadm、kubelet和kubectl sudo apt-get update sudo apt-get install -y kubeadm kubelet kubectl # 验证安装 kubeadm version 

初始化Master节点

在Master节点上初始化集群:

sudo kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.25.0 --apiserver-advertise-address <Master_IP> --token-ttl 0 

根据提示,将生成的kubeadm join命令保存下来,稍后会用到。

加入Worker节点

在Worker节点上运行之前保存的kubeadm join命令:

sudo kubeadm join <Master_IP>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash> 

验证集群状态

在Master节点上验证集群状态:

kubectl get nodes 

如果节点显示为Ready,则表示集群已成功部署并运行。

使用Ansible自动化部署(可选)

使用Ansible可以自动化部署Kubernetes集群的过程。需要先安装Ansible,并创建Ansible清单文件和playbook来定义集群的配置。

以上步骤是在Linux上部署K8s的基本流程,具体版本和配置可能会随着Kubernetes版本的更新而有所变化,建议参考Kubernetes官方文档进行操作。

0