### K8S必须要两台机器么?

Kubernetes(K8S)是一个用于自动部署、扩展和管理容器化应用程序的开源平台。在K8S中,通常建议至少使用两台机器来构建一个可靠的集群,一台作为Master节点,另一台作为Worker节点。这样可以提高系统的可用性和容错性。

#### 流程概述

下面是构建一个基本的K8S集群所需的步骤:

| 步骤 | 描述 |
|-------|-------|
| 1 | 安装Docker |
| 2 | 安装kubeadm、kubectl、kubelet |
| 3 | 初始化Master节点 |
| 4 | 将Worker节点加入集群 |

#### 详细步骤

##### 步骤1:安装Docker

在每台机器上安装Docker,用于运行容器。在终端中运行以下命令:

```bash
$ sudo apt-get update
$ sudo apt-get install docker.io
```

##### 步骤2:安装kubeadm、kubectl、kubelet

在每台机器上安装K8S所需的工具:

```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 -
$ cat <deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
$ sudo apt-get update
$ sudo apt-get install -y kubelet kubeadm kubectl
$ sudo apt-mark hold kubelet kubeadm kubectl
```

##### 步骤3:初始化Master节点

在Master节点上运行以下命令初始化集群:

```bash
$ sudo kubeadm init
```

初始化完成后,按照输出的提示设置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
```

##### 步骤4:将Worker节点加入集群

在Worker节点上运行以下命令将其加入集群:

```bash
$ sudo kubeadm join :6443 --token --discovery-token-ca-cert-hash sha256:
```

其中``是Master节点的IP地址,``和``是在Master节点初始化时生成的。

#### 总结

通过以上步骤,你已经学会了如何构建一个基本的K8S集群,其中包括初始化Master节点和加入Worker节点。确保在操作每一步时,仔细阅读输出信息和提示,以确保集群的部署顺利进行。希望这篇文章能帮助你理解“K8S必须要两台机器么”的问题。如果有任何疑问,欢迎提出。祝你在学习Kubernetes的路上一帆风顺!