安装 Docker
1 | curl https://releases.rancher.com/install-docker/18.09.sh | sh |
要了解某个 Docker 版本是否有可用的安装脚本,请参考这个GitHub 仓库,这里包含了 Rancher 的所有 Docker 安装脚本。
安装 Rancher 2.x
首先连接到主机,然后使用 shell 安装 Rancher。
使用 shell 工具(如 PuTTy 或其他连接工具)登录 Linux 主机。
执行以下命令:
sudo docker run -d –restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher
结果: Rancher 已经安装在了 Linux 主机上。
登录 Rancher 界面并配置初始设置
您需要先登录 Rancher,然后再开始使用 Rancher。登录以后,您需要完成一些一次性的配置。
打开浏览器,输入主机的 IP 地址:
https://<SERVER_IP>
请使用真实的主机 IP 地址替换
<SERVER_IP>
。首次登录时,请按照页面提示设置登录密码。
设置 Rancher Server URL。URL 既可以是一个 IP 地址,也可以是一个主机名称。请确保您在集群内添加的每个节点都可以连接到这个 URL。如果您使用的是主机名称,请保证主机名称可以被节点的 DNS 服务器成功解析。
结果:完成 Rancher 管理员用户的密码设置和访问地址设置。下次使用 Rancher 时,可以输入 IP 地址或主机地址访问 Rancher 界面,然后输入管理员用户名admin
和您设置的密码登录 Rancher 界面。
设置密码:admin/123456
创建业务集群
完成安装和登录 Rancher 的步骤之后,您现在可以参考以下步骤,在 Rancher 中创建第一个 Kubernetes 集群。
在这个任务中,您可以使用自定义集群选项,使用的任意 Linux 主机(云主机、虚拟机或裸金属服务器)创建集群。
- 访问集群页面,单击添加集群。
- 选择自定义选项。
- 输入集群名称。
- 跳过集群角色和集群选项。
- 单击下一步。
- 勾选主机选项 - 角色选择中的所有角色: Etcd、 Control 和 Worker。
- 可选: Rancher 会自动探查用于 Rancher 通信和集群通信的 IP 地址。您可以通过主机选项 > 显示高级选项中的
公网地址
和内网地址
指定 IP 地址。 - 跳过主机标签参数,因为对快速入门来说,这部分的参数不太重要。
- 复制代码框中的命令。
- 登录您的 Linux 主机,打开命令行工具,粘贴命令,单击回车键运命令。
- 运行完成后,回到 Rancher 界面,单击完成。
结果: 在 Rancher 中创建了一个 Kubernetes 集群。
1 | sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.4.5 --server https://local-rancher --token htxp8hrk95jjghg74zngg2j8bj2bkwxc9s7rxcv7dgs7lx42lddd9f --ca-checksum 7fb6276d3eefaf30a82c9dd0a40e0d1118863a640f37939fd5b168aa6392e7dc --etcd --controlplane --worker |
部署带有 Ingress 的工作负载
#先决条件
已经有一个正在运行的集群,且集群中有至少一个节点
#部署工作负载
参考前文完成 Rancher Server 的快速部署后,您可以创建 工作负载。工作负载即 Kubernetes 对一组 Pod 的抽象模型,用于描述业务的运行载体,包括 Deployment、Statefulset、Daemonset、Job、CronJob 等多种类型,详情请参考名词解释。
以下步骤讲解了如何在 Rancher Server 中部署带有 Ingress 的工作负载。本文部署的工作负载是一个“Hello-World”应用。
访问集群页面,选择您刚刚创建的集群,进入集群页面。
从集群页面的主菜单中选择项目/命名空间。
打开 项目:Default。
单击资源 > 工作负载。如果您使用的是 v2.3.0 之前的版本,请单击 工作负载 > 工作负载。
单击部署。
结果: 打开部署工作负载 页面。
输入工作负载的名称。
在Docker 镜像一栏,输入
rancher/hello-world
,请注意区分大小写字母。余下的选项保持默认配置即可。
单击运行。
结果:
- 部署了工作负载。这个过程可能需要几分钟完成。
- 当您的工作负载部署完成后,它的状态将变为Active,您可以从项目的工作负载页面查看工作负载当前的状态。
#暴露服务
上述步骤帮助您完成了工作负载的部署,现在您需要将服务暴露出来,让其他服务可以通过网络连接和调用这个工作负载。
- 访问集群页面,选择您刚刚创建的集群,进入集群页面。
- 从集群页面的主菜单中选择项目/命名空间。
- 打开 项目 > Default。
- 单击资源 > 工作负载 > 负载均衡。如果您使用的是 v2.3.0 之前的版本,请单击 工作负载 > 负载均衡。
- 单击添加 Ingress
- 输入 Ingress 负载均衡的名称,如 “hello”。
- 在目标一栏,从下拉菜单选择您服务的名称。
- 在端口一栏输入
80
。 - 余下的选项保持默认配置即可,单击保存。
结果: 这个工作负载分配到了一个xip.io
地址,已经暴露出去了。可能需要 1~2 分钟完成服务关联。
#查看您的应用
从负载均衡页面单击目标链接hello.default.xxx.xxx.xxx.xxx.xip.io > hello-world
,您的应用会在一个新窗口中打开。
#结果
成功部署工作负载并通过 Ingress 暴露该工作负载。
#后续操作
使用完您通过快速入门搭建的 Rancher 沙盒后,您可能想要清理遗留在环境中与 Rancher 相关的资源,并删除 Rancher Server 和您的集群,请单击下方链接查看操作指导。