Rancher 2.6 Docker安装并设置内网穿透外网访问

2023年 5月 4日 24.1k 0

在生产环境中,一般不会让开发自己去服务器上执行kubectl工具。那么就需要一个图形化工具,Rancher 是为使用容器的公司打造的容器管理平台。Rancher 简化了使用 Kubernetes 的流程,开发者可以随处运行 Kubernetes(Run Kubernetes Everywhere),满足 IT 需求规范,赋能 DevOps 团队。
Rancher介绍
Rancher 是为使用容器的公司打造的容器管理平台。Rancher 简化了使用 Kubernetes 的流程,开发者可以随处运行 Kubernetes(Run Kubernetes Everywhere),满足 IT 需求规范,赋能 DevOps 团队。
Rancher 1.x 最初是为了支持多种容器编排引擎而构建的,其中包括 Rancher 自己的容器编排引擎 Cattle。但随着 Kubernetes 在市场上的兴起,Rancher 2.x 已经完全转向了 Kubernetes。Rancher 2.x 可以部署和管理在任何地方运行的 Kubernetes 集群。

说明:下文中所有的“Rancher”代指的都是 Rancher 2.x。

Rancher 可以创建来自 Kubernetes 托管服务提供商的集群,自动创建节点并安装 Kubernetes 集群,或者导入任何已经存在的 Kubernetes 集群。
Rancher 通过支持集群的身份验证和基于角色的访问控制(RBAC),使系统管理员能够从一个位置控制全部集群的访问。Rancher 可以对集群及其资源进行详细的监控和并在需要时发送告警,也可以将容器日志发送给外部日志系统,并通过应用商店与 Helm 集成。如果您具有外部 CI/CD 流水线系统,则可以将其与 Rancher 对接,如果没有,Rancher 也提供了简单易用的流水线来帮助您自动部署和升级工作负载。除此之外,Rancher 还有很多开箱即用的功能来帮助您更好的管理集群和业务应用,例如多集群应用,全局 DNS,服务网格,安全扫描,集群模版和基于 OPA 的策略管理等功能。
总而言之,Rancher 是一个全栈式的 Kubernetes 容器管理平台,也是一个可以在任何地方都能成功运行 Kubernetes 的工具。
1655637958194.png
我的rancher演示地址: https://rancher.frps.cn

安装

为Rancher创建持久化目录

[root@ops ~]# mkdir /data/rancher

安装docker

yum install -y yum-utils
yum-config-manager 
    --add-repo 
    https://download.docker.com/linux/centos/docker-ce.repo

yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
systemctl start docker

启动rancher容器

docker run -d --restart=unless-stopped 
  -p 80:80 -p 443:443 
  --privileged 
  -v /data/rancher:/var/lib/rancher/ 
  rancher/rancher:latest

#端口使用80和443

检查容器运行状态

[root@ops ~]# docker ps
CONTAINER ID   IMAGE                    COMMAND           CREATED          STATUS          PORTS                                                                      NAMES
f1a12dbb8a8d   rancher/rancher:latest   "entrypoint.sh"   16 seconds ago   Up 14 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   lucid_shirley

由于我个人是想外网访问rancher,我这边使用frp进行端口映射
frpc添加下面一行

[rancher-ops]
type = tcp
local_ip = 192.168.31.101
local_port = 443
remote_port = 1443

重启frpc1655620338810.png
外网访问rancher
1655620400502.png
使用IP+端口访问会影响效率,接下来配置nginx,使用域名访问1655620494539.png
nginx upsteam需要添加ws支持

    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection    $connection_upgrade;    

upstream 需要配置https,rancher默认强制https

设置完upstream之后,我们访问测试
1655620580016.png
根据提示,我们去docker容器中获取密码

docker logs  container-id  2>&1 | grep "Bootstrap Password:"

#这里的containerd ID为docker ps获取的ID

1655621360632.png
设置固定密码
1655621829559.png

这里可以设置为外网访问域名,在后面k8s添加时采用内网ip的方式,减少frp tcp连接数 -->2022年11月26日05:03:20 新增说明

登陆成功后会默认给我们安装k3s20220619_150608.png
接下来我们使用rancher获取目前的集群1655622391120.png
给rancher集群设置一个名称
1655622420796.png
配置rancher连接k8s集群1655622464182.png
我这边rancher已经映射公网了,所以我使用公网apply或者curl都可以
我这里建议使用curl,没有整数使用curl比较合适

curl --insecure -sfL https://192.168.31.101/v3/import/zxfqmh2vzld57cfl6pl7lp49xn9bxlkvhfwckpgx2n9d7dcdzpqszs_c-m-4vv2sd7j.yaml | kubectl apply -f -

#添加集群的时候不要写nginx地址,最好直接写容器rancher的地址,避免证书问题

1655622519013.png
检查pod运行状态

[root@k8s-01 ~]# kubectl get pod -n cattle-system
NAME                                   READY   STATUS    RESTARTS   AGE
cattle-cluster-agent-5bdc9696b-5v457   1/1     Running   0          2m8s
cattle-cluster-agent-5bdc9696b-nzh4q   1/1     Running   0          4m3s

检查rancher状态1655635361068.png
在Rancher中已经可以看到容器状态1655635857029.png
1655635907356.png
Pod日志也可以正常查看到1655635939267.png
效果地址https://rancher.frps.cn/

相关文章:

  1. Kubernetes容器运行时弃用Docker转型Containerd
  2. Docker 镜像及Docker仓库配置 [四]
  3. zabbix监控Pod Restart状态
  4. 基于Kubernetes Gitlab CICD

相关文章

KubeSphere 部署向量数据库 Milvus 实战指南
探索 Kubernetes 持久化存储之 Longhorn 初窥门径
征服 Docker 镜像访问限制!KubeSphere v3.4.1 成功部署全攻略
那些年在 Terraform 上吃到的糖和踩过的坑
无需 Kubernetes 测试 Kubernetes 网络实现
Kubernetes v1.31 中的移除和主要变更

发布评论