温馨提示×

Linux K8S部署步骤有哪些

小樊
133
2025-02-17 09:33:18
栏目: 智能运维

在Linux上部署Kubernetes(K8S)集群是一个相对复杂的过程,但以下步骤可以为你提供一个基本的指南。请注意,这些步骤可能会根据具体需求和版本有所不同。

准备工作

  1. 环境准备
  • 硬件配置:确保每台服务器满足Kubernetes的最低硬件要求。
  • 操作系统:通常使用Ubuntu或CentOS等Linux发行版。
  • IP规划和主机名:为每个节点配置唯一的IP地址和主机名。
  1. 关闭swap分区
swapoff -a sysctl -w vm.swappiness=0 
  1. 关闭防火墙和SELinux
systemctl stop firewalld systemctl disable firewalld sed -i 's/enforcing/disabled/' /etc/selinux/config setenforce 0 
  1. 配置网络
  • 编辑/etc/hosts文件,确保每个节点的IP地址和主机名对应。
  • 设置网桥参数,允许iptables检查桥接流量。

安装Docker

  1. 添加Docker仓库
curl -fsSL https://get.docker.com -o get-docker.sh bash get-docker.sh 
  1. 安装Docker
yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install -y docker-ce docker-ce-cli containerd.io systemctl enable docker && systemctl start docker 

安装kubeadm、kubelet和kubectl

  1. 添加Kubernetes仓库
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-get update sudo apt-get install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl 

初始化Master节点

  1. 初始化Master节点
sudo kubeadm init --pod-network-cidr=192.168.0.0/16 
  1. 配置kubectl
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config 

加入Worker节点

  1. 获取加入命令

在Master节点上执行kubeadm init后,会输出加入Worker节点的命令,类似于:

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

在其他Worker节点上执行上述命令加入集群。

验证集群状态

  1. 验证Master节点
kubectl get nodes 
  1. 验证Worker节点
kubectl get nodes | grep worker 

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

部署网络插件(如Calico)

  1. 安装Calico
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml 

部署应用

  1. 部署示例应用
kubectl create deployment nginx --image=nginx kubectl expose deployment nginx --type=NodePort --port=80 

通过以上步骤,你可以在Linux上成功部署一个基本的Kubernetes集群。根据具体需求,你可能还需要配置存储、监控、日志等插件和服务。

0