用Minikube部署Kubernetes单节点集群

一些基础知识

Kubernetes本质上通过协调一个集群(Cluster)中的计算机,使他们构成一个整体。使用kubernetes,容器化的应用部署下去时无需再考虑实际要部署再哪台机器上,kubernetes作为调度者,会自动以高效的方式选择宿主机位置。

Kubernetes cluster有两部分组成:

1.管理和调度资源的Master;2.实际承担容器运行任务的节点(Nodes). 他们之间的关系如下图所示。

用Minikube部署Kubernetes单节点集群_第1张图片

其中节点 (nodes) 可以是物理机,也可以虚拟机,但是都必须安装有Kubeletkubelet是节点和master之间通信的代理。除此之外,既然Kubernetes只是一个调度容器的工具,并不负责运行容器镜像,所以node上还需要有运行容器的环境,如Docker 或者 rkt.

实际在生产环节中使用kubernetes时,要有3个以上的node才有意义。道理很简单,要是只有一两个node,直接手动选择一个机器运行容器就行了,何必多此一举用kubernetes呢。但是学习和了解kubernetss时无需真的部署3个节点,布一个节点和一个master就足够了。

部署和启动minikube

初次接触kubernetss,利用Minikube可以轻松一键搭建一个包括1节点的kubernete集群,以供学习和熟悉k8s. Minikube能够一键安装kubernetes集群的原理是调用宿主机上的虚拟机部署node,Minikube支持linuxMacWin,此外还要安装好虚拟机环境。本地的搭建过程可见上一篇博文。但由于国情特殊,它需要去不存在的网站上下载额外的资源,所以搭建起来其实并不容易。要是网络通畅,可以试一下。

好在kubernetes网站上提供了一个可以在浏览器中操作的虚拟终端 https://kubernetes.io/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive minikube已经安装好了,不用在本地安装任何程序,用浏览器就可以直接命令,体验开启、关闭、监控、删除等操作。

打开网页,欣然接收k8s训练营的欢迎,本教程目标是用minikube体验k8s.

用Minikube部署Kubernetes单节点集群_第2张图片

启动minikube

1.跟着提示,启动minikube集群

Minikube start

用Minikube部署Kubernetes单节点集群_第3张图片

2.通过Kuberctl管理集群。

Kuberctl是kubernete的管理界面

输入

sudo kubectl cluster-info

查看目前的集群的master地址。

Kubectl和minikube是完全不搭界的两个东西,但之所以kuberctl现在知道集群的master地址,是因为minikube在启动集群时把集群信息写到了 ~/.kube/config 文件内。Kubectl读取了这里的内容才知道minikube刚才建立了一个节点并告知了master的地址,kubectl检查后发现确实是可以连通这个地址。我们可以查看 ~/.kube/config的内容。

用Minikube部署Kubernetes单节点集群_第4张图片

如果把这个config文件删掉,再运行 kubectl cluster-info, 就不知道master地址了呵呵。

用Minikube部署Kubernetes单节点集群_第5张图片

把配置文件改回来,用kubectl get node查看集群中的节点信息。不出所料,Minikube搭起来的集群中只有一个节点。

Dashboard

这时可以用minikube的dashboard在浏览器中查看图像化的状态信息。

输入命令

minikube dashboard –url

,返回仪表盘的地址,

用浏览器访问返回的地址就可以看到了

用Minikube部署Kubernetes单节点集群_第6张图片

使用Heapster插件查看集群状态

Minikube中自带了一些插件,可以用

minikube addons list

查看插件启用状态.

用Minikube部署Kubernetes单节点集群_第7张图片

我们用

minikube addons enable heapster

命令启用heapster插件,这是一个图形化界面的插件,查看界面的web地址

Minikube addons open heapster –url

 

用浏览器打开,可以看到 cpurom图表。

用Minikube部署Kubernetes单节点集群_第8张图片

 

Ref.

https://kubernetes.io/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro/

https://kubernetes.io/docs/tutorials/hello-minikube/#create-your-node-js-application

你可能感兴趣的:(前瞻研究,基础知识)