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