kubernetes实践(一)MAC OS系统下minikube的安装及使用
安装依赖
docker,virtualbox,请参考这2个软件的安装教程文章
Docker系列(一)-MAC OS/CENTOS7系统下docker的安装及使用
开始安装
1.安装kubectl 核心操作管理命令
brew install kubernetes-cli
2.安装minikube
brew cask install minikube
3.配置minikube环境变量
因为设置了代理,所以先要导入环境变量
export HTTP_PROXY=http://127.0.0.1:1087 export HTTPS_PROXY=https://127.0.0.1:1087 export NO_PROXY=localhost,127.0.0.1,10.96.0.0/12,192.168.99.0/24,192.168.39.0/24
- 192.168.99.0/24: Used by the minikube VM. Configurable for some hypervisors via
--host-only-cidr
- 192.168.39.0/24: Used by the minikube kvm2 driver.
- 10.96.0.0/12: Used by service cluster IP’s. Configurable via
--service-cluster-ip-range
export HTTP_PROXY命令是添加命令行http代理,主要是为了让minikube可以在命令行通过proxy去下载相关文件 export HTTPS_PROXY是添加命令行https代理,主要是为了让minikube可以在命令行通过proxy去下载相关文件 export NO_PROXY,设置命令行中不使用代理的地址段
NO_PROXY的作用是对于192.168.99.0/24该网段的地址不要走代理,原因是minikube内部启动的容器使用该网段,都代理就不会通了
这里默认使用virtualbox构建,若使用其他虚拟机可用参数,如下
--vm-driver=virtualbox
若设置默认虚拟机,如下
minikube config set vm-driver virtualbox
4.启动minikube虚拟机
minikube start --docker-env http_proxy=http://127.0.0.1:1087 --docker-env https_proxy=http://127.0.0.1:1087 --docker-env no_proxy=localhost,127.0.0.1,10.96.0.0/12,192.168.99.0/24,192.168.39.0/24 --log_dir=tmp --cpus 4 --memory 8192
参数命令解释
-docker-env http_proxy...,设置虚拟机中docker daemon的环境变量,这里的环境变量http_proxy表示虚拟机中docker daemon使用的http代理 -docker-env http_proxy...,设置虚拟机中docker daemon的环境变量,这里的环境变量https_proxy表示虚拟机中docker daemon使用的https代理 --docker-env no_proxy,设置虚拟机中docker daemon不使用代理的地址段 --log_dir=tmp,设置minikube的日志存储位置,这里是当前目录下的tmp文件夹。该目录下会出现INFO和ERROR的日志,INFO是一定会有,ERROR是出错的时候才有。比如 --cpus 4,设置虚拟机的cpu核数 --memory 8192,设置虚拟机的内存大小,单位为M --v= ,设置log级别的 --v=0 INFO level logs --v=1 WARNING level logs --v=2 ERROR level logs --v=3 libmachine logging --v=7 libmachine --debug level logging 比如:minikube --v=2就是ERROR level logs
下载过程
下载minikube iso,存储位置为~/.minikube/cache/iso/minikube-v1.3.0.iso
下载kubernetes依赖的docker镜像,存储位置为
~/.minikube/cache/images/k8s.gcr.io coredns_1.3.1 etcd_3.3.10 k8s-dns-dnsmasq-nanny-amd64_1.14.13 k8s-dns-kube-dns-amd64_1.14.13 k8s-dns-sidecar-amd64_1.14.13 kube-addon-manager_v9.0 kube-apiserver_v1.15.2 kube-controller-manager_v1.15.2 kube-proxy_v1.15.2 kube-scheduler_v1.15.2 kubernetes-dashboard-amd64_v1.10.1 pause_3.1 ~/.minikube/cache/images/gcr.io/k8s-minikube storage-provisioner_v1.8.1
下载kubeadm,存储位置为~/.minikube/cache/v1.15.2/kubeadm
下载kubelet,存储位置为~/.minikube/cache/v1.15.2/kubelet
创建并启动虚拟机 将需要的文件拷入虚拟机
使用kubeadm安装kubernetes kubeadm启动镜像
5.运行使用minikube虚拟机
查看版本
kubectl version
进入minikube虚拟机
minikube ssh
显示minikube的日志
minikube logs
启动minikube监控
minikube dashboard
显示minikube虚拟机的ip
minikube ip
启动minikube虚拟机
minikube start
停止minikube虚拟机
minikube stop
删除minikube虚拟机
minikube delete
6.进入docker容器
查询docker镜像
docker images
查询docker容器
docker ps
7.kubernetes相关操作
获取所有命名空间中的所有Pod的信息
kubectl get pods --all-namespaces
获取k8s系统的组件
kubectl get pods -n kube-system
NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-6955765f44-6fd8j 1/1 Running 3 13m kube-system coredns-6955765f44-928l8 1/1 Running 1 6m10s kube-system etcd-minikube 1/1 Running 3 13m kube-system kube-apiserver-minikube 1/1 Running 3 13m kube-system kube-controller-manager-minikube 1/1 Running 4 13m kube-system kube-proxy-cgkwf 1/1 Running 3 13m kube-system kube-scheduler-minikube 1/1 Running 3 13m kube-system storage-provisioner 1/1 Running 4 13m
8.出现到问题
$ minikube dashboard 🤔 Verifying dashboard health ... 🚀 Launching proxy ... 🤔 Verifying proxy health ... 💣 http://127.0.0.1:49839/api/v1/namespaces/kube-system/services/http:kubernetes-dashboard:/proxy/ is not accessible: Temporary Error: unexpected response code: 503 Temporary Error: unexpected response code: 503 Temporary Error: unexpected response code: 503 Temporary Error: unexpected response code: 503
解决方案
删除,重新启动
minikube delete -p minikube minikube start