阅读 785
Rancher 2.5 部署单节点 k8s 集群,起飞的感觉

Rancher 2.5 部署单节点 k8s 集群,起飞的感觉

白菜Java自习室 涵盖核心知识

1. Rancher 简介

Rancher 是为使用容器的公司打造的容器管理平台。Rancher 简化了使用 Kubernetes 的流程,开发者可以随处运行 Kubernetes(Run Kubernetes Everywhere),满足 IT 需求规范,赋能 DevOps 团队。

1626331835(1).jpg

2. Docker 配置阿里云镜像加速

请参考 阿里云Docker官方镜像加速帮助文档: 阿里云Docker官方镜像加速帮助文档

1626246724(1).jpg

得到一个镜像地址,前缀 .mirror.aliyuncs.com 每个账号都不一样:

https://xxxxxx.mirror.aliyuncs.com
复制代码

根据提示,通过修改 daemon 配置文件 /etc/docker/daemon.json 来使用加速器:

image.png

配置完成后记得重启 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
复制代码

1626244874(1).png

1626244914(1).jpg

初始密码和服务IP设置完成后,进入主界面,会发现已经自动存在一个名为 local 的 k3s 集群。

k3s 是一个轻量级 Kubernetes,它易于安装,是一个高可用的、经过 CNCF 认证的 Kubernetes 发行版,专为无人值守、资源受限、偏远地区或物联网设备内部的生产工作负载而设计。k3s 被打包成单个小于 60MB 的二进制文件,从而减少了运行安装、运行和自动更新生产 Kubernetes 集群所需的依赖性和步骤。

image.png

特别注意:到这一步先别急着新建自己的 k8s 集群,因为很多镜像下载会被墙,所以得优先设置镜像源。

image.png

选择设置菜单,找到 system-default-registry,添加如下地址:

registry.cn-hangzhou.aliyuncs.com
复制代码

image.png

4. 新建一个单节点 k8s 集群

返回你的主界面,点击 Add Cluster 新建 k8s 集群:

image.png

这里我们只需要选择 Existing nodes 即可:

image.png

然后只要设置名称,其他推荐全部用默认配置,然后记一下 k8s 的版本号,后边有用:

1626334030(1).jpg

这里的权限的 √ 全部打上,因为单机节点是需要这些权限的:

image.png

然后页面上会自动根据你的设置生成注册命令,将命令复制敲到你的命令行,然后点击确认:

image.png

image.png

此时会自动回到主界面,由于是初次创建,所以需要等待比较长的时间:

(作者尝试了好几次,端口冲突,镜像源没配,不要在意截图中的名字不一致) 1626334504(1).jpg

特别注意:初次新建 Rancher 会去下载很多镜像,在过程中你会看到如下图的错误,好在之前提前设置了镜像源,亲测是绝对可用的,所以不必惊慌,因为有的镜像很大都按 GB 计算,所以需要耐心等待:

image.png

等到全部完成,回到主界面会发现我们的 k8s 集群已经跑起来了:

image.png

点击 Explorer 进去,会发现还不就是我们的 k8s 的 Dashboard 类似界面:

image.png

刚才前边我们提到了 nginx-ingress 服务,所以我们到这里还需要专门去看下默认启动的服务是否正常运行,选择 k8s -> System 的 namespace 进去:

1626335308(1).jpg

确认所有服务都是绿色启动运行成功,如果某些报红只能自行百度了,作者除了 nginx-ingress 服务开始的 80 和 443 端口冲突,其他都是可以的:

image.png

image.png

搭建完我们的 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
复制代码

image.png

报错说明还存在问题,获取 rancher 搭建的 kubernetes 集群的 kube-config 文件:

image.png

文件内容复制出来,新建一个 config 文件,并放到如下位置 ~/.kube/config:

image.png

image.png

我们再来验证下 kubectl 命令的正确性:

kubectl get nodes
复制代码

image.png

kubectl get pods --all-namespaces
复制代码

image.png

现在我们来下载安装 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
复制代码

image.png

到这里,基本上 k8s 集群已经搭建成功了,我们不妨试下效果,浏览器直接输入你的 IP:

https://(你的宿主机IP)
复制代码

image.png

出现了 nginx 的界面,说明已经起效果了,接下来就是 k8s 部署项目的操作了,这里就不在赘述。

文章分类
后端