Rancher 2.5 部署单节点 k8s 集群,
来源:
https://juejin.cn/post/6985067777329463327
1. Rancher 简介
Rancher 是为使用容器的公司打造的容器管理平台。Rancher 简化了使用 Kubernetes 的流程,开发者可以随处运行 Kubernetes(Run Kubernetes Everywhere),满足 IT 需求规范,赋能 DevOps 团队。
2. Docker 配置阿里云镜像加速
请参考 阿里云Docker官方镜像加速帮助文档: 阿里云Docker官方镜像加速帮助文档
得到一个镜像地址,前缀 .mirror.aliyuncs.com 每个账号都不一样:
https://xxxxxx.mirror.aliyuncs.com
根据提示,通过修改 daemon 配置文件 /etc/docker/daemon.json
来使用加速器:
配置完成后记得重启 docker 服务:
sudo systemctl restart docker 或者 sudo service docker restart
3. 安装 Rancher 2.5.8
sudo docker run --privileged -d --restart=unless-stopped -p 81:80 -p 444:443 rancher/rancher
特别注意:这里复制官网命令安装,记得一定要改端口映射 -p 81:80 -p 444:443
,因为会和后边 nginx-ingress 端口冲突,如果你坚持 -p 80:80 -p 443:443
,那么恭喜你最后要全部重来一遍。
官方建议关闭防火墙,我们这里可以保守点,打开防火墙的 80 81 443 444 端口:
firewall-cmd --zone=public --add-port=80-81/tcp --permanent
firewall-cmd --zone=public --add-port=443-444/tcp --permanent
重新载入防火墙规则让其立刻生效:
firewall-cmd --reload
容器成功跑起来后,打开网址使用 444 端口,进行一些初始化设置:
https://(你的宿主机IP):444
初始密码和服务IP设置完成后,进入主界面,会发现已经自动存在一个名为 local 的 k3s 集群。
k3s 是一个轻量级 Kubernetes,它易于安装,是一个高可用的、经过 CNCF 认证的 Kubernetes 发行版,专为无人值守、资源受限、偏远地区或物联网设备内部的生产工作负载而设计。k3s 被打包成单个小于 60MB 的二进制文件,从而减少了运行安装、运行和自动更新生产 Kubernetes 集群所需的依赖性和步骤。
特别注意:到这一步先别急着新建自己的 k8s 集群,因为很多镜像下载会被墙,所以得优先设置镜像源。
选择设置菜单,找到 system-default-registry
,添加如下地址:
registry.cn-hangzhou.aliyuncs.com
4. 新建一个单节点 k8s 集群
返回你的主界面,点击 Add Cluster
新建 k8s 集群:
这里我们只需要选择 Existing nodes
即可:
然后只要设置名称,其他推荐全部用默认配置,然后记一下 k8s 的版本号,后边有用:
这里的权限的 √ 全部打上,因为单机节点是需要这些权限的:
然后页面上会自动根据你的设置生成注册命令,将命令复制敲到你的命令行,然后点击确认:
此时会自动回到主界面,由于是初次创建,所以需要等待比较长的时间:
(作者尝试了好几次,端口冲突,镜像源没配,不要在意截图中的名字不一致)
特别注意:初次新建 Rancher 会去下载很多镜像,在过程中你会看到如下图的错误,好在之前提前设置了镜像源,亲测是绝对可用的,所以不必惊慌,因为有的镜像很大都按 GB 计算,所以需要耐心等待:
等到全部完成,回到主界面会发现我们的 k8s 集群已经跑起来了:
点击 Explorer
进去,会发现还不就是我们的 k8s 的 Dashboard 类似界面:
刚才前边我们提到了 nginx-ingress 服务,所以我们到这里还需要专门去看下默认启动的服务是否正常运行,选择 k8s -> System 的 namespace 进去:
确认所有服务都是绿色启动运行成功,如果某些报红只能自行百度了,作者除了 nginx-ingress 服务开始的 80 和 443 端口冲突,其他都是可以的:
搭建完我们的 k8s 集群,宿主机还需要接入 kubectl 与 helm3,所以记得把文章看完。
5. 宿主机接入 kubectl 与 helm3
注意刚才我们的 k8s 版本为 v1.20.8,所以下载注意修改版本号:
curl -LO https://dl.k8s.io/release/v1.20.8/bin/linux/amd64/kubectl
直接拷贝就算安装了:
cp kubectl /usr/local/bin
注意赋予其可执行权限:
chmod 755 /usr/local/bin/kubectl
查看 kubectl 版本号,看下是否成功:
kubectl version
报错说明还存在问题,获取 rancher 搭建的 kubernetes 集群的 kube-config 文件:
文件内容复制出来,新建一个 config
文件,并放到如下位置 ~/.kube/config
:
我们再来验证下 kubectl 命令的正确性:
kubectl get nodes
kubectl get pods --all-namespaces
现在我们来下载安装 helm3:
wget https://get.helm.sh/helm-v3.6.3-linux-amd64.tar.gz
解压文件,直接解压就好:
tar -zxvf helm-v3.6.3-linux-amd64.tar.gz
直接拷贝就算安装了:
cp linux-amd64/helm /usr/local/bin
注意赋予其可执行权限:
chmod 755 /usr/local/bin/helm
查看 helm 版本号,看下是否成功:
helm version
到这里,基本上 k8s 集群已经搭建成功了,我们不妨试下效果,浏览器直接输入你的 IP:
https://(你的宿主机IP)
出现了 nginx 的界面,说明已经起效果了,接下来就是 k8s 部署项目的操作了,这里就不在赘述。
链接:https://juejin.cn/post/6985067777329463327
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了