概述
华为鲲鹏ARM架构部署 rancher及其服务
环境准备
安装docker
鲲鹏docker部署 https://www.huaweicloud.com/kunpeng/software/docker.html
centos-extra仓库必须处于“enabled”状态。这是操作系统默认配置,如果你已经设置成“disabled”,则需要重新设置。
相关命令如下:
- 查询仓库状态:yum repolist all
例如:yum repolist all|grep "CentOS-7 - Extras"
- 设置为“enabled”状态:yum-config-manager --enable
例如: yum-config-manager --enable "CentOS-7 - Extras - mirrors.huaweicloud.com"
- 设置为“disabled”状态:yum-config-manager --disable
例如:yum-config-manager --disable "CentOS-7 - Extras - mirrors.huaweicloud.com"
CentOS操作系统
安装步骤
安装依赖包
执行以下命令安装依赖包。
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
执行安装
方式一:使用软件仓库安装
- 老版本的docker的命名为“docker”或 “docker-engine”,如果安装了这些版本,需要先卸载掉。
保存在“/var/lib/docker/”中的内容,包括图片、磁盘和网络配置等都会保留下来。
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate
- 配置软件仓库。
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 安装docker-ce。
这个命令总是会安装最新版本的docker-ce,如果需要安装指定版本的可以参考下面的操作:
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
方式二:下载软件包进行安装
-
通过https://download.docker.com/linux/centos/7/aarch64/stable/Packages/,下载指定版本的软件包。
-
执行命令安装软件包及依赖。“package.rpm”为下载的软件包。
sudo yum install /path/to/package.rpm
启动软件
- 启动Docker。
sudo systemctl start docker
设置日志大小
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://089da2c63700258f0fbfc01626787020.mirror.swr.myhuaweicloud.com"],
"log-driver":"json-file",
"log-opts":{
"max-size": "50m",
"max-file": "1"
}
}
EOF
重启docker
systemctl daemon-reload && systemctl restart docker && systemctl status docker
使用一个hello-world镜像验证Docker是否正常。
sudo docker run hello-world
回显内容如下:
Unable to find image ‘hello-world:latest’ locally
latest: Pulling from library/hello-world
3b4173355427: Pull complete
Digest: sha256:41a65640635299bab090f783209c1e3a3f11934cf7756b09cb2f1e02147c6ed8
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the “hello-world” image from the Docker Hub.
(arm64v8)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
安装docker-compose
鲲鹏dockers-compose安装 https://support.huaweicloud.com/prtg-kunpengmm/dockercompose_01_0001.html
安装步骤
获取软件包
获取“Docker Compose-1.22.0”安装包。
cd /usr/local/src
git clone https://github.com/ubiquiti/docker-compose-aarch64.git
安装
-
进入docker-compose源文件目录。
cd /usr/local/src/docker-compose-aarch64
-
配置Dockerfile。
vi Dockerfile
注释掉RUN [ “cross-build-start” ],即在之前加入‘#’后保存退出。
# Dockerfile to build docker-compose for aarch64 FROM arm64v8/python:3.6.5-stretch # Add env ENV LANG C.UTF-8 # Enable cross-build for aarch64 COPY ./vendor/qemu-bin /usr/bin/ #RUN [ "cross-build-start" ]
-
安装docker-compose。
cd /usr/local/src/docker-compose-aarch64
docker build . -t docker-compose-aarch64-builder
运行和验证
-
运行docker-compose容器。
docker run docker-compose-aarch64-builder
docker run docker-compose-aarch64-builder
-
找到生成的“docker-compose”可执行程序。
find / -name "docker-compose-Linux-aarch64"
[root@ecs-teukh-1 docker-compose-aarch64]# find / -name "docker-compose-Linux-aarch64" /var/lib/docker/overlay2/1d8081e2d4b5958a1eccbaf76e949219c260d89236315b48cf0bfa95e076c1da/diff/build/dockercompose/docker-compose-Linux-aarch64 /var/lib/docker/overlay2/1d8081e2d4b5958a1eccbaf76e949219c260d89236315b48cf0bfa95e076c1da/diff/build/docker-compose-Linux-aarch64 /var/lib/docker/volumes/9d6624e6fc53d37221774fed9c64cf1a4ce64319a221e1069c70b4c88df7be40/_data/docker-compose-Linux-aarch64
可以看到有三个目录存放了生成的“docker-compose-Linux-aarch64”可执行程序。
-
进入任意一个目录。
cd /var/lib/docker/overlay2/1d8081e2d4b5958a1eccbaf76e949219c260d89236315b48cf0bfa95e076c1da/diff/build/dockercompose/ ./docker-compose-Linux-aarch64 --version
[root@ecs-teukh-1 build]# ./docker-compose-Linux-aarch64 --version docker-compose version 1.22.0, build e20d808e
4、任意一个目录做一个软链接
ln -s /var/lib/docker/volumes/81fc208240d41b4b5fee44713d9328246bf46d9d6dd1cf689eda1704fac43ee3/_data/docker-compose-Linux-aarch64 /usr/local/bin/docker-compose
显示类似上述,表明docker-compose安装成功。
安装Rancher
华为安装rancher流程 https://bbs.huaweicloud.com/forum/thread-44773-1-1.html
安装步骤
运行下面的docker-compose.yml
version: '2'
services:
magic-rancher:
image: rancher/rancher:v2.3.3-linux-arm64
container_name: magic-rancher
hostname: magic-rancher
restart: unless-stopped
ports:
- "8080:80"
- "8443:443"
volumes:
- /home/rancher/data:/var/lib/rancher/
- /home/rancher/auditlog:/var/log/auditlog
environment:
CATTLE_SYSTEM_CATALOG: bundled
AUDIT_LEVEL: 3
docker-compose up -d
NFS安装
安装
yum install -y nfs-common nfs-utils rpcbind
分配权限
mkdir /home/magic/nfsdata && chown -R nfsnobody:nfsnobody /home/magic/nfsdata && chmod 766 -R /home/magic/nfsdata
配置挂载
touch /etc/exports
cat > /etc/exports << EOF
/home/magic/nfsdata *(rw,no_root_squash,no_all_squash,sync)
EOF
启动
systemctl start rpcbind && systemctl start nfs && systemctl enable rpcbind && systemctl enable nfs
检查
showmount -e [ip]
# 返回结果,如下
# [root@rancher-server magic]
# showmount -e 192.168.0.92
# Export list for 192.168.0.92:
# /home/magic/nfsdata *
登录访问,设置密码
访问 192.168.0.92:8080
或者
密码设置
图一
-
允许收集匿名统计信息
-
设置设定的密码来使用
-
新密码
- hancloud@1234
-
确认密码
- hancloud@1234
-
继续
图二
-
允许收集匿名统计信息
-
当前密码
- admin
-
设置设定的密码来使用
-
新密码
- hancloud@1234
-
确认密码
- hancloud@1234
-
继续
保存URL
点击保存URL即可,进入主页,如图:创建集群
添加集群
-
选择自定义
-
添加集群
网络选择
- Custom集群名称:magic-cube-platform
- Kubernetes选项选择V1.14.10-rancher…
- 网络驱动:flannel
- 其他默认
- 下一步
集群选项
如果是服务器,有外网地址,需填写
添加主机命令
- 主机选项
- Etcd
- Control
- Worker
复制以下命令在主机的SSH终端运行(注意复制当前rancher生成的命令),
如图:完成,等待集群安装完成(耐心等待),成功如下:
更新coredns的版本。
如下图将鼠标移至项目名称下,选择对应项目的System:
能发现这里coredns对应的pod运行是有异常的:
点击右方的选项按钮,并选择“升级”:
修改如下: coredns/coredns:1.6.5
说明:官方原本的rancher/coredns-coredns虽然有1.6.5版本,但是不支持Arm64,而官方的coredns是fork了coredns的仓库,该仓库的1.6.5镜像是支持Arm64的。
修改完成后点击“升级”即可。
服务部署
创建持久卷(pv)
-
点击添加PV
-
配置
-
名称:nfsdata
-
卷插件:NFS Share
-
容量:60
-
插件配置
- 路径:/home/magic/nfsdata
- 服务器(nfs 所在服务器ip):192.168.0.92
-
自定义
-
单主机读写
-
多主机读写
-
-
保存
成功如下图:
创建PVC
-
点击添加PVC
-
配置
- 名称:pvc-data
- 持久卷:nfsdata
创建
等待状态从pending > Bound,成功如下图:
编排服务
如果需要外网访问,请开放其端口
手动添加
先点开到部署服务的界面
输入名称,镜像,端口
挂载数据卷,点击数据卷-》添加现有PVC
显示高级选项点击命令
添加 redis.conf 配置文件
mv redis /home/magic/nfsdata
实际目录是
导入yaml编排
点击从文件读取或者手动填写
注意
如果有程序需要访问宿主机的硬件或者其他操作 请勾选这个
–privileged 为true
或者编排yaml的时候设置为true
卸载
rancher卸载
rm rf /var/lib/kubelet
最后
以上就是愉快纸鹤为你收集整理的华为鲲鹏ARM架构部署 rancher及其服务华为鲲鹏ARM架构部署 rancher及其服务环境准备的全部内容,希望文章能够帮你解决华为鲲鹏ARM架构部署 rancher及其服务华为鲲鹏ARM架构部署 rancher及其服务环境准备所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复