Mac 下的 Docker 及 Kubernetes (k8s) 本地环境搭建与应用部署、管理界面 kubernetes-dashboard
mac安装docker:
brew cask install docker
kubectl proxy
当然也可以直接去官网下载docker的pkg文件安装
mac的docker国内镜像:网易的镜像地址:http://hub-mirror.c.163.com。
下载kubernetes
如图所示,mac新版本的docker自带Kubernetes,Enable后就会自动开启下载,需要注意的是,下载的时候需要翻墙,解决办法:代理;寻找国内镜像
下载一般要很久,总概要下载10+个镜像,大约在几个小时内。观察镜像是否增加,判断是否在下载中。
参考下面两篇文章即可:
https://github.com/maguowei/k8s-docker-for...
https://github.com/kubernetes/dashboard/wi...
注意 https://github.com/maguowei/k8s-docker-for-mac里的文件images最后不要有空行。
kubectl cluster-info
kubectl get nodes
# 开启本机访问代理
$ kubectl proxy
通过下面的连接访问 /proxy/" title="Dashboard:">Dashboard:
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本身需要启动的容器
" class="reference-link">
最后给下成功启动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-...
2、https://kubernetes.io/zh/docs/user-guide/d...
3、https://www.kubernetes.org.cn/doc-5
4、https://yeasy.gitbooks.io/docker_practice/...
本作品采用《CC 协议》,转载必须注明作者和本文链接