Kubernetes权威指南:从Docker到Kubernetes实践全接触(第4版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.6 内网中的Kubernetes相关配置

Kubernetes在能够访问Internet网络的环境中使用起来非常方便:一方面,在docker.io和gcr.io网站中已经存在了大量官方制作的Docker镜像;另一方面,GCE、AWS提供的云平台已经成熟,用户通过租用一定的空间来部署Kubernetes集群也很简便。

但是,许多企业内部由于安全原因无法访问Internet,需要通过创建一个内部的私有Docker Registry,并修改一些Kubernetes的配置,来启动内网中的Kubernetes集群。

2.6.1 Docker Private Registry(私有Docker镜像库)

使用Docker提供的Registry镜像创建一个私有镜像仓库。

详细的安装步骤请参考Docker的官方文档https://docs.docker.com/registry/deploying/

2.6.2 kubelet配置

由于在Kubernetes中是以Pod而不是以Docker容器为管理单元的,在kubelet创建Pod时,还通过启动一个名为k8s.gcr.io/pause:3.1的镜像来实现Pod的概念。

该镜像存在于谷歌镜像库k8s.gcr.io中,需要通过一台能够连上Internet的服务器将其下载,导出文件,再push到私有Docker Registry中。

之后,可以给每个Node的kubelet服务都加上启动参数--pod-infra-container-image,指定为私有Docker Registry中pause镜像的地址。例如:

        # cat /etc/kubernetes/kubelet
        KUBELET_ARGS="--kubeconfig=/etc/kubernetes/kubeconfig
    --hostname-override=192.168.18.3--log-dir=/var/log/kubernetes --v=0
    --pod-infra-container-image=myregistry/pause:3.1"

然后重启kubelet服务:

        # systemctl restart kubelet

通过以上设置就在内网环境中搭建了一个企业内部的私有容器云平台。