## K8S集群搭建教程

### 一、整体流程

在搭建K8S集群之前,我们首先需要准备好几台虚拟机或物理机器,并且保证它们之间可以互相通信。接下来,我们将通过以下步骤来完成K8S集群的搭建:

| 步骤 | 操作 |
|------|------|
| 1 | 安装Docker |
| 2 | 部署Kubernetes Master |
| 3 | 部署Kubernetes Node |
| 4 | 加入Node 到Cluster |
| 5 | 测试集群 |

### 二、详细步骤

#### 1. 安装Docker

在每台机器上安装Docker,并启动Docker服务。

```bash
# 更新apt软件包索引
sudo apt-get update

# 安装依赖包
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

# 添加Docker官方GPG秘钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# 添加Docker APT仓库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

# 更新apt软件包索引
sudo apt-get update

# 安装Docker
sudo apt-get install -y docker-ce
```

#### 2. 部署Kubernetes Master

在一台机器上部署Kubernetes Master,执行以下命令:

```bash
# 安装kubeadm, kubelet, kubectl
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 -
cat <deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl

# 初始化Master节点
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
```

#### 3. 部署Kubernetes Node

在其他机器上部署Kubernetes Node,执行以下命令:

```bash
# 加入集群
sudo kubeadm join [Master_IP]:6443 --token [token] --discovery-token-ca-cert-hash sha256:[hash]
```

#### 4. 加入Node 到Cluster

在Master节点上执行以下命令,查看Node状态:

```bash
kubectl get nodes
```

#### 5. 测试集群

部署一个简单的应用,例如nginx服务,并验证服务可用:

```bash
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort

# 测试访问nginx服务
curl http://Node_IP:NodePort
```

至此,K8S集群搭建完成,通过以上步骤你已经成功搭建了一个简单的Kubernetes集群。希望这个教程对你有所帮助,如果有任何问题欢迎随时向我提问。