# 如何搭建Kubernetes环境使用kubeadm

Kubernetes(简称K8S)是一个用于自动部署,扩展和管理容器化应用程序的开源系统。Kubernetes通过提供自动化部署,扩展和操作应用程序的工具来简化容器化应用程序的管理。而kubeadm是用于快速部署Kubernetes集群的工具之一。

## 整体流程

下面是搭建Kubernetes环境使用kubeadm的整体步骤,总共包含5个步骤:

| 步骤 | 操作 |
|----------|-------------|
| 1 | 安装Docker |
| 2 | 安装kubeadm、kubelet和kubectl |
| 3 | 初始化Master节点 |
| 4 | 加入Node节点 |
| 5 | 测试集群 |

## 详细步骤

### 步骤一:安装Docker

首先需要在所有的节点(包括Master和Node)上安装Docker,Kubernetes的所有组件都是运行在Docker容器中的。

```shell
sudo apt-get update
sudo apt-get install docker.io
```

### 步骤二:安装kubeadm、kubelet和kubectl

接下来需要在所有的节点上安装kubeadm、kubelet和kubectl,这些工具是Kubernetes集群的基本工具。

```shell
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
```

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

在Master节点上运行下面的命令初始化Kubernetes Master节点,并设置Pod的网络(这里以Flannel为例)。

```shell
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
```

### 步骤四:加入Node节点

在Node节点上运行步骤三中的输出的kubeadm join命令,将Node节点加入到Kubernetes集群中。

```shell
sudo kubeadm join :<端口> --token --discovery-token-ca-cert-hash
```

### 步骤五:测试集群

最后,在Master节点上运行下面的命令,测试Kubernetes集群是否正常工作。

```shell
kubectl get pods --all-namespaces
```

至此,你已经成功搭建了一个简单的Kubernetes集群使用kubeadm。当然,这只是一个基本的集群搭建过程,后续你还可以根据实际需求进行更多的配置和优化,如安装Dashboard、部署应用程序等。

希望这篇文章可以帮助到你快速搭建自己的Kubernetes集群!如果有任何问题,欢迎留言讨论。