Mac下的Docker及Kubernetes(k8s)本地环境搭建与应用部署、管理界面kubernetes-dashboard
mac安装docker:
brew cask install docker
当然也可以直接去官网下载docker的pkg文件安装
mac的docker国内镜像:网易的镜像地址:http://hub-mirror.c.163.com。
下载kubernetes
如图所示,mac新版本的docker自带Kubernetes,Enable后就会自动开启下载,需要注意的是,下载的时候需要FQ,解决办法:代理;寻找国内镜像
下载一般要很久,总概要下载10+个镜像,大约在几个小时内。观察镜像是否增加,判断是否在下载中。
参考下面两篇文章即可:
https://github.com/maguowei/k8s-docker-for-mac(https://github.com/shengulong/k8s-docker-for-mac)
https://github.com/kubernetes/dashboard/wiki/Creating-sample-user
注意 https://github.com/maguowei/k8s-docker-for-mac里的文件images最后不要有空行。
kubectl cluster-info
kubectl get nodes
# 开启本机访问代理
$ kubectl proxy
通过下面的连接访问 Dashboard
: http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
kubectl apply -f dashboard-adminuser.yaml
Create Service Account We are creating Service Account with name admin-user in namespace kube-system first.
dashboard-adminuser.yaml 内容如下:
apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kube-system
通过如下命令获取token值:
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
Helm就相当于kubernetes环境下的yum包管理工具。
# 用 homebrew 安装 Helm $ brew install kubernetes-helm # 初始化本地 CLI 并 将 Tiller 安装到 Kubernetes cluster $ helm init # 更新本地 charts repo $ helm repo update # 安装 mysql chart $ helm install --name my-mysql stable/mysql # 删除 mysql $ helm delete my-mysql # 删除 mysql 并释放该名字以便后续使用 $ helm delete --purge my-mysql
web界面:根据浏览器的中英文设置,自动转换中英文界面
注:
解释下三个配置的含义:
1、开启k8s功能
2、使用k8s作为默认编排器,见下图
3、显示k8s内部的容器,这样k8s启动的时候,执行docker ps就可以看到k8s本身需要启动的容器
最后给下成功启动k8s的具体成功步骤:
环境:
1、设置镜像:
2、使用默认代理配置:因为本地没有开启代理,所以这里的系统代理就是没有代理
3、关键的一步:配置k8s所需要的镜像(之前成功启动过,记录了k8s启动所需的镜像),然后执行脚本:./load_images.sh可以快速的安装完镜像,时间不超过5分钟。
➜ k8s-docker-for-mac git:(master) ✗ cat images k8s.gcr.io/kube-proxy:v1.13.0=registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.13.0 k8s.gcr.io/kube-controller-manager:v1.13.0=registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.13.0 k8s.gcr.io/kube-scheduler:v1.13.0=registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.13.0 k8s.gcr.io/kube-apiserver:v1.13.0=registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.13.0 k8s.gcr.io/coredns:1.2.6=registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.2.6 k8s.gcr.io/pause:3.1=registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1 k8s.gcr.io/etcd:3.2.24=registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.2.24 k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1=registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-dashboard-amd64:v1.10.1 gcr.io/kubernetes-helm/tiller:v2.12.1=registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.12.1 k8s.gcr.io/k8s-dns-dnsmasq-nanny-amd64:1.14.8=registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.8 k8s.gcr.io/k8s-dns-sidecar-amd64:1.14.8=registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-sidecar-amd64:1.14.8 k8s.gcr.io/k8s-dns-kube-dns-amd64:1.14.8=registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-kube-dns-amd64:1.14.8 docker/kube-compose-controller:v0.4.12=registry.cn-hangzhou.aliyuncs.com/k8s-service/kube-compose-controller:v0.4.12 docker/kube-compose-api-server:v0.4.12=registry.cn-hangzhou.aliyuncs.com/k8s-service/kube-compose-api-server:v0.4.12 k8s.gcr.io/kube-proxy-amd64:v1.10.11=registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy-amd64:v1.10.11 k8s.gcr.io/kube-apiserver-amd64:v1.10.11=registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver-amd64:v1.10.11 k8s.gcr.io/kube-controller-manager-amd64:v1.10.11=registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager-amd64:v1.10.11 k8s.gcr.io/kube-scheduler-amd64:v1.10.11=registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler-amd64:v1.10.11 k8s.gcr.io/etcd-amd64:3.1.12=registry.cn-hangzhou.aliyuncs.com/google_containers/etcd-amd64:3.1.12 k8s.gcr.io/pause-amd64:3.1=registry.cn-hangzhou.aliyuncs.com/google_containers/pause-amd64:3.1 ➜ k8s-docker-for-mac git:(master) ✗
4、最后一步,配置如下两项,然后等待k8s启动,大约3分钟之内。不要在把安装k8s的过程放在后台,就在前台盯着好了,这样可以感受到进展情况
镜像及版本列表:
参考:
1、http://www.runoob.com/docker/macos-docker-install.html
2、https://kubernetes.io/zh/docs/user-guide/docker-cli-to-kubectl/
3、https://www.kubernetes.org.cn/doc-5
4、https://yeasy.gitbooks.io/docker_practice/kubernetes/quickstart.html