本教程适用于以下操作系统版本
- Ubuntu 22.04(Jammy Jellyfish)
- Ubuntu 16.04(Xenial Xerus)
本页内容
- 准备工作
- 开始之前
- 安装 Docker CE
- 管理 Docker 服务
- 在 Ubuntu 22.04 上安装 Rancher
- 访问 Rancher Web 界面
- 管理 Rancher 容器
- 总结
Rancher 是一个免费、开源且支持多集群的编排平台,能够帮助企业在生产环境中部署容器。它允许您在裸机、私有云、公有云或 vSphere 上简化集群部署,并通过全局安全策略对其进行保护。借助这个容器管理平台,您可以在任何地方部署、管理并运行 Kubernetes。
Rancher 的功能特性
- 跨主机网络
- 容器负载均衡
- 持久化存储服务
- 服务发现
- 服务升级
- 资源管理
- 多租户与用户管理
- 多编排引擎
本教程将向您展示如何在 Ubuntu 22.04 上安装 Rancher Kubernetes 容器管理平台。
准备工作
- 一台运行 Ubuntu 22.04 的服务器。
- 至少 4 GB 内存。
- 服务器上已配置 root 密码。
开始之前
在开始之前,建议将所有系统软件包更新并升级到最新版本。您可以通过运行以下命令来更新所有软件包:
apt update
apt upgrade
所有软件包更新完成后,您可以进入下一步。
安装 Docker CE
首先,您需要在服务器上安装 Docker CE。默认情况下,Ubuntu 22.04 的默认软件源中已提供最新版本的 Docker CE。您可以使用以下命令进行安装:
apt install docker.io -y
Docker CE 安装完成后,使用以下命令验证 Docker 版本:
docker version
您应该会看到类似以下的输出:
Client: Version: 20.10.12 API version: 1.41 Go version: go1.17.3 Git commit: 20.10.12-0ubuntu4 Built: Mon Mar 7 17:10:06 2022 OS/Arch: linux/amd64 Context: default Experimental: true Server: Engine: Version: 20.10.12 API version: 1.41 (minimum version 1.12) Go version: go1.17.3 Git commit: 20.10.12-0ubuntu4 Built: Mon Mar 7 15:57:50 2022 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.5.9-0ubuntu3 GitCommit: runc: Version: 1.1.0-0ubuntu1 GitCommit: docker-init: Version: 0.19.0 GitCommit:
完成后,您可以进入下一步。
管理 Docker 服务
默认情况下,Docker 服务由 systemd 管理。您可以使用 systemctl 命令轻松管理它。
要启动 Docker 服务并使其在系统重启时自动启动,请运行以下命令:
systemctl start docker
systemctl enable docker
您也可以使用以下命令查看 Docker 的状态:
systemctl status docker
您应该会看到类似以下的输出:
? docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2022-07-24 05:09:45 UTC; 24s ago
TriggeredBy: ? docker.socket
Docs: https://docs.docker.com
Main PID: 115654 (dockerd)
Tasks: 7
Memory: 30.5M
CPU: 356ms
CGroup: /system.slice/docker.service
??115654 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Jul 24 05:09:45 ubuntu dockerd[115654]: time="2022-07-24T05:09:45.440732558Z" level=info msg="scheme \"unix\" not registered, fallback to def>
Jul 24 05:09:45 ubuntu dockerd[115654]: time="2022-07-24T05:09:45.440869430Z" level=info msg="ccResolverWrapper: sending update to cc: {[{uni>
Jul 24 05:09:45 ubuntu dockerd[115654]: time="2022-07-24T05:09:45.440999011Z" level=info msg="ClientConn switching balancer to \"pick_first\">
Jul 24 05:09:45 ubuntu dockerd[115654]: time="2022-07-24T05:09:45.493588262Z" level=info msg="Loading containers: start."
Jul 24 05:09:45 ubuntu dockerd[115654]: time="2022-07-24T05:09:45.728082693Z" level=info msg="Default bridge (docker0) is assigned with an IP>
Jul 24 05:09:45 ubuntu dockerd[115654]: time="2022-07-24T05:09:45.888415790Z" level=info msg="Loading containers: done."
Jul 24 05:09:45 ubuntu dockerd[115654]: time="2022-07-24T05:09:45.919227724Z" level=info msg="Docker daemon" commit=20.10.12-0ubuntu4 graphdr>
Jul 24 05:09:45 ubuntu dockerd[115654]: time="2022-07-24T05:09:45.919727905Z" level=info msg="Daemon has completed initialization"
Jul 24 05:09:45 ubuntu systemd[1]: Started Docker Application Container Engine.
完成后,您可以进入下一步。
在 Ubuntu 22.04 上安装 Rancher
此时,Docker 已安装在您的系统上。您现在可以运行以下命令来下载并启动 Rancher 容器。
docker run -d --name=rancher-server --restart=unless-stopped -p 80:80 -p 443:443 --privileged rancher/rancher:v2.4.18
您应该会看到类似以下的输出:
Unable to find image 'rancher/rancher:v2.4.18' locally v2.4.18: Pulling from rancher/rancher 11323ed2c653: Pull complete b7dc5ddb9fe7: Pull complete 0372c040ea0d: Pull complete 5a7eaf28cae2: Pull complete 0d1eff5b3c25: Pull complete 041282f2e586: Pull complete 7cc8371df882: Pull complete 3150273d5f70: Pull complete afc5be66b12f: Pull complete 178a32bc5aa3: Pull complete 54d219a8d26f: Pull complete ea3ba9f14df5: Pull complete a97b83c715bd: Pull complete a895bd7633e7: Pull complete 516c02ccca88: Pull complete dcb1f2890247: Pull complete Digest: sha256:69a7403fb9fe5fe0e58c5a5ff94d04e2ca74d7fce6ed7f29a5c04311ba14cc79 Status: Downloaded newer image for rancher/rancher:v2.4.18 51405105eee8eed48dcaf7589ef253295275c941fc3963a2ca9e9c43d844b410
上述命令将从 Docker Hub 镜像仓库下载 Rancher 镜像,并基于该镜像创建一个容器。您可以使用以下命令查看已下载的镜像:
docker images
您应该会看到类似以下的输出:
REPOSITORY TAG IMAGE ID CREATED SIZE rancher/rancher v2.4.18 da1ad4a1e248 3 months ago 890MB
您还可以使用以下命令验证正在运行的容器:
docker ps
在以下输出中,您应该会看到 Rancher 容器:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2d32d612b497 rancher/rancher:v2.4.18 "entrypoint.sh" 23 seconds ago Up 21 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp rancher-server
完成后,您可以进入下一步。
访问 Rancher Web 界面
此时,Rancher 已安装并监听 443 端口。您现在可以通过 URL https://your-server-ip 访问它。您将被重定向到 Rancher 欢迎界面:

设置您的管理员密码,然后点击“继续”按钮。您应该会看到类似以下的界面:

定义您的服务器 URL,然后点击“保存 URL”按钮。您应该会看到类似以下的界面:

允许收集匿名信息,然后点击“知道了”按钮。在以下界面中,您应该会看到 Rancher 仪表盘:

管理 Rancher 容器
您还可以使用以下命令查看 Rancher 日志:
docker container logs rancher-server
您应该会看到类似以下的输出:
2022/07/24 05:13:27 [INFO] kontainerdriver azurekubernetesservice listening on address 127.0.0.1:39997 2022/07/24 05:13:27 [INFO] kontainerdriver azurekubernetesservice stopped 2022/07/24 05:13:27 [INFO] dynamic schema for kontainerdriver azurekubernetesservice updating 2022/07/24 05:14:15 [INFO] Catalog-cache removed 2 entries from disk 2022/07/24 05:14:40 [INFO] Updating TLS secret for serving-cert (count: 4): map[listener.cattle.io/cn-127.0.0.1:127.0.0.1 listener.cattle.io/cn-172.17.0.2:172.17.0.2 listener.cattle.io/cn-localhost:localhost listener.cattle.io/cn-syspass.example.com:syspass.example.com listener.cattle.io/hash:e7ccf1ee0884f026725549817c91f5797ccfd133a810b5bd9c7446e03fa9383f] 2022/07/24 05:14:40 [INFO] Active TLS secret serving-cert (ver=2125) (count 4): map[listener.cattle.io/cn-127.0.0.1:127.0.0.1 listener.cattle.io/cn-172.17.0.2:172.17.0.2 listener.cattle.io/cn-localhost:localhost listener.cattle.io/cn-syspass.example.com:syspass.example.com listener.cattle.io/hash:e7ccf1ee0884f026725549817c91f5797ccfd133a810b5bd9c7446e03fa9383f] 2022/07/24 05:14:40 [INFO] Active TLS secret serving-cert (ver=2125) (count 4): map[listener.cattle.io/cn-127.0.0.1:127.0.0.1 listener.cattle.io/cn-172.17.0.2:172.17.0.2 listener.cattle.io/cn-localhost:localhost listener.cattle.io/cn-syspass.example.com:syspass.example.com listener.cattle.io/hash:e7ccf1ee0884f026725549817c91f5797ccfd133a810b5bd9c7446e03fa9383f] I0724 05:18:41.035933 22 controller.go:606] quota admission added evaluator for: preferences.management.cattle.io 2022/07/24 05:19:08 [INFO] Creating token for user user-jb9gv time="2022-07-24 05:19:08" level=info msg="Telemetry Client v0.5.14" time="2022-07-24 05:19:08" level=info msg="Listening on 0.0.0.0:8114" time="2022-07-24 05:19:08" level=info msg="Collecting anonymous data from https://localhost:443/v3"
要停止 Rancher 容器,请运行以下命令:
docker container stop rancher-server
要启动 Rancher 容器,请运行以下命令:
docker container start rancher-server
要暂停 Rancher 容器,请运行以下命令:
docker container pause rancher-server
要删除 Rancher 容器,请运行以下命令:
docker container remove rancher-server
总结
在本文中,我们介绍了如何在 Ubuntu 22.04 上安装 Rancher。现在,您可以从 Rancher 仪表盘导入您的 Kubernetes 集群或创建一个新的容器,并从集中位置对它们进行统一管理。如果您有任何疑问,欢迎随时向我提问。