前言
Minikube
是一个可以在本地电脑上运行Kubernetes
的工具。Minikube
会在笔记本电脑中的虚拟机上运行一个单节点的Kubernetes
集群,让用户能对Kubernetes
进行体验或者在之上进行Kubernetes
的日常开发。
Windows
,MacOS
和Linux
系统上都可以安装Minikube
,不过在安装前需要确认系统的版本已经支持虚拟化(一般只要不是太老的系统版本都支持虚拟化)
kubectl
在电脑上安装Minikubne
前需要先安装kubectl
,它是Kubernetes
的命令行工具,可以使用kubectl
部署应用程序,检查和管理集群资源以及查看日志。
安装kubectl
文章里我们演示的安装步骤都是macOs上的,如果是Linux和Windows系统只需要下载相应系统的二进制文件就行,我会在文章后边贴上官方的安装指南。
首先下载最新的稳定版本的kubectl
二进制文件。
curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl"
为kubectl
授予可执行权限,然后将可执行文件放到系统的PATH
目录中
chmod +x ./kubectl && sudo mv ./kubectl /usr/local/bin/kubectl
安装MiniKube
如果你的macOS
上没有安装虚拟机监控程序的话在第一次启动minikube
的时候会自动选择安装HyperKit
作为虚拟机驱动,如果是以前电脑上有安装过VirtualBox
那么可以在Minikube
启动时加上--vm-driver=virtualbox
来选择虚拟机驱动。
安装minikube
的过程跟kubectl
的过程差不多,也是下载minikube
的二进制文件,赋予可执行权限后将其放入系统环境变量PATH
对应的目录中。
不过由于大家都知道的网络访问原因,很多朋友无法直接使用Kubernetes
官方提供的minikube
进行实验,所以这里选择使用阿里云提供minikube
版本
curl -Lo minikube https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.11.0/minikube-darwin-amd64 \
&& chmod +x minikube \
&& sudo mv minikube /usr/local/bin/
如果是Linux和Window系统,安装流程类似只是软件的版本不同,具体可以参照MiniKube的安装指南
运行Minikube
启动minikube
的方法非常简单,只要使用下面的命令
minikube start --image-mirror-country='cn' --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers'
在最新的Minikube
中,已经提供了配置化的方式,可以帮助大家利用阿里云的镜像地址来获取所需的Docker
镜像和配置。
测试Minikube
下面我们通过minikube status
命令查看一下它的运行状态测试我们安装的minikube
。
➜ minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
通过kubectl
查看集群的一些信息。
➜ kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-67c766df46-59rtb 1/1 Running 0 17m
kube-system coredns-67c766df46-jxmvf 1/1 Running 0 17m
kube-system etcd-minikube 1/1 Running 0 16m
kube-system kube-addon-manager-minikube 1/1 Running 0 16m
kube-system kube-apiserver-minikube 1/1 Running 0 16m
kube-system kube-controller-manager-minikube 1/1 Running 0 17m
kube-system kube-proxy-ljppw 1/1 Running 0 17m
kube-system kube-scheduler-minikube 1/1 Running 0 16m
kube-system storage-provisioner 1/1 Running 0 17m
➜ kubectl get nodes
NAME STATUS ROLES AGE VERSION
minikube Ready master 18m v1.18.3
➜ kubectl get namespaces
NAME STATUS AGE
default Active 18m
kube-node-lease Active 18m
kube-public Active 18m
kube-system Active 18m
接下来
安装完Minikube
后我们的电脑上就有了Kubernetes
的基础运行环境,通过最近几篇关于Kubernetes
的文章相信大家都对已经对Kubernetes
有了初步的认识,不过都是概念性的知识,到现在来说Kubernetes
还是一个比较抽象的东西,说实话这么学下去的话我会觉得太枯燥,需要一些实操性的练习给自己一些正反馈才能坚持下去。所以我准备尝试做一个简单的用Go
语言写的应用程序的Docker
镜像,把它放到本地电脑上的Kubernetes
集群(Minikuebe
)上运行。具体步骤会在下周推送的文章里告诉大家,祝大家假期愉快!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。