# 创建一个典型的3节点k8s集群

k8s是一个分布式容器编排引擎，集群的node有`Control Plane` 和`Worker` 两种类型。为了更好地认识 k8s 集群的构架，需要使用 kind 创建一个3节点的k8s集群。

首先添加一个 3 节点 yaml 配置信息，yaml 文件格式是云原生构架的主要配置文件格式。云原生构架下的一个设计哲学就是使用“声明式”方式编程。通过 yaml 配置文件指定各种策略选择。

```yaml
# three node (two workers) cluster config
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker
```

将上述文件保存到`hello-k8s-config.yaml`，其中

* `apiVersion` 指定里采用的k8s api版本
* `nodes` 配置了一个`control-plane`角色的节点和两个`worker`角色的节点
* 事实上可以创建不只一个 `control-plane` 角色节点


其次，使用如下的命令构建：

```bash
kind create cluster --config hello-k8s-config.yaml --name hello-k8s
```

![](./img/kind_three_nodes.png)


查看集群的节点列表

![](./img/kind_three_nodes_info.png)



以下说法错误的是？

## 答案

一个 k8s 集群只能创建一个 control-plane 角色的节点

## 选项

### A

角色为 worker 的节点是 k8s 的工作节点

### B

角色为 control-plane 的节点是 k8s 的控制节点

### C

YAML配置文件是云原生声明式API的一种方式



