暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

k8s自动化运维十三-国产麒麟操作系统安装minikube

平凡人笔记 2022-10-10
771

查看系统版本

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的启动状态

文章转载自平凡人笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论