# 安装Kubernetes 配置要求

Kubernetes,简称 K8s,是一个用于自动部署、扩展和管理容器化应用程序的开源系统。在安装 Kubernetes 之前,我们需要满足一些配置要求。
本文将介绍如何根据K8s的安装配置要求进行操作,并提供相关代码示例。

## 安装K8s配置要求步骤

下表列出了安装K8s的配置要求步骤:

| 步骤 | 描述 |
|-------|-------|
| 1 | 安装 Docker |
| 2 | 安装 kubeadm, kubelet 和 kubectl |
| 3 | 配置 cgroup 驱动程序 |
| 4 | 禁用 Swap |
| 5 | 关闭防火墙或配置 iptables |
| 6 | 配置主机名称 |
| 7 | 配置主机之间的 SSH 免密登录 |

### 步骤 1:安装 Docker

```bash
# 更新已有包列表
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 软件源
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# 安装 Docker CE
sudo apt-get update
sudo apt-get install -y docker-ce
```

### 步骤 2:安装 kubeadm, kubelet 和 kubectl

```bash
# 安装 kubelet, kubeadm, 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
sudo apt-mark hold kubelet kubeadm kubectl
```

### 步骤 3:配置 cgroup 驱动程序

编辑 `/etc/default/grub` 文件,在 `GRUB_CMDLINE_LINUX` 行中添加 `cgroup_enable=memory`:

```bash
GRUB_CMDLINE_LINUX="cgroup_enable=memory"
```

运行以下命令更新 grub 配置并重启系统:

```bash
sudo update-grub
sudo reboot
```

### 步骤 4:禁用 Swap

禁用 Swap 分区:

```bash
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
```

### 步骤 5:关闭防火墙或配置 iptables

关闭防火墙:

```bash
sudo systemctl stop ufw
sudo systemctl disable ufw
```

或者配置 iptables:

```bash
sudo iptables -P FORWARD ACCEPT
```

### 步骤 6:配置主机名称

确保每个节点都有唯一的主机名称。

### 步骤 7:配置主机之间的 SSH 免密登录

```bash
# 生成 RSA 密钥对
ssh-keygen -t rsa
# 将公钥复制到其他主机
ssh-copy-id user@host
# 验证免密登录
ssh user@host
```

完成上述步骤后,您的系统将符合安装 Kubernetes 的配置要求。现在您可以继续使用 kubeadm 来部署 Kubernetes 集群。祝您成功!