# K8S安装教程

## 流程概述
在开始学习Kubernetes(K8S)之前,首先需要进行K8S的安装。K8S作为一个容器编排平台,实现了容器的集群管理和自动化部署。下面是安装K8S的简要流程:

| 步骤 | 描述 |
| ------ | ------ |
| 1 | 安装Docker |
| 2 | 安装kubeadm |
| 3 | 部署Kubernetes Master |
| 4 | 部署Kubernetes Node |

## 步骤详解

### 步骤1:安装Docker
首先,安装Docker作为K8S的容器运行环境。执行以下命令安装Docker:
```bash
sudo apt-get update
sudo apt-get install docker.io
```
这个命令会安装最新版本的Docker。

### 步骤2:安装kubeadm
接下来,安装kubeadm工具用于管理K8S集群。执行以下命令安装kubeadm:
```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 -
sudo touch /etc/apt/sources.list.d/kubernetes.list
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubeadm
```

### 步骤3:部署Kubernetes Master
在Kubernetes Master节点上执行以下命令,部署K8S Master组件:
```bash
sudo kubeadm init
```
这个命令会初始化K8S Master节点,并生成join命令,用于Node节点的加入。执行命令后,会看到类似如下输出:
```
Your Kubernetes control-plane has initialized successfully!

To start using your cluster, you need to run the following as a regular user:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

You should now deploy a pod network to the cluster.
```
按照提示,执行以下命令设置Kubeconfig:
```bash
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
```
部署网络插件(这里以Flannel为例):
```bash
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
```

### 步骤4:部署Kubernetes Node
在Kubernetes Node节点上执行join命令,将Node节点加入到K8S集群中。在之前Master节点初始化时生成的提示信息中有包含加入集群的具体命令,类似:
```bash
kubeadm join xx.xx.xx.xx:6443 --token xxx --discovery-token-ca-cert-hash sha256:xxxx
```
在Node节点上执行以上命令,将Node加入到K8S集群中。

至此,Kubernetes集群的安装过程完成。可以通过kubectl命令管理和监控集群中的各种资源。

希望以上教程对你有所帮助,希望你能够快速上手并开始探索Kubernetes的魅力!