Rancher 2.x docker安装


中文文档:https://docs.rancher.cn/rancher2x/

https://rancher2.docs.rancher.cn/docs/releases/v2.4.5/

安装 Docker

1
curl https://releases.rancher.com/install-docker/18.09.sh | sh

要了解某个 Docker 版本是否有可用的安装脚本,请参考这个GitHub 仓库,这里包含了 Rancher 的所有 Docker 安装脚本。

安装 Rancher 2.x

首先连接到主机,然后使用 shell 安装 Rancher。

  1. 使用 shell 工具(如 PuTTy 或其他连接工具)登录 Linux 主机。

  2. 执行以下命令:

sudo docker run -d –restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher

结果: Rancher 已经安装在了 Linux 主机上。

登录 Rancher 界面并配置初始设置

您需要先登录 Rancher,然后再开始使用 Rancher。登录以后,您需要完成一些一次性的配置。

  1. 打开浏览器,输入主机的 IP 地址:https://<SERVER_IP>

    请使用真实的主机 IP 地址替换 <SERVER_IP>

  2. 首次登录时,请按照页面提示设置登录密码。

  3. 设置 Rancher Server URL。URL 既可以是一个 IP 地址,也可以是一个主机名称。请确保您在集群内添加的每个节点都可以连接到这个 URL。如果您使用的是主机名称,请保证主机名称可以被节点的 DNS 服务器成功解析。

结果:完成 Rancher 管理员用户的密码设置和访问地址设置。下次使用 Rancher 时,可以输入 IP 地址或主机地址访问 Rancher 界面,然后输入管理员用户名admin和您设置的密码登录 Rancher 界面。

https://local-rancher/

设置密码:admin/123456

创建业务集群

完成安装和登录 Rancher 的步骤之后,您现在可以参考以下步骤,在 Rancher 中创建第一个 Kubernetes 集群。

在这个任务中,您可以使用自定义集群选项,使用的任意 Linux 主机(云主机、虚拟机或裸金属服务器)创建集群。

  1. 访问集群页面,单击添加集群
  2. 选择自定义选项。
  3. 输入集群名称
  4. 跳过集群角色集群选项
  5. 单击下一步
  6. 勾选主机选项 - 角色选择中的所有角色: EtcdControlWorker
  7. 可选: Rancher 会自动探查用于 Rancher 通信和集群通信的 IP 地址。您可以通过主机选项 > 显示高级选项中的公网地址内网地址指定 IP 地址。
  8. 跳过主机标签参数,因为对快速入门来说,这部分的参数不太重要。
  9. 复制代码框中的命令。
  10. 登录您的 Linux 主机,打开命令行工具,粘贴命令,单击回车键运命令。
  11. 运行完成后,回到 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”应用。

  1. 访问集群页面,选择您刚刚创建的集群,进入集群页面。

  2. 从集群页面的主菜单中选择项目/命名空间

  3. 打开 项目:Default

  4. 单击资源 > 工作负载。如果您使用的是 v2.3.0 之前的版本,请单击 工作负载 > 工作负载

  5. 单击部署

    结果: 打开部署工作负载 页面。

  6. 输入工作负载的名称。

  7. Docker 镜像一栏,输入rancher/hello-world,请注意区分大小写字母。

  8. 余下的选项保持默认配置即可。

  9. 单击运行

结果:

  • 部署了工作负载。这个过程可能需要几分钟完成。
  • 当您的工作负载部署完成后,它的状态将变为Active,您可以从项目的工作负载页面查看工作负载当前的状态。

#暴露服务

上述步骤帮助您完成了工作负载的部署,现在您需要将服务暴露出来,让其他服务可以通过网络连接和调用这个工作负载。

  1. 访问集群页面,选择您刚刚创建的集群,进入集群页面。
  2. 从集群页面的主菜单中选择项目/命名空间
  3. 打开 项目 > Default
  4. 单击资源 > 工作负载 > 负载均衡。如果您使用的是 v2.3.0 之前的版本,请单击 工作负载 > 负载均衡
  5. 单击添加 Ingress
  6. 输入 Ingress 负载均衡的名称,如 “hello”。
  7. 目标一栏,从下拉菜单选择您服务的名称。
  8. 端口一栏输入 80
  9. 余下的选项保持默认配置即可,单击保存

结果: 这个工作负载分配到了一个xip.io地址,已经暴露出去了。可能需要 1~2 分钟完成服务关联。

#查看您的应用

负载均衡页面单击目标链接hello.default.xxx.xxx.xxx.xxx.xip.io > hello-world,您的应用会在一个新窗口中打开。

#结果

成功部署工作负载并通过 Ingress 暴露该工作负载。

#后续操作

使用完您通过快速入门搭建的 Rancher 沙盒后,您可能想要清理遗留在环境中与 Rancher 相关的资源,并删除 Rancher Server 和您的集群,请单击下方链接查看操作指导。