• 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

    通过下面的连接访问 Dashboardhttp://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 

  • 相关阅读:
    RabbitMQ 消息可靠性
    SpringBoot2.X+SpringAMQP 整合 RabbitMQ
    《红宝书》 |Array数组介绍及用法
    《红宝书》 |单例内置对象 |Global和Math
    js封装 |随机获取指定范围内的整数
    《红宝书》 |原始包装类型
    《红宝书》 |什么是对象
    js封装 |时间对象相关方法
    兼容 |ios移动端的时间对象
    《红宝书》 |基本引用类型-正则表达式RegExp
  • 原文地址:https://www.cnblogs.com/shengulong/p/10261707.html
Copyright © 2020-2023  润新知