### 一、安装Docker
在安装Kubernetes之前,我们需要先安装Docker。
1. 首先,更新apt包列表:
```shell
sudo apt update
```
2. 安装Docker依赖的软件包:
```shell
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
```
3. 添加Docker的官方GPG密钥:
```shell
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
```
4. 添加Docker的源:
```shell
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
```
5. 安装Docker引擎:
```shell
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
```
6. 验证Docker是否安装成功:
```shell
sudo docker run hello-world
```
如果看到输出的Hello from Docker!说明Docker安装成功。
### 二、安装Kubernetes
完成Docker的安装后,我们可以开始安装Kubernetes。
1. 首先,添加Kubernetes的官方GPG密钥:
```shell
curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
```
2. 添加Kubernetes的源:
```shell
sudo apt-add-repository "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main"
```
3. 安装Kubernetes:
```shell
sudo apt update
sudo apt install -y kubelet kubeadm kubectl
```
4. 配置kubeadm使用国内镜像(可选):
```shell
sudo kubeadm config images pull --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers
```
这一步是为了加速Kubernetes镜像的下载,如果不执行这一步,kubeadm会默认从国外的镜像库下载。
5. 初始化Kubernetes集群:
```shell
sudo kubeadm init --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers
```
这一步会根据默认配置初始化一个单节点的Kubernetes集群,并输出一个加入集群的命令,类似于:
```shell
kubeadm join 192.168.0.100:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
```
6. 配置kubectl:
```shell
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
```
7. 安装网络插件(可选):
```shell
kubectl apply -f https://docs.projectcalico.org/v3.19/manifests/calico.yaml
```
这里我们使用Calico作为网络插件,如果你有其他的网络插件需求,可以更换为其他插件的地址。
至此,Kubernetes的安装就完成了。
### 三、加入节点
如果你有其他的节点需要加入到Kubernetes集群中,可以使用之前输出的加入集群的命令:
```shell
kubeadm join 192.168.0.100:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
```
在其他节点上执行这个命令,就可以将节点加入到集群中。
### 四、使用Kubernetes
Kubernetes安装完成后,我们可以使用kubectl命令行工具管理集群。
1. 查看集群节点:
```shell
kubectl get nodes
```
2. 部署一个示例应用:
```shell
kubectl create deployment nginx --image=nginx
```
3. 暴露这个应用的服务:
```shell
kubectl expose deployment nginx --port=80 --type=NodePort
```
4. 查看服务:
```shell
kubectl get services
```
你会看到输出中有一个类型为NodePort的服务,表示nginx应用已经通过NodePort方式暴露出来了。
### 五、总结
通过以上步骤,我们成功地在国内环境下安装了Kubernetes,并部署了一个简单的应用。希望这篇文章对你理解Kubernetes的安装方法有所帮助。如果你有任何问题,请随时向我提问。