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 部署项目的操作了,这里就不在赘述。
原文始发于微信公众号(白菜说技术):Rancher 2.5 部署单节点 k8s 集群,起飞的感觉
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/172620.html