如何安装minikube,kubectl以及实现Kubernetes集群部署

这篇文章给大家介绍如何安装minikube,kubectl以及实现Kubernetes集群部署,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

目前创新互联公司已为上1000家的企业提供了网站建设、域名、雅安服务器托管、网站托管、服务器租用、企业网站设计、夏河网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

(1) 安装kubectl

  • curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl 

  • $(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt) 目前得出的是:v1.9.4

  • chmod +x kubectl && mv kubectl /usr/local/bin/kubectl

  • 安装完成,可通过kubectl version查看是否成功。

(2)安装minikube

  • curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.25.0/minikube-linux-amd64

  • 这是从github上直接copy的安装方式,同样的,可以通过minikube version查看是否安装成功。

(3)配置信息(这个我具体没有研究是否是必要的)

export MINIKUBE_WANTUPDATENOTIFICATION=false

&&  export MINIKUBE_WANTREPORTERRORPROMPT=false

&& export MINIKUBE_HOME=$HOME

&& export CHANGE_MINIKUBE_NONE_USER=true 

&& mkdir $HOME/.kube || true

&&  touch $HOME/.kube/config

&& export KUBECONFIG=$HOME/.kube/config

(4)由于需要下载gcr.io/google-containers/... 下的镜像,这里需要代理,通过socks5+proxychains实现。事先买了一台国外的服务器

      apt-get install proxychains

      vim /etc/proxychains.conf 找到最后一行,修改地址和端口

      socks5  127.0.0.1 1080 

     当然我的环境中是因为有一台专门的服务器作为本地连接的代理,端口号为1080,所有的请求都是先到本地的一台服务器,再通过国外的服务器上网。

    注意:docker daemon默认不会读取系统代理,所以需要手动设置。

    这里分为Ubuntu1404版本中:vim  /etc/default/docker   添加export ALL_PROXY=“socks5://127.0.0.1:1080”

                                                    然后通过/etc/init.d/docker restart

                  Ubuntu1604版本中:mkdir /etc/systemd/system/docker.service.d/

                                                   [Service]  Environment="ALL_PROXY=socks5://127.0.0.1:1080"

                                                   然后刷新配置 systemctl daemon-reload

                                                   重启docker服务 systemctl restart docker 

                                                   systemctl show --perporty=Environment docker 查看配置是否生效

     proxychains使用很简单,目前: proxychains curl www.google.com测试是否成功

                                             支持: proxychains docker pull gcr.io/google-containers/...

                                     proxychains apt-get update/ apt-get install -y kubelet kubeadm kubectl

                                                        proxychains kubeadm init

                                                        proxychains minikube start --vm-driver=virtualbox

目前我这么用是可以获取成功的。

(5) 需要virtualbox支持,此处有点像,虚拟机里面还需要装虚拟机,(有点蒙?!)说是需要cpu支持VT-X等硬件虚拟化,可是我本身运行的ubuntu/centos就是VMware虚拟机或virtualbox虚拟机的系统。而且开始一直是在命令行系统上运行。

       当然minikube start --vm-driver=virtualbox此时是可以运行了,但是我后面一直卡在一个错误里面

        This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory.

       官网上说是需要安装virtualbox,于是找到如下步骤安装:

      (a) 先在/etc/apt/source.list文件中添加软件源

             deb http://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib

      (b) 添加virtualbox5.2的软件源秘钥,当然这是我下了的版本,其他版本一样。

    wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -

      (c) apt-get update && apt-get install virtualbox-5.2

  • 安装成功之后,再次尝试proxychains minikube start --vm-driver=virtualbox

  • 依然报错。网上说是需要在系统启动时,进入F2到bios设置的Inter virtual..菜单中修改成enabled,但是发现我的VMware里居然没有,于是我又花费时间去安装virtualbox软件,添加ubuntu系统,依然没有找到类似的bios设置,难道我电脑的cpu不支持?

  • 正当我要放弃的时候,我打开了VMware中的一台Ubuntu1404桌面版系统时,想到试一试,果然在虚拟机的设置里面居然有: 虚拟化引擎    首选模式 仍为自动 但是启用下面这个选项:虚拟机化Intel VT-x/EPT 或 AMD-V/RVI(V)。

  •  最后,通过proxychains minikube start --vm-driver=virtualbox 启动了Kubernetes集群。

 (6)通过minikube命令,根据官网进行测试,学习。

        当然(5)步启动的时间有点长的。因为大概知道需要下载很多gcr.io下的镜像。

        这里在Ubuntu14的命令行中,运行virtualbox,可以直接调出界面,可以看到如下图

如何安装minikube,kubectl以及实现Kubernetes集群部署

原来minikube start命令会自动生成一个vb的虚拟机,而且整个kubernetes相关的组件,docker镜像都在这个名叫minikube的Linux系统中生成,所以这么慢。

于是,开始通过命令行操作cluster。

  • kubectl get nodes 获取node节点,这里只有一个单节点

  • kubectl get pod -o wide --all-namespaces  查看所有运行的容器

  • kubectl describe podName -n kube-system 查看kube-system空间内的名为podName的执行过程详情,可用于定位问题

  • minikube status 查看local kubernetes cluster status

  • minikube ip 查看ip 例如:这里得到ip为192.168.99.100

  • minikube dashboard --url 查看dashboard url 例如:这里得到http://192.168.99.100: 31512

  • minikube ssh 登录到virtualbox的系统中,可以查看到docker images下载的gcr.io的镜像,以及docker ps

  • minikube get-k8s-versions 获取kubernetes版本列表

  • minikube start --kubernetes-version v1.7.3 以某一个kubernetes版本启动集群

  • eval $(minikube docker-env) 通过这个命令就可以在minikube所在的虚拟机,直接运行docker来查看镜像和运行的容器,这样就可以不需要minikube ssh再查看docker信息

  • minikube service serviceName --url 可以查看到service的访问url

注意:启动时,需要添加proxychains minikube start --vm-driver=virtualbox 这样才能下载gcr.io里面的镜像。

如下图,测试命令,以及dashboard页面:

如何安装minikube,kubectl以及实现Kubernetes集群部署

根据minikube dashboard --url 得到dashboard地址为:http://192.168.99.100:30000

如何安装minikube,kubectl以及实现Kubernetes集群部署

关于如何安装minikube,kubectl以及实现Kubernetes集群部署就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


当前名称:如何安装minikube,kubectl以及实现Kubernetes集群部署
分享网址:http://hbruida.cn/article/ghgiio.html