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 协议》,转载必须注明作者和本文链接
嗨,我是波波。曾经创业,有收获也有损失。我积累了丰富教学与编程经验,期待和你互动和进步! 公众号:上海 PHP 自学中心
wangchunbo
司机 @ 某医疗行业
文章
307
粉丝
352
喜欢
565
收藏
1130
排名:61
访问:12.5 万
私信
所有博文
社区赞助商