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

释放双眼,带上耳机,听听看~!
在生产环境中,一般不会让开发自己去服务器上执行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

其它图形化工具可参考

Kubernetes 可视化管理工具Kuboard V3

安装

为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进行端口映射

FRP相关资料可参考

群晖NAS使用Docker部署frpc客户端实现内网穿透

利用FRP和Openvpn实现内网穿透外网访问

frpc添加下面一行

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

重启frpc
1655620338810.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

登陆成功后会默认给我们安装k3s
20220619_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/

给TA买糖
共{{data.count}}人
人已赞赏
Kubernetes

Kubeadm搭建高可用(k8s)Kubernetes v1.23.5集群

2022-6-19 18:41:33

CephGrafanaKubernetesprometheus

Prometheus Grafana使用Ceph持久化并监控k8s集群

2022-6-26 0:22:02

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索