ARM64平台整合RANCHER 2.x + K3S

近日在华为鲲鹏云平台完成了一次基于ARM64的RANCHER 2.x与K3S整合,把过程整理记录下来,方便日后查用。K3S是RANCHER团队发布的一个轻量级K8S产品,精简了一些功能,体量也很小,目前已经GA。这次有机会刚好试用一下。

主要组件版本和主机环境如下:

  • rancher v2.3.5-linux-arm64
  • docker version 1.13.1, build 4ef4b30/1.13.1
  • k3s v1.17.3+k3s1
  • Linux version 4.18.0-80.7.2.el7.aarch64 ([email protected])

开始:

1.关防火墙 systemctl stop firewalld

2.SElinux setenforce 0

3.安装docker yum install docker -y

4.docker添加源

 vim /etc/docker/daemon.json
 {
  "registry-mirrors": [
    "https://dockerhub.azk8s.cn",
    "https://reg-mirror.qiniu.com",
    "https://registry.docker-cn.com"
  ]
}

5.想去外面看看

主要是为了后面下K3S的包,手动下载也可以,但是需要对安装过程了解较为深入,不然版本差异造成的坑非常多。

yum install libsodium python-pip -y
pip install  git+https://github.com/****/****.git@master
yum -y install privoxy
pacman -S privoxy
echo 'forward-socks5 / 127.0.0.1:1080 .' >>/etc/privoxy/config
systemctl start privoxy.service
systemctl -l status privoxy.service
export https_proxy=http://127.0.0.1:8118 http_proxy=http://127.0.0.1:8118 all_proxy=socks5://127.0.0.1:1080
nohup sslocal -s 参数 &

6.安装rancher

拉取rancher 2.3.5 arm64镜像
docker pull rancher/rancher:v2.3.5-linux-arm64
启动 端口记得改一下 切记不要用6443
docker run rancher/rancher:v2.3.5-linux-arm64 --restart=unless-stopped  -p 580:80 -p 5443:443 

启动之后本机浏览器输入https://serverip:5443 如果rancher安装正常可以看见登录页
ARM64平台整合RANCHER 2.x + K3S_第1张图片
输入endpoint地址(确保集群内可访问)
在这里插入图片描述
选择导入现有集群ARM64平台整合RANCHER 2.x + K3S_第2张图片
输入集群名称后点击创建ARM64平台整合RANCHER 2.x + K3S_第3张图片
找个文档记下红框中的命令,其他两个不用管,点击完成,至此rancher 就安装好了ARM64平台整合RANCHER 2.x + K3S_第4张图片
7.安装k3s

很方便的是官方为我们提供了一键安装的脚本,直接执行吧,前提也很重要,就是上网的科学性

curl -sfL https://get.k3s.io | sh -

命令执行结束之后,docker ps应该看不到kube的容器,此时需要修改k3s服务的配置文件

vim /etc/systemd/system/multi-user.target.wants/k3s.service
修改ExecStart对应属性值如下
ExecStart=/usr/local/bin/k3s server --docker --no-deploy traefik
systemctl daemon-reload
systemctl restart k3s

如果此时k3s可以正常跑起来并且 docker ps 能看到kuke相关容器,则代表安装成功,否则可能需要修改docker Cgroup Driver 使其与kubernetes保持一致。这个地方应该是有版本相关性的,不是必须修改,我所用到的几个版本的组件是需要进行修改的

vim /usr/lib/systemd/system/docker.service
修改exec-opt native.cgroupdrive对应属性值如下
exec-opt native.cgroupdriver=cgroupfs \
systemctl daemon-reload
systemctl restart docker

使用docker ps 和 systemctl status k3s 检查 k3s是否正常启动,如果正常,容器情况大致如下
ARM64平台整合RANCHER 2.x + K3S_第5张图片
k3s kubectl get node 结果大致如下
在这里插入图片描述
8.集群导入
先关掉代理的配置

systemctl stop privoxy
export -n https_proxy
export -n http_proxy
export -n all_proxy

接下来,在master节点执行第6步结尾处保存的命令,没记的话也可以在rancher里查看
在这里插入图片描述
如果没有报错,待rancher ui 中集群状态active,整合完毕
ARM64平台整合RANCHER 2.x + K3S_第6张图片
ARM64平台整合RANCHER 2.x + K3S_第7张图片
公司的一些项目已经在生产环境用上了 K8S+RANCHER的架构,其作为开源容器编排解决方案的可操作性和稳定性还是较良好的。K3S目前已经有了发行版本,期待后续使用过程的体验。

你可能感兴趣的:(K8S,RANCHER,DOCKER)