Mac本地搭建kubernetes环境

Stella981
• 阅读 1196

前言:之前在windows上面的虚拟机上面手工搭建了kubernetes集群,但是环境被破坏了,最近想要继续学习k8s,手工搭建太费事,所以选择了minikube,完全能够满足个人的需求,其实在Windows、Mac、Linux系统上面安装大概都差不多,以下只是我个人搭建的过程以及遇到的一些问题。

k8s集群搭建起来还是有点难度,因为刚开始的玩的话,会有很多想不到的坑,好在 Kubernetes 社区提供了可以在本地开发和体验的极简集群安装 MiniKube,对于入门学习来说很方便。官方文档参照https://github.com/kubernetes/minikube#installation;

环境需求:git、golang环境、虚拟机驱动(VirtualBox)

主要步骤:1、安装kubectl **  2、安装minikube**

一、环境配置

1、git环境比较简单,不再赘述。

2、golang环境配置:

  • https://golang.org/dl/,下载然后跟安装软件一样进行安装,我选择最新版本1.10.3。

  • 配置环境变量,进入终端 敲 vi ~/.brash_profile,编辑,并添加如下:

    export GOROOT=/usr/local/go export GOPATH=/Volumes/E/go export GOBIN=/usr/local/go/bin :$GROOT/bin

  • 查看go环境,golang环境配置完成。如下图:

Mac本地搭建kubernetes环境

3、安装VirtualBox:进入https://www.virtualbox.org/wiki/Downloads,下载完成和平常软件安装一样进行安装。

二、安装kubectl

kubectl很多的安装方法,我选择源码编译安装,先从git上面下载,然后进行安装,具体执行如下:

➜ git clone https://github.com/kubernetes/kubernetes.git
➜ cd kubernetes
➜ make
➜ sudo cp _output/bin/kubectl /usr/local/bin/
➜ sudo chmod +x /usr/local/bin/kubectl

三、安装minikube

MiniKube 是使用 Go 语言开发的,所以安装其实很方便,一是通过下载基于不同平台早已编译好的二级制文件安装,二是可以编译源文件安装。我选择用源码进行安装。本次有两个坑,我在后面会提到,有两个注意:

  • 1、minikube安装的路径,要在/Users/qstudy/go/src/k8s.io,不然会报错。
  • 2、按照官方文档,用官方的源码安装的时候,会出现time out(可能是一些网络问题),github上面也有人遇到这样的问题。所以选择阿里云的进行安装。

1、进入目录/Users/qstudy/go/src/k8s.io(qstudy是我自己的,大家会不同)然后如下:

➜ git clone https://github.com/AliyunContainerService/minikube
➜ cd minikube
➜ git checkout aliyun-v0.28.1
➜ make
➜ sudo cp out/minikube /usr/local/bin/
➜ sudo chmod +x /usr/local/bin/minikube

我选择最新的版本aliyun-v0.28.1,也可选择其他版本

2、然后进行启动:minikube start ,也可以带一些参数,详见官方文档。如下图:

Mac本地搭建kubernetes环境

3、启动dashboard,敲命令minikube dashboard,如下图:

Mac本地搭建kubernetes环境

至此,kubernets本地学习环境已经搭建完成。

#还有两个在这个过程中遇到的问题

1、如果在安装minikube,下载源码路径不对,编译的时候会出现如下的错误:

Mac本地搭建kubernetes环境

2、选择国外的进行安装的时候会出现下面的问题(我是可以出去的),并且有时候你启动的时候,有些是可以下载的,第一次安装kubelet不行,但后面又断断续续多试了几次,安装完成了kubelet,kubeadm,但是在kube-proxy的时候,又time out ,不会动了,实在受不了了。只能猜测是网络不稳定,因为我试过minikube delete,然后清理~/.minikube ,尝试后还是不行,如下图:

这是第n次尝试在kubeadm的时候出现问题了

Mac本地搭建kubernetes环境

下面这是前面的kubeadm和kubelet完成,但是在kube-proxy的时候出现问题了

Mac本地搭建kubernetes环境

如果遇到同样的或者其他的问题,欢迎一起讨论。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Kubernetes和TensorFlow集群搭建
原创未名小宇宙2018012022:48:35@引用自今日头条莫问出处莫问归途本文演示在Kubernetes集群上搭建TensorFlow集群。集群如下:(请不要问node1哪去了,因为TA罢工了)!Kubernetes和TensorFlow集群搭建(https://oscimg.oschina.net/oscnet
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这