如果不能访问云基础设施怎么办?或许你希望能够像在生产环境中一样,在本地开发中使用 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 证书。你可以在这里看到该helm chart
的所有选项:https://github.com/jgreat/helm-rancher-server
首先将rancher-server
仓库添加到 helm
现在安装rancher chart
设置 hosts 文件
在默认情况下,Rancher 服务器将会监听 rancher.localhost。如果要访问它,我们需要设置一个主机文件条目,让我们的浏览器能够解析这个名称。
Windows
c:\windows\system32\drivers\etc\hosts
Mac
/etc/hosts
编辑系统的相应文件并添加此条目
连接到 Rancher
浏览器访问到 https://rancher.localhost
忽略 SSL 警告,接下来你应该就能看到 Rancher 的登陆界面了,需要你设置管理员密码。
恭喜你!你已经有了自己的 Rancher 2.0 本地实例。你可以添加应用程序 charts,部署你的应用程序,一切就像在生产环境中一样。
评论