Kubernetes的本地集群搭建是一件颇费苦心的活,网上有各种参考资源,由于版本和容器的不断发展,搭建的方式也是各不相同,这里基于Docker CE的18.09.0版本,在Mac OS、Win10下分别搭建了一次。

一、Mac OS下搭建

安装Docker CE并进行相关配置

  从Docker官方站点下载并安装Docker for Mac或Docker for Windows

  截止目前用的是18.09.0版本,这一步骤比较简单,略过。

在 Docker -> Preferences ... 中,配置Deamon的mirrors为:https://registry.docker-cn.com

下载Kubernetes安装所需Docker镜像 

从阿里云镜像服务下载Kubernetes安装所需Docker镜像

git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop
cd k8s-for-docker-desktop

  加载镜像(注:在Bash下执行)

./load_images.sh

  在Docker for Mac中开启 Kubernetes,等待如下消息 Kubernetes is running

  这时候 Kubernetes 已经可以用了,我们可以看到docker 版本信息中,编排器已经成为了kubernetes

配置 Kubernetes

1)验证 Kubernetes 集群状态

kubectl cluster-info
kubectl get nodes

2)部署 Kubernetes dashboard

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

3)开启 API Server 访问代理

kubectl proxy

4)这个时候需要验证才能进入,这里使用令牌来访问,那么令牌从哪儿获取呢?

在kubernetes-dashboard.yaml父级文件夹下创建account.yaml文件用于访问kubernetes-dashboard,添加如下配置

# Create Service AccountapiVersion: v1 
kind: ServiceAccount 
metadata:   
  name: admin-user   
  namespace: kube-system 
---# Create ClusterRoleBindingapiVersion: rbac.authorization.k8s.io/v1beta1 
kind: ClusterRoleBinding 
metadata:   
  name: admin-user 
roleRef:   
  apiGroup: rbac.authorization.k8s.io   
  kind: ClusterRole   
  name: cluster-admin 
subjects: 
  - kind: ServiceAccount   
  name: admin-user   
  namespace: kube-system
文件位置如下所示:
5)获取登陆令牌kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')

获取输出的token粘贴复制到kubernetes-dashboard登陆页面获取授权

当然你也可以不用令牌登录,使用kubeconfig进行验证和登录

6)通过如下 URL 访问 Kubernetes dashboard
http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/overview?namespace=default

如上,一切正常,请在界面上尽情的乱点吧。另外,如果有兴趣,你还可以安装Dashboard的Heapster插件,这里就不再介绍了。

二、Windows 10下的搭建

Win10下的搭建和Mac OS差别不大,只是使用PowerShell管理员身份下载镜像的时候需要注意执行命令为:.\load_images.ps1

安装Docker CE并进行相关配置

  这里版本建议是docker ce 18.06以上的版本。然后进行相关的配置,这里重点配置拉取镜像的地址。如下图所示:

下载需要的Docker镜像

  从阿里云镜像服务下载Kubernetes安装所需Docker镜像

git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop
cd k8s-for-docker-desktop

  加载镜像(注:如果在Windows中请在PowerShell下执行)

.\load_images.ps1

说明: 如果因为安全策略无法执行 PowerShell 脚本,请在 “以管理员身份运行” 的 PowerShell 中执行 ```Set-ExecutionPolicy RemoteSigned``` 命令。

  Settings里启动Kubernetes

配置 Kubernetes

  该步骤同上面的Mac OS的一致,请移步上面查看,最后进入Dashboard,如下图所示。

参考文档

搭建基于Docker社区版的Kubernetes本地集群的更多相关文章

  1. docker swarm使用keepalived+haproxy搭建基于percona-xtradb-cluster方案的高可用mysql集群

    一.部署环境 序号 hostname ip 备注 1 manager107 10.0.3.107 centos7;3.10.0-957.1.3.el7.x86_64 2 worker68 10.0.3 ...

  2. 基于Docker Compose构建的MySQL MHA集群

    Docker MySQL MHA 基于Docker 1.13.1之上构建的MySQL MHA Docker Compose Project 可快速启动GTID模式下的MasterHA集群, 主用于My ...

  3. Ubuntu16.04环境下搭建基于三台主机的mysql galera cluster集群(实测有效)

    (注意: (1)文中红色字体部分不一定需要操作 (2)由于word文档编辑的原因,实际操作时部分命令需要手动输入!!直接复制粘贴会提示错误!! ) 一  搭建环境: 1 Ubuntu16.04版本(系 ...

  4. 三万字无坑搭建基于Docker+K8S+GitLab/SVN+Jenkins+Harbor持续集成交付环境

    写在前面 最近在 K8S 1.18.2 版本的集群上搭建DevOps环境,期间遇到了各种坑.目前,搭建环境的过程中出现的各种坑均已被填平,特此记录,并分享给大家! 文章和搭建环境所需要的yml文件已收 ...

  5. 基于docker和cri-dockerd部署kubernetes v1.25.3

    基于docker和cri-dockerd部署kubernetes v1.25.3 1.环境准备 1-1.主机清单 主机名 IP地址 系统版本 k8s-master01 k8s-master01.wan ...

  6. 搭建Kubernetes容器集群管理系统

    1.Kubernetes 概述 Kubernetes 是 Google 开源的容器集群管理系统,基于 Docker 构建一个容器的调度服务,提供资源调度.均衡容灾.服务注册.劢态扩缩容等功能套件. 基 ...

  7. 5.基于二进制部署kubernetes(k8s)集群

    1 kubernetes组件 1.1 Kubernetes 集群图 官网集群架构图 1.2 组件及功能 1.2.1 控制组件(Control Plane Components) 控制组件对集群做出全局 ...

  8. 使用 Docker 一步搞定 ZooKeeper 集群的搭建

    背景 原来学习 ZK 时, 我是在本地搭建的伪集群, 虽然说使用起来没有什么问题, 但是总感觉部署起来有点麻烦. 刚好我发现了 ZK 已经有了 Docker 的镜像了, 于是就尝试了一下, 发现真是爽 ...

  9. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录

    0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.感谢 在此感谢.net ...

随机推荐

  1. HTML学习笔记7:图片与超链接

    ①图片       <img/>标签,属性有: src,图片链接,分绝对路径和相对路径 width宽度 height,高度   ②超链接     <a>    内容描述     ...

  2. JavaScript (一、ECMAScript )

    一.js简介和变量 1.JavaScript的概述组成和特点 a.JavaScript 是脚本语言,是世界上最流行的编程语言,这门语言可用于 HTML 和 web,更可广泛 用于服务器.PC.笔记本电 ...

  3. [CVPR 2016] Weakly Supervised Deep Detection Networks论文笔记

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "Helvetica Neue"; color: #323333 } p. ...

  4. Java中判断是否为空的方法

    1.判断字符串或者对象是否为空 首先来看一下工具StringUtils的判断方法: 一种是org.apache.commons.lang3包下的: 另一种是org.springframework.ut ...

  5. PAT1070:Mooncake

    1070. Mooncake (25) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Mooncake is ...

  6. IO流系列一:输入输出流的转换

    输入流转字节数组的原理1.读取输入流,每一小段 读一次,取出 byteArray .2.将该一小段byteArray写入到字节输出流ByteOutStream.直到不能从输入流再读出字节为止.3.将字 ...

  7. 二十五、Hadoop学记笔记————Hive复习与深入

    Hive主要为了简化MapReduce流程,使非编程人员也能进行数据的梳理,即直接使用sql语句代替MapReduce程序 Hive建表的时候元数据(表明,字段信息等)存于关系型数据库中,数据存于HD ...

  8. PiggyMetrics windows 部署

    PiggyMetrics 是springcloud的demo,其特性就不细说了,主要描述在win10下部署的坑. 官网是:https://github.com/sqshq/PiggyMetrics 官 ...

  9. 如何给 mongodb 设置密码

    言简意赅,步骤如下: 连接mongo          mongo 进入admin数据库    use admin 创建管理员账户db.createUser({ user: "adminNa ...

  10. TensorFlow练习2: 对评论进行分类

    本帖是前一贴的补充: 使用大数据,了解怎么处理数据不能一次全部加载到内存的情况.如果你内存充足,当我没说 训练好的模型的保存和使用 使用的模型没变,还是简单的feedforward神经网络(updat ...