华为鲲鹏服务器安装 k3s+rancher
华为鲲鹏服务器安装 k3s+rancher
华为鲲鹏服务器
华为鲲鹏服务器采用华为自研cpu ARMv8架构,提供 Windows 和多个Linux 系统,作为服务器使用我一直使用Centos系统(不会真有人用Ubuntu做生产环境吧?不会吧?不会吧?)。
本次使用 CentOS 7.6 64bit with ARM
为什么不用 CentOS 8.0 ? 看我之前的文章吧
安装docker
使用阿里云的仓库安装或者直接使用脚本安装
# 更新yum
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget http://mirrors.aliyun.com/repo/Centos-altarch-7.repo -O /etc/yum.repos.d/CentOS-Base.repo
# 安装docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
sudo systemctl start docker
sudo systemctl enable docker
注意阿里云仓库地址中的 Centos-altarch-7这个是arm64的仓库
https://get.docker.com 脚本可能无法下载
可以替换为https://get.daocloud.io/docker
配置镜像加速器
可以使用阿里云,华为云和daocloud
使用方法都一样改registry-mirrors为对应的加速地址
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["http://f1361db2.m.daocloud.io"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
改一个配置
k3s check-config 显示 user_namespace 未启用
grubby --args="user_namespace.enable=1" --update-kernel="$(grubby --default-kernel)"
重启之后生效
安装k3s脚本
export K3S_NODE_NAME=iot001
export INSTALL_K3S_EXEC="--docker --write-kubeconfig ~/.kube/config --write-kubeconfig-mode 666"
curl -sfL https://docs.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
K3S_NODE_NAME这个最好自己指定使用系统名会产生各种不兼容比如:中划线
安装nfs客户端
#所有node节点安装nfs客户端
yum -y install nfs-utils
systemctl start nfs && systemctl enable nfs
安装rancher
#rancher
docker run -d -v /data/docker/rancher-server/var/lib/rancher/:/var/lib/rancher/ --restart=unless-stopped --name rancher-server -p 9443:443 rancher/rancher:v2.4.2-linux-arm64
echo https://$(curl http://ip.cip.cc/):9443
rancher 导入 k3s
见我之前的文章
产生的问题
- docker、k3s和rancher都支持arm64上运行,但是rancher提供的监控以及应用商店里面的镜像大部分不支持arm64运行
- 应用程序使用upx压缩之后在arm64平台无法运行,docker内也无法运行。可以使用在2020-01-23日更新的3.96版本upx进行压缩(快两年终于更新了)
- 不兼容问题:代表作redis ,redis镜像虽然支持arm64但是CentOS分页大小64kb,主流Linux分页4kb,然后启动的时候崩了(CentOS倒了呜呜呜)。
解决办法:在鲲鹏CentOS系统拉取Redis仓库重新构建镜像(选香港机器构建具体原因大家懂得,如果需要编译好的镜像可以私信我)
总结
- 鲲鹏服务器使用自研arm64 cpu 堪称国产之光,然而现在x86市场占据主流的情况下应用程序有arm64版本的太少了。如果是想迁移到鲲鹏服务器进行生产任务一定要看清楚所依赖的软件是不是有arm64版本的
- 现阶段不推荐使用k3s+rancher的方式在鲲鹏服务器进行业务部署,但是可以单独使用k3s+自定义配置文件方式进行业务部署。推荐等后续rancher对arm架构更好的优化,应用市场arm架构镜像达到一定数量的时候再使用
- golang大法好
华为鲲鹏服务器安装 k3s+rancher的更多相关文章
- [百家号]华为:最强ARM服务器芯片,华为鲲鹏920处理器发布
华为:最强ARM服务器芯片,华为鲲鹏920处理器发布 泡泡网 百家号2019-01-0716:11 https://baijiahao.baidu.com/s?id=162198839753232 ...
- 华为鲲鹏处理器实现商用,Arm服务器又添砝码
华为鲲鹏处理器实现商用,Arm服务器又添砝码 鲲鹏920就是华为海思1620 鲲鹏920面向 服务器CPU就是 华为海思162064core 武汉华为PC不是海思1620是另一个cpu 深圳华为PC的 ...
- 鲲鹏展翅|SphereEx 获华为鲲鹏技术认证
SphereEx Data Middleware 通过了华为鲲鹏技术认证并加入鲲鹏展翅伙伴计划,未来 SphereEx Data Middleware 产品将继续以分布式能力为基础,以数据安全.分布式 ...
- [转帖]华为鲲鹏云服务器实战:华为云鲲鹏KC1实例 vs. 阿里云G5实例
鲲鹏云服务器实战:华为云鲲鹏KC1实例 vs. 阿里云G5实例 https://m.ithome.com/html/444828.htm 2019-09-12 15:25IT之家 (阿迷) 今年一月份 ...
- 技术分享丨华为鲲鹏架构Redis知识二三事
摘要:华为云鲲鹏Redis,业界首个基于自研ARM-Based全栈整合的Redis云服务,支持双机热备的HA架构,提供单机.主备.Proxy集群.Cluster集群实例类型,满足高读写性能场景及弹性变 ...
- 华为云服务器安装hadoop2.7.5
1. 安装环境 1.1硬件环境 1.1.1 NameNode 配置项 详细参数 主机 k8s-master CPU Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz ...
- 鲲鹏凌云,并行科技Paramon通过华为云鲲鹏云服务兼容性认证
随着Cloud2.0时代到来,5G技术开始应用普及,超算云服务需求不断升级,业务多样性.数据多样性不断延伸.2019年7月,华为召开鲲鹏计算产业发展峰会,依托在联接领域坚实的基础,华为未来将着力打造智 ...
- Forrester:华为云容器是容器混合云最佳选择
近日,国际权威咨询机构Forrester发布<The Forrester New WaveTM: Public Cloud Enterprise Container Platforms, Q3 ...
- [转帖]腾讯云TStack获下一代云计算技术创新奖 与鲲鹏等产品实现兼容性测试
http://www.techweb.com.cn/cloud/2019-12-16/2769286.shtml [TechWeb]12 月 16 日消息,在中国电子技术标准化研究院主办的“第九届中国 ...
随机推荐
- python之道15
请实现一个装饰器,限制该函数被调用的频率,如10秒一次(借助于time模块,time.time())(面试题,有点难度,可先做其他) 答案 # 思路 运行不能用 import time def wra ...
- OpenCV-Python OpenCV中的K-Means聚类 | 五十八
目标 了解如何在OpenCV中使用cv.kmeans()函数进行数据聚类 理解参数 输入参数 sample:它应该是np.float32数据类型,并且每个功能都应该放在单个列中. nclusters( ...
- coding++ :SQLyog 最新版本12.5-64bit 破解版
点我下载 SQLyog 12.5-64bit 版本(包含注册码)
- 学习 MyBatis 的一点小总结 —— 底层源码初步分析
目录 MyBatis 如何获取数据库源? MyBatis 如何获取 sql 语句? MyBatis 如何执行 sql 语句? MyBatis 如何实现不同类型数据之间的转换? 在过去程序员使用 JDB ...
- c++ 常量/有符号数和无符号数
一.宏定义 #define 和常量 const 1. const关键字 const是constant的简写,只要一个变量前面用const来修饰,就意味着该变量里的数据可以被访问,不能被修改.也就是说c ...
- Python——铅球飞行计算问题
一. 1.IPO描述为:输入:铅球发射角度. 初始速度(m/s). 初始高度(m) 处理:模拟铅球飞行,时刻更新铅球在飞行中的位置 输出:铅球飞行距离(m) 可以拆分小的时间段.任意时刻的位置,都是 ...
- Material Design 组件之 AppBarLayout
AppBarLayout 是一个垂直方向的 LinearLayout,它实现了许多符合 Material Design 设计规范的状态栏应该具有的功能,比如滚动手势. AppBarLayout 一般直 ...
- 判断移动端还是PC端JS
if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) { // alert("手机&qu ...
- Please enter a commit message to explain why this merge is necessary, # especially if it merges an updated upstream into a topic branch. # # Lines starting with '#' will be ignored, and an empty messa
1.git提交的时候遇到: # Please enter the commit message for your changes. Lines starting with '#' will be ig ...
- Java学习笔记--Arrays
Arrays(数组工具类)常用方法 Arrays.toString(int[] a)方法 -------> 返回类型为String,可以用来产生数组的可打印表示,避免了用循环依次读取数组值进 ...