Kubernetes 在VM和云ECS上的安装 (异常曲折)

本来以为安装就是两个命令行,很容易,没什么好写的 结果装了好几个小时,出现了许多的 error 所以记录下来:

现在官网上安装 mini 版本 https://minikube.sigs.k8s.io/docs/start/

Error 1: Exiting due to RSRC_INSUFFICIENT_CORES: Requested cpu count 2 is greater than the available cpus of 1 没有办法,只能去公有云创建满足条件的机器

Error 2: 公有云创建后, 进入 vim ~/.ssh/ssh_config 要设置 PermitRootLogin, 打开 port 22 一开始用的 Ali Linux 镜像,发现不好用, 于是换了 system image 但是换了 system image 后, 远程登录会自动退出,而且无论如何总是报错.建议重新开一台虚拟机

Error 3: 安装完 docker, 安装完 minikube, 依然不能启动 报错内容为 ❌ Exiting due to DRV_AS_ROOT: The "docker" driver should not be used with root privileges 所以要创建新的非 root 用户

[root@iZgw857ng5q7qjm43g3x9pZ ~]# adduser test
[root@iZgw857ng5q7qjm43g3x9pZ ~]# passwd test

从 root 切换普通用户为 su - test (记得 - 和 username 之间有空格)

Error 4: 创建完成后, 依然报错 报错内容为

test is not in the sudoers file.  This incident will be reported.

所以还要为 test 添加权限 回到 root, visudo 在 allow root 那一栏添加 username ALL=(ALL) ALL

Error 5: 回到 test 后,依然报错

❌  Exiting due to DRV_NOT_DETECTED: No possible driver was detected. Try specifying --driver, or see https://minikube.sigs.k8s.io/docs/start/

这是因为 docker 没有启动 但是 systemctl start docker 后查询 docker version 依然只有 client , 没有 server

Error 6: 需要运行指令

sudo chmod 666 /var/run/docker.sock 再查询, docker version 时,有server了

[test@iZgw857ng5q7qjm43g3x9pZ ~]$ sudo chmod 666 /var/run/docker.sock
[test@iZgw857ng5q7qjm43g3x9pZ ~]$ sudo systemctl start docker
[test@iZgw857ng5q7qjm43g3x9pZ ~]$ docker version
Client: Docker Engine - Community
 Version:           20.10.6
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        370c289
 Built:             Fri Apr  9 22:45:33 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.6
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       8728dd2
  Built:            Fri Apr  9 22:43:57 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.4
  GitCommit:        05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc:
  Version:          1.0.0-rc93
  GitCommit:        12644e614e25b05da6fd08a38ffa0cfe1903fdec
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

再次minikube start 成功安装

[test@iZgw857ng5q7qjm43g3x9pZ ~]$ minikube start
😄  minikube v1.19.0 on Centos 7.7.1908 (amd64)
✨  Automatically selected the docker driver. Other choices: ssh, none
👍  Starting control plane node minikube in cluster minikube
🚜  Pulling base image ...
💾  Downloading Kubernetes v1.20.2 preload ...
    > preloaded-images-k8s-v10-v1...: 491.71 MiB / 491.71 MiB  100.00% 6.85 MiB
    > gcr.io/k8s-minikube/kicbase...: 357.67 MiB / 357.67 MiB  100.00% 3.94 MiB
🔥  Creating docker container (CPUs=2, Memory=2200MB) ...
🐳  Preparing Kubernetes v1.20.2 on Docker 20.10.5 ...
    ▪ Generating certificates and keys ...
    ▪ Booting up control plane ...
    ▪ Configuring RBAC rules ...
🔎  Verifying Kubernetes components...
    ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🌟  Enabled addons: storage-provisioner, default-storageclass
🏄  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
经验分享 程序员 微信小程序 职场和发展