zoukankan      html  css  js  c++  java
  • Mac本地搭建kubernetes环境

    前言:之前在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 ~/.bash_profile,编辑,并添加如下:
    export GOROOT=/usr/local/go
    export GOPATH=/Volumes/E/go
    export GOBIN=/usr/local/go/bin
    :$GROOT/bin
    • 查看go环境,golang环境配置完成。如下图:

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

    二、安装kubectl

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

    ➜ git clone https://github.com/kubernetes/kubernetes.git
    ➜ cd kubernetes
    ➜ makesudo 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.1makesudo cp out/minikube /usr/local/bin/sudo chmod +x /usr/local/bin/minikube

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    ubuntu删除django和安装django
    linux shell 统计文件单词出现次数
    linux shell $$、$!特殊符号
    linux安装zabbix需要php两个模块php-bcmach与php-mbstring
    linux 源码编译与卸载
    Job for dhcpd.service failed because the control process exited with error code. See "systemctl status dhcpd.service" and "journalctl -xe" for details.问题
    Linux中部署DNS分离解析技术
    NFS网络文件系统服务搭建
    Samba服务搭建
    Linux RAID磁盘阵列技术
  • 原文地址:https://www.cnblogs.com/qstudy/p/9382110.html
Copyright © 2011-2022 走看看