[k8s] arm64架构下k8s部署的坑

本次测试在华为kunpeng-920机器上,cpu配置如下:

[root@master ~]# lscpu
架构:                           aarch64
CPU 运行模式:                   64-bit
字节序:                         Little Endian
CPU:                             96
在线 CPU 列表:                  0-95
每个核的线程数:                 1
每个座的核数:                   48
座:                             2
NUMA 节点:                      4
厂商 ID:                        HiSilicon
型号:                           0
型号名称:                       Kunpeng-920
步进:                           0x1
CPU 最大 MHz:                   2600.0000
CPU 最小 MHz:                   200.0000
BogoMIPS:                       200.00
L1d 缓存:                       6 MiB
L1i 缓存:                       6 MiB
L2 缓存:                        48 MiB
L3 缓存:                        192 MiB
NUMA 节点0 CPU:                 0-23
NUMA 节点1 CPU:                 24-47
NUMA 节点2 CPU:                 48-71
NUMA 节点3 CPU:                 72-95
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Mmio stale data:   Not affected
Vulnerability Spec store bypass: Vulnerable
Vulnerability Spectre v1:        Mitigation; __user pointer sanitization
Vulnerability Spectre v2:        Not affected
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
标记:                           fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm

操作系统是中标麒麟

[root@master ~]# cat /etc/lsb-release
DISTRIB_ID=Kylin
DISTRIB_RELEASE=V10
DISTRIB_CODENAME=Lance
DISTRIB_DESCRIPTION="Kylin V10"
DISTRIB_KYLIN_RELEASE=V10
DISTRIB_VERSION_TYPE=enterprise
DISTRIB_VERSION_MODE=normal

麒麟自带仓库里面的k8s版本最高是1.15,比较低了。所以配置了k8s官方源(基于el7,dddd)

[root@master ~]#cat kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-aarch64/
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

本次安装1.23(写这篇文章时候,最新的是1.27。但是安装1.27有点问题,就选了1.23)

利用kubeadm部署,利用 kubeadm config print init-defaults > kubeadm-config.yaml 生成kubeadm配置文件。

设置kubelet的cgroup driver为cgroupfs

之前我设置为systemd,结果启动coredns时候cgroup报错。看网上解决方案,都是换成cgroupfs。
根据k8s官方文档,1.22以及之后的新版本,kubelet的cgroup driver默认是systemd了,所以必须手工显示指定为cgroupfs。

[k8s] arm64架构下k8s部署的坑_第1张图片
在kubeadm-config.yaml中追加如下配置:
kind: KubeletConfiguration
apiVersion: kubelet.config.k8s.io/v1beta1
cgroupDriver: cgroupfs

你可能感兴趣的:(kubernetes,架构,容器)