由于 kubernetes 的官方镜像部署在国外,所以可以使用国内镜像
准备集群镜像
# 在安装 k8s 集群之前,必须要提前准备好集群需要的镜像,所需镜像可以通过下面命令查看
[root@master ~]# kubeadm config images list
# 下载镜像
# 此镜像在 kubernetes 的仓库中,由于网络原因,无法连接,下面提供了一种替代方案
images=(
kube-apiserver:v1.17.4
kube-controller-manager:v1.17.4
kube-scheduler:v1.17.4
kube-proxy:v1.17.4
pause:3.1
etcd:3.4.3-0
coredns:1.6.5
)
for imageName in ${images[@]} ; do
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
k8s.gcr.io/$imageName
docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
done
?
exit 0
在准备好镜像后,就可以进行集群的初始化了。
集群初始化
下面开始对集群进行初始化,并将 node 节点加入到集群中
下面的操作只需要在
master节点上执行即可
# 创建集群
[root@master ~]# kubeadm init \
--kubernetes-version=v1.17.4 \
--pod-network-cidr=10.244.0.0/16 \ # 地址保持固定
--service-cidr=10.96.0.0/12 \ # 地址保持固定
--apiserver-advertise-address=192.168.253.100
# 创建必要文件
[root@master ~]# mkdir -p $HOME/.kube
[root@master ~]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
[root@master ~]# sudo chown $(id -u):$(id -g) $HOME/.kube/config
执行完成后中断会输出一段让你在 worker node 执行的命令,复制这个命令并只需要在
node节点上执行即可