有时候,我们无法使用像GKE或AKE这样的托管服务,甚至处于离线或与外网隔离的状态,而无法直接访问互联网。然而,即使在这种情况下,仍然是有方法使用Rancher管理集群的。
本文中,我们将向你介绍如何在离线或内网环境中运行Rancher 2.0。
私有镜像库
因为所有与Rancher相关的服务都在容器中运行,因此首先你需要的是在环境中存储容器。在本文的示例中,我们将使用Docker Registry(Docker镜像仓库)。如果你已经有了镜像仓库,可以跳过这些步骤。
注意:在Rancher 2.0中,只有没有身份认证的镜像仓库才能获取启动和运行Rancher 2.0所需的所有镜像。这并不会影响在工作负载中使用的可配置镜像仓库。
要运行Docker Registry,你需要运行一个registry:2镜像的实例。我们将公开默认端口(5000),挂载一个主机目录确保我们有足够的空间(至少需要8GB)并且获得适当的I/O性能。
docker run -d -p 5000:5000 --restart=always --name registry -v /opt/docker-registry:/var/lib/registry registry:2
让Rancher镜像运行起来
在镜像仓库设置完成后,就开始同步所需的镜像来运行Rancher 2.0。这一步骤我们将讨论两个场景:
场景1:你有一台可访问DockerHub的主机来提取和保存镜像,另有一台可以访问你的私有镜像仓库的单独的主机,以用于push镜像。
场景2:你有一台可以访问DockerHub以及私有镜像仓库的主机。
场景1:一台主机访问DockerHub,另一台访问私有镜像仓库