查看系统版本
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
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版本的镜像
复制
安装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即可
sudo systemctl stop docker
sudo systemctl start 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的启动状态