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

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

查看系统版本

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镜像:
复制代码

image.png

修改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镜像
复制代码

image.png

安装minikube

  • 下载minikube

    https://minikube.sigs.k8s.io/docs/start/
    复制代码

image.png

# 下载最新版本

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.

    image.png

    由于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
    复制代码

image.png

minikube 1.22.0版本对应的镜像版本

image.png

从minikube 1.22.0版本的源码中也可以看到

https://gitee.com/pingfanrenbiji/minikube/tree/v1.22.0/
复制代码

image.png

知道了对应的版本号之后,也可以通过脚本下载

wget https://gitee.com/pingfanrenbiji/k8s-nginx/blob/master/pull_k8s_images.sh

执行脚本
chmod +x ./pull_k8s_images.sh ./pull_k8s_images.sh
复制代码

image.png

修改成对应的版本号,执行脚本

  • docker: Error response from daemon: OCI runtime create failed: systemd cgroup flag passed, but systemd support for managing cgroups is not available: unknown.image.png

    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
复制代码

image.png

查看minikube的启动状态

image.png

分类:
后端
标签:
收藏成功!
已添加到「」, 点击更改