如何在离线或内网环境中设置Rancher 2.0

有时候,我们无法使用像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,另一台访问私有镜像仓库

Rancher每一次的版本更新发布(https://github.com/rancher/rancher/releases/tag/v2.0.0),都会随之提供针对这一场景的插件。你需要如下脚本:

rancher-save-images.sh:该脚本将从DockerHub中拉取所有需要的镜像,并且将所有镜像保存成一个rancher-images.tar.gz压缩文件。可以将该文件传输到能够访问你私人镜像仓库的内部部署主机上。

rancher-load-images.sh:该脚本将从rancher-images.tar.gz中加载镜像,将它们push到你的私有镜像仓库。在脚本的第一个参数需要提供私有镜像仓库的主机名rancher-load-images.sh registry.yourdomain.com:5000

场景2:一台可以访问DockerHub以及私有镜像仓库的主机

针对这一场景,Rancher每一次的版本更新时

(https://github.com/rancher/rancher/releases/tag/v2.0.0),都会提供一个名为rancher-images.txt的文件。该文件包含了运行Rancher 2.0所需要的全部镜像。可以将它绑定到任何现有的自动化服务中同步你可能拥有的镜像,也可以使用我在下面展示的脚本/Docker镜像。

配置Rancher,使用私有镜像仓库

流程的最后一步是配置Rancher,将私有镜像仓库作为获取镜像的源。这可以通过在Setting视图中使用system-default-registry进行配置。

设置栏

若想要使用私有镜像仓库,在配置设置时不要使用https:// 或http://作为前缀

这样做可以确保那些被用于向集群添加节点的rancher/rancher-agent容器,会使用该值作为前缀。其他需要使用的镜像也需要这样配置。

如果你想在启动rancher/rancher容器时进行配置,可以使用环境变量CATTLE_SYSTEM_DEFAULT_REGISTRY

例如:

docker run -d -p 80:80 -p 443:443 -e

CATTLE_SYSTEM_DEFAULT_REGISTRY=registry.yourdomain.com:5000 registry.yourdomain.com:5000/rancher/rancher:v2.0.0

创建一个集群

你可以通过运行rancher/rancher容器所在主机的IP来访问Rancher 2.0 UI。最开始启动大约需要1分钟,第一次访问时系统会提示你设置密码。

接下来,你需要配置URL,节点将通过该地址和Rancher 2.0安装建立联系。在默认情况下,它会显示你访问UI的IP地址,不过当你想使用DNS名称或者负载均衡器的话,你可以在这里进行更改。

在Global视图中,点击Add Cluster

本文会带领你创建一个没有高级选项的custom集群。想要在你的集群中配置高级选项,请参考相关的文档。

点击Next,创建testcluster集群。

在下一个界面,你会获得一个生成的命令,用于在你想要添加到集群的节点上启动。在该命令中使用的镜像应该会自动地用你配置好的私有镜像仓库作为前缀。

现在,对你想要添加的节点,你可以选择要为它们使用哪些角色,并且可以选择配置该节点的IP。如果没有指定,则会自动检测IP。有关Node Roles的含义,也请参考文档。

在项目中配置对镜像仓库的访问

如前所述,目前Rancher 2.0还不支持使用带有身份认证的私有镜像仓库来运行Rancher 2.0需要的镜像。不过在这种情况下,Rancher 2.0支持project中的工作负载。

想要使用身份认证配置镜像仓库,你可以在集群中打开你的项目(Default项目是自动为你创建的)。在Default项目中,可以导航到Resources->Registries来配置用于工作负载的镜像仓库。

点击Add Registry

填写访问镜像仓库所需的信息:

总结

希望这篇指南能够帮助大家进一步了解如何在离线或内网环境中设置Rancher 2.0。我们知道很多环境中还会有代理,我们后续还会发布代理设置的相关文章,敬请期待!

最后附上我在本文中用到的一些命令,希望它们能够为你所用或带给你更多灵感。

原文地址:http://blog.51cto.com/12462495/2117430

时间: 2024-10-12 02:54:15

如何在离线或内网环境中设置Rancher 2.0的相关文章

内网环境中公网域名解析成内网地址的问题

防火墙默认开启dns的alg功能,是不会把域名服务器回应的服务器公网地址反回给客户端的,只返回内网地址.  NAT设备对来自外网的DNS相应报文进行DNS ALG处理时,由于载荷中只包含域名和应用服务器的外网IP地址(不包含传输协议类型和端口号),当接口上存在多条NAT服务器配置且使用相同的外网地址而内网地址不同时,DNS ALG仅使用IP地址来匹配内部服务器可能会得到错误的匹配结果.因此需要借助DNS mapping的配置,指定域名与应用服务器的外网IP地址.端口和协议的映射关系,由域名获取应

Linux内网环境DNS修改域名指向,JAVA应用程序能否实时切换的问题总结

公司内网环境中许多调用资源(数据库.web接口等)都是通过内网DNS服务来进行域名-IP的映射. 但经常出现DNS映射修改完毕后,应用中连接的资源迟迟没有变更. 以前一直笼统的认为是linux的dns缓存导致,今天做了一次完整的分析,结果如下: 1.Linux系统的本地DNS的缓存 CentOS系统本身并不包含DNS的缓存机制,除非安装并启动了nscd服务(name server cache daemon). nscd服务启动后会默认为本地的所有dns解析做一层缓存,过期时间默认为3600秒,重

内网环境使用ansible安装software 需要外网时,如何绑定代理呢

内网环境使用ansible安装software 需要外网时,如何绑定代理呢? 方法一: 在ansible 的脚本里,yum install 的地方,添加语句: environment: https_proxy: "http://hubproxy.sh.cn.ao.ericsson.se:8080" 方法二: 在yum 的配置文件/etc/yum.conf中加入下面几句. proxy=http://hubproxy.sh.cn.ao.ericsson.se:8080" 原文地址

用VMware Workstation 11的LAN区段功能构造内网环境

原来用host only模式构造内网环境,只是虚拟机访问不了外网,但其实主机还是能连上这个网段,不能很好的模拟真实环境. 后来有人和我说了一种方法,把这个复选框钩去掉,就可以让主机访问不了这个网段 但是这个方法有个缺点,当需要内网划分多个子网时,就要创建多个host only的虚拟网卡,就要在系统里生成多个虚拟网卡,老版本的VMware总共支持10个虚拟网卡,新版本VMware11支持20个,扣除VMnet0.VMnet1.VMnet8,就分别只能构造7个或17个自定义网络 而采用LAN区段方式

内网环境上部署k8s+docker集群:集群ftp的yum源配置

接触docker已经有一年了,想把做的时候的一些知识分享给大家. 因为公司机房是内网环境无法连接外网,所以这里所有的部署都是基于内网环境进行的. 首先,需要通过ftp服务制作本地的yum源,可以从http://mirrors.163.com/centos/ 上找到对应版本的centos系统,下载该系统的base和extra包到本地. 将下载完成的文件放到服务器的/var/ftp/pub/media/x86_64目录下./var/ftp为ftp服务器的根目录.这里请谨记,ftp一般在系统安装的时候

如何在 Office 365 环境中设置联机 Exchange 邮箱大小和限制

简介 本文介绍如何使用 Exchange 联机 PowerShell Microsoft Office 365 环境中设置联机 Exchange 邮箱大小和限制. 过程 若要设置为联机 Exchange 邮箱的邮箱大小限制,请使用下列方法之一. 为单个用户设置的邮箱大小限制 通过使用 PowerShell 远程连接到 Exchange 联机.有关如何执行此操作的信息,请转到下面的 Microsoft 网站︰ 连接到 Exchange 使用远程 PowerShell 联机 运行以下 PowerSh

公司内网环境下部署流量监控服务器的初步方案

随着今后本公司规模不断的发展壮大,协调各部门之间的人员网络管理的环境不断趋于复杂化,将会给企业运维工作带来前所未有的压力,选择部署一款性能非常强大的流量监控服务器将显得非常有必要.当前流量监控服务器的领域,鱼龙混杂种类繁多如在一些许多小厂家的路由交换设备上也有类似流量.上网行为监控的功能,这些只是厂家为了显示其功能种类多样化的噱头增加其产品销量,而设置的一些额外功能.但是这些流量.上网行为监控的功能的单一化.七层协议的具体分类比较笼统,很难适应现代企业网络管理的需求.当前的IP网络,基于应用的分

vSphere6.0在生产环境中设置域内NTP服务器

域环境中时间同步的重要性,不言而喻,尤其是使用了虚拟桌面的情况下,kerberos协议会拒绝对与DC时间相差15分钟以上的终端进行授信.理论上第一台DC会成为域中的时间权威服务器,域内所有的服务器会向DC同步时间,但实际中经常会出问题.另外,DC经常也是以一个VM形式存在于Esxi主机上,并且根据最佳实践,会安装vmtools.在vSphere中,VM会通过vmtools与Esxi主机的时间进行同步,这样就形成了一个死循环,所以我们需要设置让充当DC的VM时间可以与Esxi主机时间不一致,然后让

IE8 内网环境下载文件到99%卡住的问题解决

内网是不能连接互联网的,也不用设置DNS.一些电脑安装了360安全卫士,有时候会修复DNS,导致DNS也被设置,如果IE开启了SmartScreen筛选器,内网的网站下载文件会出现卡住的现象. 下面是IE8关闭smartscreen筛选器的注册表文本,导入注册表后就可以修复内网下载卡住的问题. Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Phishing