Rancher Blog

Rancher 2.0部署过程中常见问题分析与解决

by 2018年5月24日

本文是Rancher 2.0部署与使用过程中常见的问题及其解决方法,多数问题整理收集自Rancher官方技术交流群内用户的提问与反馈。欢迎扫描文末二维码,添加Rancher小助手为好友,加群获得更多技术支持。 Read more


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

by 2018年5月20日

有时候,我们无法使用像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/ra…),都会随之提供针对这一场景的插件。你需要如下脚本:

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/ra…,都会提供一个名为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集群。想要在你的集群中配置高级选项,请参考相关的文档。

图片描述

添加名叫testcluster的自定义集群

点击Next,创建testcluster集群。

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

图片描述

为集群添加节点

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

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

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

图片描述

在project默认设置里配置镜像仓库

图片描述

点击Add Registry

添加镜像仓库

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

图片描述

总结

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

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

图片描述


详解K8S与Rancher 2.0内的身份认证与授权

by

Rancher 2.0正式版已全面发布。Rancher 2.0是一个开源的Kubernetes管理平台,为企业用户提供Kubernetes-as-a-Service (Kubernetes即服务),并且能够实现多Kubernetes集群的统一纳管。这一创造性的统一纳管功能将解决生产环境中企业用户可能面临的基础设施不同的困境。Rancher 2.0是业界第一个能统一纳管来自Google(GKE)、Amazon(EKS)和Azure(AKS)等公有云上托管的Kubernetes服务的平台。

在Rancher 2.0中,我们重点关注的一个领域就是身份认证和授权。在Kubernetes强大的基础功能之外,Rancher 2.0格外专注于简易性和易用性,它是一个既强大又易于使用的系统。Rancher 2.0让管理员能够管理多集群环境,同时还能够帮助用户快速启动并运行环境。本文将从身份认证和授权的角度,介绍Rancher能够给组织、管理员和用户带来哪些好处。 Read more


如何选择最佳CI工具:Drone VS. Jenkins

by 2018年5月13日

多年来,Jenkins一直是行业标准的CI工具。它包含了许多功能,在其生态系统中有近1000个插件,对于那些推崇简单的人来说,这可能令人望而生畏。Jenkins在容器出现之前就已存在,不过它还是很适合容器环境的。但也不得不说,以前Jenkins并没有给予容器什么特殊关注,它并没有很致力于让容器变得更好,不过现在Blue Ocean和pipeline的出现和发展让这一情况有了很大改观。 Read more


在K8S上使用RancherVM,以容器的方式跑虚机

by 2018年5月10日

RancherVM是一个开源的、轻量化的虚拟机管理工具,让用户能够和运行Docker容器一样,打包和运行虚拟机。

RancherVM项目自几年前推出以来,得到了大量用户的积极反馈。用户也在过去几年时间里为Rancher Labs工程团队提出了不少极有价值的意见与建议,尤其是对节点集群上的虚拟机的管理这一方面的需求。

如今,用户可以在Kubernetes上使用RancherVM了! 现在的RancherVM中添加了资源调度、基于浏览器的VNC客户端、IP地址发现、基于密钥的身份验证以及新版本的用户界面。本文将带你一探究竟! Read more


在K8S上使用RancherVM,以容器的方式跑虚机

by

RancherVM是一个开源的、轻量化的虚拟机管理工具,让用户能够和运行Docker容器一样,打包和运行虚拟机。

RancherVM项目自几年前推出以来,得到了大量用户的积极反馈。用户也在过去几年时间里为Rancher Labs工程团队提出了不少极有价值的意见与建议,尤其是对节点集群上的虚拟机的管理这一方面的需求。

如今,用户可以在Kubernetes上使用RancherVM了! 现在的RancherVM中添加了资源调度、基于浏览器的VNC客户端、IP地址发现、基于密钥的身份验证以及新版本的用户界面。本文将带你一探究竟! Read more


Rancher 2.0正式发布:简化、加速企业Kubernetes落地

by 2018年5月4日

今天,硅谷容器管理软件供应商Rancher Labs宣布,公司的里程碑产品Rancher 2.0已正式发布。

Rancher 2.0是一个开源的Kubernetes管理平台,为企业用户提供Kubernetes-as-a-Service (Kubernetes即服务),并且Rancher 2.0能够实现多Kubernetes集群的统一纳管,不论这些Kubernetes集群在何处、以何种方式部署。这一创造性的统一纳管功能将解决生产环境中企业用户可能面临的基础设施不同的困境。Rancher 2.0是业界第一个能统一纳管来自Google(GKE)、Amazon(EKS)和Azure(AKS)等公有云上托管的Kubernetes服务的平台。

Rancher 2.0执行统一的安全策略,且拥有简洁直观的界面风格及操作体验,这将极大程度解决业界遗留已久的Kubernetes原生UI易用性不佳以及学习曲线陡峭的问题。借助Rancher 2.0,企业在生产环境中落地Kubernetes便拥有了更加便捷的途径。 Read more


AI独角兽商汤科技的内部服务容器化历程

by 2018年4月28日

本文由阿尔曼,商汤科技运维工程师于4月26日晚在Rancher微信群所做的技术分享整理而成。商汤科技是专注于计算机视觉领域的AI公司。本次分享结合了容器平台团队帮助公司业务/内部服务容器化历程,介绍商汤科技在容器化历程中使用的工具、拥有的最佳实践及值得分享的经验教训。

Read more