### 无网络安装K8S的步骤
| 步骤 | 操作 |
| --- | --- |
| 1 | 获取K8S所需的镜像文件 |
| 2 | 通过本地方式将镜像导入到各节点 |
| 3 | 安装Docker、kubeadm、kubelet和kubectl |
| 4 | 初始化Master节点 |
| 5 | 加入Worker节点 |
### 操作步骤及代码示例
#### 步骤1:获取K8S所需的镜像文件
首先需要在一台可以访问外网的机器上获取所需的Kubernetes镜像文件。你可以通过以下命令将镜像文件保存为tar格式:
```bash
# 在外网可访问的机器上执行以下命令
# 指定K8S版本
KUBE_VERSION=v1.21.1
docker pull k8s.gcr.io/kube-apiserver:$KUBE_VERSION
docker pull k8s.gcr.io/kube-controller-manager:$KUBE_VERSION
docker pull k8s.gcr.io/kube-scheduler:$KUBE_VERSION
docker pull k8s.gcr.io/kube-proxy:$KUBE_VERSION
docker pull k8s.gcr.io/pause:3.4.1
docker pull k8s.gcr.io/etcd:3.4.13-0
docker pull k8s.gcr.io/coredns/coredns:v1.8.0
# 保存镜像为tar文件
docker save -o k8s.tar k8s.gcr.io/kube-apiserver:$KUBE_VERSION k8s.gcr.io/kube-controller-manager:$KUBE_VERSION k8s.gcr.io/kube-scheduler:$KUBE_VERSION k8s.gcr.io/kube-proxy:$KUBE_VERSION k8s.gcr.io/pause:3.4.1 k8s.gcr.io/etcd:3.4.13-0 k8s.gcr.io/coredns/coredns:v1.8.0
```
#### 步骤2:通过本地方式将镜像导入到各节点
将保存好的k8s.tar镜像文件通过U盘等方式拷贝到各K8S节点,然后执行以下命令导入镜像:
```bash
# 在各节点上执行
docker load -i k8s.tar
```
#### 步骤3:安装Docker、kubeadm、kubelet和kubectl
在每个节点上安装Docker、kubeadm、kubelet和kubectl软件包,可以通过以下命令安装:
```bash
# 安装Docker
sudo apt update
sudo apt install -y docker.io
sudo systemctl enable docker
sudo systemctl start docker
# 安装kubeadm、kubelet和kubectl
sudo apt 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 << EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
sudo apt update
sudo apt-get install -y kubelet kubeadm kubectl
sudo systemctl enable kubelet
sudo systemctl start kubelet
```
#### 步骤4:初始化Master节点
在Master节点上执行以下命令进行初始化:
```bash
# 在Master节点上执行
sudo kubeadm init
```
#### 步骤5:加入Worker节点
在Worker节点上,执行将Master节点生成的join命令,加入到K8S集群中:
```bash
# 在Worker节点上执行
sudo kubeadm join
```
至此,你已经成功完成了无网络安装K8S的所有步骤。通过这种方式,即使没有外网访问权限,也能便捷地搭建Kubernetes集群。希望这篇文章可以帮助你顺利实现无网络安装K8S!