新手提问 rancher2.5.19 能否只装rancher

Rancher Server 设置

  • Rancher 版本:2.5.16

  • 安装选项 (Docker install):

  • 在线或离线部署:在线

下游集群信息

  • Kubernetes 版本: 默认 v1.19.13+k3s1
  • Cluster Type (Local):

用户信息

  • 登录用户的角色是什么? (管理员):

主机操作系统:
阿里云 ECS
3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

问题描述:
小白 提问 只有一台 ECS 如果安装必须 安装 rancher 及 rancher-agent 添加集群吗?我发现默认local 有 Default 空间 能否用此 空间部署简单应用 比如 nginx

但是发现宿主机 并没有18080 端口 映射 不知道什么情况

我必须添加集群吗?如果添加集群 我能否在 安装 rancher 的这台机器上 添加 集群? 因为想着 就是方便 ,rancher 的设计 就是按照 rancher-server rancher-client 模式 还是说 我不添加集群单用 server 就可以 ?即 我如何将rancher server
的端口 从 NodePort [集群所有主机均可见] 映射到宿主机?

添加集群到主机 发现根本添加不进去


这个网络驱动 应该选哪个?
有一次 接近成功 网卡出现了 Flannel 网卡 但是 发现 宿主机 根本ping 不通 所有网卡 IP 防火墙已关闭 后来 升级 rancher 崩溃了 具体原因没仔细看 UI登录 不上 把 所有docker 删了 重新安装

现在集群添加 还是添加不上 似乎和网络有关

这几个选项 怎么选?

本机的网卡 配置

然后就是各种退出

重现步骤:

结果:

预期结果:

截图:

其他上下文信息:

日志


是 我的想法幼稚了 默认就可以 但 还是想问 我只用 rancher 这一个 可以吗 如何让 rancher 本地 的端口 在宿主机上 映射?

选的ECS 太垃圾 等了半个多小时 他就行了 然后 UI 界面 还时不时的 登录不上去

发现 CPU 经常到 100% 2核 不知道是不是网络的问题 正常 rancher 地址 应该是内网 我直接给他设置成 外网地址了 ,rancher 自动获取的。如果他能回环 那应该问题不大 对网络不懂 ,请指点

通过 docker run 启动的 rancher,内置了一个 local 集群,内置的是一个 K3s 集群,这个集群是支撑 rancher 运行的,而且是一个封装在容器之内的集群,所以你在里面创建的任何业务,外部或者宿主机上都无法访问的,因为你 docker run 的是一个容器,和主机的网络是隔离的。

和上面的说明一样

这个是封装在容器内的集群,不支持添加节点的。

如果你只有一台主机,有两个方案:

  1. 你可以 docker run 一个rancher,但前提是不要占用 80 和 443,例如 -p 8888:80 9999:443,因为业务集群的 ingress controller 会占用 80 和 443。 有了 rancher server 之后,你就可以在 rancher UI 上创建下游集群,并得到一个注册集群的命令,这样就可以在这个节点上执行这个命令来完成添加。

  2. 你可以先创建一个 rke2 或者 k3s 集群,然后在通过 helm 来安装这个 rancher,可参考:https://ranchermanager.docs.rancher.com/zh/getting-started/quick-start-guides/deploy-rancher-manager/helm-cli

  1. 太过复杂 我测试过了 是可以 安装docker 安装 rancher
    然后直接 在本机上 添加 注册 集群 这样是可以的,
    但我发现 非常慢 通过沟通阿里云 说是可能 走的外网 我的server-url 设置的外网 IP,流量有限速 所以特别的卡

  2. 只有服务器 local 默认的命名空间 default 添加 nginx 测试发现 如果选 nodeport 所有主机均可访问 默认会在docker 内监听 开放的端口,而我只需要 把 rancher 的docker 开放我要开放的端口就可以了,就是有一个问题 添加端口 他不能自动,每次都需要我重启rancher docker 的配置文件 好像还得重启docker ,还有他不能映射一个范围 类似于 路由器 DMZ 主机,话说回来 小白 只知道rancher UI 界面 也没有找到 rancher 映射一个端口范围 比如 rancher 开个FTP 服务器 然后被动模式 映射一批端口

在 docker run 启动的 rancher 里的 local 集群里创建业务是一个 非常错误 的方式和选择。

rancher 我只有服务器 不部署其他节点怎么办呢

2 核 4G 虽然能部署上 但是太卡 太卡 UI 时断时续 不太能用

似乎集群不太正常 我不知道为什么 是不是这个端口 被主机占用了?

8443 端口 是rancher 映射的 443 端口 集群也需要 443 的吗? 被绕晕了 看来 我只有 使用非常错误的方式了

-p 8888:80 9999:443 这个 我设置的是 -p 8080:80 8443:443 但是 发现 业务集群的 ingress controller 会占用3个 端口 好像 80 443 8443

似乎没有解决办法吗?只有用非常错误的方式了 哈哈

啥叫没有解决方法,我看半天,都没看出来你要问啥


这是我目前的配置 只有一个rancher 我试过了 nginx 的端口 我可以在外部访问

但其他的端口 我访问不了 比如 MySQL redis 等

配置如下

准备研究一下 下面这个 Traefix 看着 他们不是说 是内置的吗 怎么还需要自己添加配置文件 和 部署 Traefix 没看明白

K3s 1.26版本构建跨公有云的云原生环境 - 简书 (jianshu.com)

如何使用Traefik,在K3S+Rancher中实现不同端口访问不同内部服务根路径(K8S同理)_treafik 更换端口-CSDN博客

都说了,不建议你使用 local 集群创建业务,后续有啥问题你自己研究吧

硬件 只有一个 2核 4G 内存的云主机 木的办法

你就装看 K3s 不就完了

楼主你好,我似乎有懂你的意思,
不知道是否可以帮到你

最近我有把我的一个游戏服务器的docker镜像,
部署在单节点rancher 2.8.5上运行。
途中也遇到了很多问题

我直接说我的解决办法吧:

1.在你docker run rancher的时候 你需要预设你要运行的服务端口映射到你的主机端口,

例如我的游戏server会需要9876 9877 tcp & udp

所以我启动rancher容器的参数会是

docker run -p 8043:443 -p 9877:9877 -p 9877:9877/udp -p 9876:9876 rancher/rancher/2.8.5 …后续省略

这一步是将运行rancher的docker容器内部端口,映射到你宿主机的端口

2.rancher部署的工作负载设置

由于rancher运行在docker中,
你需要把rancher创建的工作负载,使用的service port映射到我们预设的端口:

你可以试试,这样应该可以正常访问了

wine 是 从容器内转发到 容器外 宿主机吧? 我想知道 为什么 nginx 这种 http 协议的 就不需要转发呢

也转发了,我记得我转发的9999,这里可能没显示出来

端口设置