centos7应用Minikube"疾速搭建"出Kubernetes本地试验环境(踩坑集锦及解决方案)

先决条件

  • 查看Linux是否反对虚拟化,验证输入是否为非空如何开启虚拟化

grep -E --color 'vmx|svm' /proc/cpuinfo

  • 装置 kubectl

判断是否胜利装置kubectl

kubectl version

装置Minikube

Linux

curl -Lo minikube https://kubernetes.oss-cn-han... && chmod +x minikube && sudo mv minikube /usr/local/bin/

启动

minikube start

为了拜访海内的资源,阿里云提供了一系列基础设施,请依照如下参数进行配置。其中常见参数

  • --driver=*** 从1.5.0版本开始,Minikube缺省应用本地最好的驱动来创立Kubernetes本地环境,测试过的版本 docker, kvm
  • --image-mirror-country cn 将缺省利用 registry.cn-hangzhou.aliyuncs.com/google_containers 作为装置Kubernetes的容器镜像仓库 (阿里云版本可选)
  • --iso-url=*** 利用阿里云的镜像地址下载相应的 .iso 文件 (阿里云版本可选)
  • --registry-mirror=***为了拉取Docker Hub镜像,须要为 Docker daemon 配置镜像减速,参考阿里云镜像服务
  • --cpus=2: 为minikube虚拟机调配CPU核数
  • --memory=2048mb: 为minikube虚拟机分配内存数
  • --kubernetes-version=***: minikube 虚拟机将应用的 kubernetes 版本

当你执行minkube start会呈现这个谬误,大略意思是须要加个 --driver=none的参数

谬误一:

    • The "docker" driver should not be used with root privileges.
    • If you are running minikube within a VM, consider using --driver=none:
    • https://minikube.sigs.k8s.io/...
  X Exiting due to DRV_AS_ROOT: The "docker" driver should not be used with root privileges.

加了参数当前那就恐怖了

1.[WARNING Swap]: running with swap on is not supported. Please disable swap

2.[WARNING Service-Kubelet]: kubelet service is not enabled, please run 'systemctl enable kubelet.service'

71489 configset.go:348] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io]
error execution phase preflight: [preflight] Some fatal errors occurred:

[preflight] If you know what you are doing, you can make a check non-fatal with --ignore-preflight-errors=...

正告1.敞开Swap缓冲区(running with swap on is not supported. Please disable swap)

敞开Swap,机器重启后不失效


swapoff -a

批改/etc/fstab永恒敞开Swap


cp -p /etc/fstab /etc/fstab.bak$(date '+%Y%m%d%H%M%S')

Redhat


sed -i "s//dev/mapper/rhel-swap/#/dev/mapper/rhel-swap/g" /etc/fstab

CentOS


sed -i "s//dev/mapper/centos-swap/#/dev/mapper/centos-swap/g" /etc/fstab

批改后从新挂载全副挂载点


mount -a

查看Swap


free -m
cat /proc/swaps
systemctl daemon-reload
systemctl restart kubelet

正告2.kubelet service is not enabled, please run 'systemctl enable kubelet.service'

//启动kubelet服务
systemctl enable kubelet.service

谬误3. FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables contents are not set to 1

echo "1" >/proc/sys/net/bridge/bridge-nf-call-iptables

当初终于没啥错了

启动minikube

为了拜访海内的资源,阿里云提供了一系列基础设施,请依照如下参数进行配置。其中常见参数

  • --driver=*** 从1.5.0版本开始,Minikube缺省应用本地最好的驱动来创立Kubernetes本地环境,测试过的版本 docker, kvm
  • --image-mirror-country cn 将缺省利用 registry.cn-hangzhou.aliyuncs.com/google_containers 作为装置Kubernetes的容器镜像仓库 (阿里云版本可选)
  • --iso-url=*** 利用阿里云的镜像地址下载相应的 .iso 文件 (阿里云版本可选)
  • --registry-mirror=***为了拉取Docker Hub镜像,须要为 Docker daemon 配置镜像减速,参考阿里云镜像服务
  • --cpus=2: 为minikube虚拟机调配CPU核数
  • --memory=2048mb: 为minikube虚拟机分配内存数
  • --kubernetes-version=***: minikube 虚拟机将应用的 kubernetes 版本

minikube start --image-mirror-country cn     --iso-url=https://kubernetes.oss-cn-han... --registrymirror=https://pe3ox7bd.mirror.aliyu...     --driver="none"     --memory=2048

不出意外应该是这样的

启动minikube dashboard

minikube dashboard

dashboard 给出了一个拜访地址,能够看出这个地址和端口只是k8s的虚拟地址,只能本机拜访如果要想从电脑上拜访服务器上虚拟机上的dashboard 你应该

增加集群对外拜访代理:

nohub kubectl proxy  --port=[须要裸露的端口号] --address='[服务器IP]' --accept-hosts='^[内部拜访服务器的IP]$'  >/dev/null 2>&1&

例如:

nohup kubectl proxy  --port=41111 --address='192.168.56.165' --accept-hosts='^192.168.56.165$'  >/dev/null 2>&1&

拜访地址为:

http://192.168.56.165:41111/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/#/overview?namespace=default