查看系统版本
cat /etc/kylin-release
Kylin Linux Advanced Server release V10 (Tercel)
复制代码
查看内核版本
uname -a
Linux k8s-master 4.19.90-24.1.v2101.ky10.aarch64 #1 SMP Tue Apr 13 16:35:50 CST 2021 aarch64 aarch64 aarch64 GNU/Linux
复制代码
查看系统架构是华为鲲鹏服务器架构aarch64
uname -p
aarch64
# 注意:该系统是aarch64架构,dockerhub上的大部分镜像都是x86_64架构下的,在使用dockerhub等平台的镜像时,一定要注意其架构是否支持aarch64即是否支持arm64,比如mysql镜像:
复制代码
修改hosts文件
cat >> /etc/hosts << EOF
172.17.28.172 k8s-master
EOF
复制代码
k8s镜像源源配置
cd /etc/yum.repos.d
# 删除原有的yum源
rm -f *
# 配置阿里云镜像源
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[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
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
# 检查配置是否正确
yum repolist
# 更新yum缓存
yum list
yum clean all
yum makecache
复制代码
离线安装docker
# 下载docker安装包 选择aarch64架构的
# wget https://download.docker.com/linux/static/stable/aarch64/docker-20.10.7.tgz
wget https://download.docker.com/linux/static/stable/aarch64/docker-18.09.8.tgz
# 解压
tar -zxvf docker-18.09.87.tgz
# 移动解压出来的二进制文件到 /usr/bin 目录中
mv docker/* /usr/bin/
复制代码
编辑docker的系统服务文件
vi /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
复制代码
重启docker
systemctl daemon-reload
systemctl restart docker & systemctl enable docker
复制代码
查看docker信息
docker info
# docker的使用与x86下主流Linux发行版本(如CentOS、Fedora、Ubuntu、Debian)在使用上没有差异,需要注意的是由于CPU架构是arm64,因此,需要采用支持arm64架构的镜像才能正常使用。
# 不支持arm64的镜像,可以寻找第三方支持arm64架构的镜像,或者自己在银河麒麟桌面系统V10上基于centos或者alpine镜像自行编译制作一个支持arm64版本的mysql docker镜像
复制代码
安装minikube
-
下载minikube
https://minikube.sigs.k8s.io/docs/start/ 复制代码
# 下载最新版本
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-arm64
# 下载指定版本
https://storage.googleapis.com/minikube/releases/v1.22.0/minikube-linux-arm64
sudo install minikube-linux-arm64 /usr/local/bin/minikube
复制代码
-
启动minikube报 X Exiting due to DRV_AS_ROOT: The "docker" driver should not be used with root privileges.
由于docker在root权限下安装,或使用root权限登录服务器,minikube不能使用root权限进行进行安装,也不能使用root权限下启动的docker服务
adduser test passwd test usermod -aG wheel test su - test sudo groupadd docker # 将test用户加入docker组 sudo usermod -aG docker $USER 或者 sudo usermod -aG docker $USER && newgrp docker 复制代码
先用root用户关闭docker,然后用test用户启动docker即可
systemctl start docker systemctl stop docker 复制代码
-
Linux: UserName is not in the sudoers file. This incident will be reported [closed]
su root vim /etc/sudoers #User privilege specification root ALL=(ALL:ALL) ALL test ALL=(ALL:ALL) ALL 复制代码
-
启动minikube
# Minikube Start Stuck Pulling base image # 如果下载镜像的过程中卡住则 minikube delete --all --purge # 启动 minikube start --driver=docker --image-mirror-country=cn --registry-mirror=https://kaakiyao.mirror.aliyuncs.com 复制代码
minikube 1.22.0版本对应的镜像版本
从minikube 1.22.0版本的源码中也可以看到
https://gitee.com/pingfanrenbiji/minikube/tree/v1.22.0/
复制代码
知道了对应的版本号之后,也可以通过脚本下载
wget https://gitee.com/pingfanrenbiji/k8s-nginx/blob/master/pull_k8s_images.sh
执行脚本
chmod +x ./pull_k8s_images.sh ./pull_k8s_images.sh
复制代码
修改成对应的版本号,执行脚本
-
docker: Error response from daemon: OCI runtime create failed: systemd cgroup flag passed, but systemd support for managing cgroups is not available: unknown.
vi /etc/docker/daemon.json #delete "exec-opts": ["native.cgroupdriver=systemd"], sudo systemctl deamon-reload sudo systemctl restart docker 复制代码
查看镜像版本号
docker image inspect nginx:alpine | grep -i version
复制代码
查看minikube的启动状态