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后就会自动开启下载,需要注意的是,下载的时候需要翻墙,解决办法:代理;寻找国内镜像
下载一般要很久,总概要下载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.=registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.2.
k8s.gcr.io/pause:3.1=registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1
k8s.gcr.io/etcd:3.2.=registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.2.
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.=registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.
k8s.gcr.io/k8s-dns-sidecar-amd64:1.14.=registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-sidecar-amd64:1.14.
k8s.gcr.io/k8s-dns-kube-dns-amd64:1.14.=registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-kube-dns-amd64:1.14.
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.=registry.cn-hangzhou.aliyuncs.com/google_containers/etcd-amd64:3.1.
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
Mac下的Docker及Kubernetes(k8s)本地环境搭建与应用部署、管理界面kubernetes-dashboard的更多相关文章
- CC2B本地环境搭建步骤及部署问题解决
由于最近的项目是之前没接触过的netbeans+glassfish,记录一下最近在工作中搭建本地环境的步骤及遇到的一些问题解决方法: 1.配置java jdk 此过程中遇到一个问题就是在配置系统环境变 ...
- Mac下Appnium的Android的UI自动化环境搭建
1. 安装jdk:略 检查是否安装:执行命令java -version admindeMacBook-Pro-2:~ $ java -version java version "1.8.0_ ...
- mac下通过docker搭建LEMP环境
在mac下通过docker搭建LEMP环境境 1.安装virtualbox.由于docker是在lxc环境的容器 2.安装boot2docker,用于与docker客户端通讯 > brew up ...
- Docker下kafka学习三部曲之二:本地环境搭建
在上一章< Docker下kafka学习,三部曲之一:极速体验kafka>中我们快速体验了kafka的消息分发和订阅功能,但是对环境搭建的印象仅仅是执行了几个命令和脚本,本章我们通过实战来 ...
- Docker&Kubernetes沙龙干货集锦:容器集群管理利器kubernetes详谈-CSDN.NET
Docker&Kubernetes沙龙干货集锦:容器集群管理利器kubernetes详谈-CSDN.NET undefined Package - crawler undefined 科学网- ...
- (一)windows7下solr7.1.0默认jetty服务器环境搭建
windows7下solr7.1.0默认jetty服务器环境搭建 1.下载solr solr7官网地址:http://lucene.apache.org/solr/ jdk8官网地址:http://w ...
- Sonar本地环境搭建
一个新项目准备上线提测了,为了在提测之前做一下代码走查,同时了解项目目前的质量情况,就在本地搭建了一套sonar环境.搭建的过程中遇到了很多问题,sonar官方已不再维护Eclipse的svn插件,所 ...
- mac下安装git,并将本地的项目上传到github
mac下安装git 安装过程: 1.下载Git installer http://git-scm.com/downloads 2.下载之后打开,双击.pkg安装 3.打开终端,使用git --vers ...
- Mac下 Visual VM 无法检测到本地的Java进程
我下载的是VisualVM1.4 下载完成之后,在左边栏Local哪里只有VisualVM自己的进程. 我本地启动的eclipse和intelliJ都没有检测到. 网上查阅后都是Window下的解决方 ...
随机推荐
- 数据库简单练习 建表+select
create table student ( sno int primary key, sname char(20), sex char(2), birthday datetime, class i ...
- InnoDB的锁机制浅析(四)—不同SQL的加锁状况
不同SQL的加锁状况 文章总共分为五个部分: InnoDB的锁机制浅析(一)-基本概念/兼容矩阵 InnoDB的锁机制浅析(二)-探索InnoDB中的锁(Record锁/Gap锁/Next-key锁/ ...
- java中的PO,VO,TO,BO,DAO,POJO的解释
java的(PO,VO,TO,BO,DAO,POJO)解释 O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写.通俗点讲,就是将对象与关系数据库绑定 ...
- bugku web题INSERT INTO注入
0x01: 打开题目描述,已经将源码给了我们: <?php error_reporting(0); function getIp(){ $ip = ''; if(isset($_SERVER[' ...
- 慎重使用volatile关键字
volatile关键字相信了解Java多线程的读者都很清楚它的作用.volatile关键字用于声明简单类型变量,如int.float.boolean等数据类型.如果这些简单数据类型声明为volatil ...
- C#泛型的抗变与协变
C#泛型的抗变与协变 学习自 C#本质论6.0 https://www.cnblogs.com/pugang/archive/2011/11/09/2242380.html Overview 一直以来 ...
- require和require.async的区别
本文用seajs来讲解两种模块加载方式require和require.async的区别,类似java里的import,php里的include. <!DOCTYPE html> <h ...
- [ 转载 ] Tcp三次握手和四次挥手详解
#TCP的报头: 源端口号:表示发送端端口号,字段长为16位.目标端口号:表示接收端口号,字段长为16位.序列号:表示发送数据的位置,字段长为32位.每发送一次数据,就累加一次该数据字节数的大小.注意 ...
- php版本CKFinder3.4.4自定义上传文件位置
1.修改文件上传路径: 编辑ckfinder目录下config.php,70行设置为: 'baseUrl' => '/uploads/'.date('Ymd').'/'; 这样上 ...
- 如何快速将Linux文件系统迁移到Azure存储
概述 前一段时间一直在给一个客户将原先搭载在Linux(客户使用的是CentOS 7.0)上的NFS快速迁移到Azure存储上,并且为了保证数据完整性还需要另开一个存储做冷备,架构图如下: 通过Cli ...
