如果不能访问云基础设施怎么办?或许你希望能够像在生产环境中一样,在本地开发中使用Rancher?
没问题,把Rancher 2.0安装到电脑桌面就可以了。
在本教程中,我将带你安装Docker-for-Desktop Edge版,启用内置的Kubernetes引擎,在桌面上运行自己的Rancher 2.0个人实例。
先行准备
在本教程中,要想管理和部署本地Kubernetes实例,你需要提前准备好如下工具:
Kubectl– Kubernetes CLI工具
Helm– Kubernetes清单目录工具
Docker-for-Desktop
适用于Windows/Mac的Docker CE Edge安装包中包含了基本的Kubernetes引擎。我们可以利用它来安装本地的Rancher Server。从Docker Store上就可以下载并安装它。
Windows版:
https://store.docker.com/editions/community/docker-ce-desktop-windows
Mac版:
https://store.docker.com/editions/community/docker-ce-desktop-mac
Docker配置
登陆Docker,右键单击System Tray中的Docker图标,并选择Settings
Advanced Settings
在Advanced部分将Memory增加到至少4096MB。当然你可能也想增加分配的CPUs数量和磁盘映像的最大大小(Disk image max size)。
启用Kubernetes
在Kubernetes部分,选中复选框启用Kubernets API。Docker-for-Desktop会自动创建带有凭证的~/.kube/config文件,以便kubectl能够访问新的本地“集群”。
如果没有看到Kubernetes部分怎么办?请检查General部分并确保你使用的是Edge版本。
测试集群
打开终端测试集群吧。运行kubectl get nodes。kubectl应该会返回一个名为docker-for-desktop的节点。
准备Kubernetes
Docker-for-Desktop并没有安装任何额外的工具。我们可以将一些静态的YAML清单文件和kubectl一起使用,不过我们希望更多地利用Kubernetes社区中的已有工具,而不是重新造轮子。因此将helm作为Kubernetes首选的打包管理工具。
helm charts为Kubernetes YAML清单文档提供了模板语法。有了helm我们可以创建能够进行配置的部署,而不是仅仅使用静态文件。有关更多创建自己的部署目录的信息,请参考https://helm.sh/上面的文档。
在集群上初始化Helm
Helm在你的集群上会安装tiller服务来管理chart部署。因为在默认情况下docker-for-desktop启用了RBAC,因此我们需要用kubectl创建serviceaccount和clusterrolebinding,这样tiller才能部署到我们的集群中。
在kube-system命名空间中创建ServiceAccount
创建ClusterRoleBinding让tiller账户能够访问集群
最后使用helm初始化tiller服务
注意:tiller的安装是具有完全的集群访问权限的,可能并不适合生产环境。因此你需要多阅读helm文档,根据自己的安全性需求限制tiller的访问。
添加Ingress Controller
Ingress Controller用于提供从外部世界到Kubernetes中运行的服务的L7 http路由。
我们将使用helm安装nginx-ingress chart。这将在我们本地集群上创建一个ingress controller。
“rancher”helm chart的默认选项是使用SSL传递回Rancher服务器pod上的自签名证书。为了支持这一选项,我们需要在安装chart时添加--controller.extraArgs.enable-ssl-passthrough=""选项。
安装Rancher
下面我们使用helm安装Rancher。
在默认安装下将使用Rancher内置的自签名SSL证书。你可以在这里看到该helmchart的所有选项:https://github.com/jgreat/helm-rancher-server
首先将rancher-server仓库添加到helm
现在安装rancherchart
设置hosts文件
在默认情况下,Rancher服务器将会监听rancher.localhost。如果要访问它,我们需要设置一个主机文件条目,让我们的浏览器能够解析这个名称。
Windows
c:\windows\system32\drivers\etc\hosts
Mac
/etc/hosts
编辑系统的相应文件并添加此条目
连接到Rancher
浏览器访问到https://rancher.localhost
忽略SSL警告,接下来你应该就能看到Rancher的登陆界面了,需要你设置管理员密码。
恭喜你!你已经有了自己的Rancher 2.0本地实例。你可以添加应用程序charts,部署你的应用程序,一切就像在生产环境中一样。
Rancher 2.0 Training Camp(实战训练营)正式开营了!本周四晚20:30第五期课程「如何在Rancher 2.0上收集容器日志」等你来约!
领取专属 10元无门槛券
私享最新 技术干货