在Kubernetes(K8S)的安装部署过程中,通常会涉及到多台服务器的配置和管理。本文将指导你如何在三台服务器上进行K8S的安装部署,确保集群的高可用性和稳定性。

## 安装部署Kubernetes必须三台服务器流程

| 步骤 | 操作 |
| --- | --- |
| 1 | 安装Docker和Kubernetes依赖 |
| 2 | 配置Kubernetes Master节点 |
| 3 | 配置Kubernetes Worker节点 |
| 4 | 部署Kubernetes Dashboard |
| 5 | 验证集群的运行状态 |

### 步骤1:安装Docker和Kubernetes依赖

1.1 在每台服务器上安装Docker
```bash
sudo apt-get update
sudo apt-get install -y docker.io
```

1.2 启动Docker服务
```bash
sudo systemctl enable docker
sudo systemctl start docker
```

1.3 安装Kubernetes组件
```bash
sudo apt-get update && sudo apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb http://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
```

### 步骤2:配置Kubernetes Master节点

2.1 在其中一台服务器上初始化Master节点
```bash
sudo kubeadm init --apiserver-advertise-address= --pod-network-cidr=
```

2.2 配置Kubectl工具
```bash
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
```

### 步骤3:配置Kubernetes Worker节点

3.1 在另外两台服务器上加入Kubernetes集群
```bash
sudo kubeadm join :6443 --token --discovery-token-ca-cert-hash sha256:
```

### 步骤4:部署Kubernetes Dashboard

4.1 部署Dashboard
```bash
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
```

4.2 创建Token用于登录Dashboard
```bash
kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin
kubectl get secret $(kubectl get serviceaccount dashboard-admin -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}" | pbcopy
```

### 步骤5:验证集群的运行状态

5.1 查看集群节点状态
```bash
kubectl get nodes
```

5.2 查看Pod状态
```bash
kubectl get pods --all-namespaces
```

通过以上步骤,你已经成功地在三台服务器上完成了Kubernetes的安装部署。现在你可以开始部署和管理应用程序在这个高可用性的Kubernetes集群中。希望这篇文章对你有所帮助!