环境、软件准备
kubectl 安装
minikube 安装
部署运行实例
1、kubernetes 介绍
Kubernetes 是 Google 开源的容器集群管理系统,它构建在目前流行的 Docker 技术之上,为容器化的应用提供资源调度、部署运行、服务发现、扩容缩容等一整套功能。而就在日前 DockerCon 欧洲大会上, Docker 宣布拥抱支持 Kubernetes,Docker 公司计划提供一个无缝平台,同时支持包含 Swarm 和 Kubernetes 集群的异构部署。minikube 是一个使我们很容易在本地运行 kubernetes 的工具,他是通过在本机 VM 里运行一个单节点集群,大大方便学习和使用 kubernetes。
2、环境、软件准备
本次演示环境,我是在本机 MAC OS 以及虚拟机 Linux CentOS7 上操作,以下是安装的软件及版本:
Docker: version 17.09.0-ce
Oracle VirtualBox: version 5.1.20 r114628 (Qt5.6.2)
Minikube: version v0.22.2
Kuberctl:
Client Version: v1.8.1
Server Version: v1.7.5
注意:Minikube 启动的单节点 k8s Node 实例是需要运行在本机的 VM 虚拟机里面,所以需要提前安装好 VM,这里我选择 Oracle VirtualBox。k8s 运行底层使用 Docker 容器,所以本机需要安装好 Docker 环境,这里忽略 Docker、VirtualBox 的安装过程,着重介绍下 Minikube 和 Kuberctl 的安装。
3、 kubectl 安装
kubectl 是 Kubernetes 的命令行工具,我们可以使用该工具查看集群资源,创建、更新、删除各个组件等等,同时提供了非常详细的使用文档,非常方便,那我们在本机 Mac 上安装一下。
安装方式有两种:
一、通过 curl 安装
1、安装最新版 curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/darwin/amd64/kubectl # 安装指定版本,例如 v1.8.0 curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.8.0/bin/darwin/amd64/kubectl 2、赋二进制文件执行权限 chmod +x ./kubectl 3、将二进制文件移到 PATH 中 sudo mv ./kubectl /usr/local/bin/kubectl二、通过 Homebrew 安装
brew install kubectl1
安装完毕后,执行 kubectl version 查看版本以及是否安装成功。我们可以通过 kubectl help 查看说明文档。
4、minikube 安装
minikube 是一个使我们很容易在本地运行 kubernetes 的工具,他是通过在本机 VM 里运行一个单节点 kubernetes 集群,这对于新手想了解和学习 kubernetes 提供了很大的帮助。所以在安装 minikube 之前我们需要在本机先安装 VM,这里我选择 VirtualBox 忽略安装过程,以下是可选 VM 列表:
minikube 的安装也很简单。
1、curl 方式安装
OSX 系统: curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.22.3/minikube-darwin-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/ Linux 系统: curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.22.3/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/2、若上边地址被墙了,可以去 GitHub 上下载安装包,在执行。
下载最新版安装包,各系统对应地址如下:
然后执行 chmod +x minikube && sudo mv minikube /usr/local/bin/,即可完成安装。安装完毕后,执行 minikube version 查看版本以及是否安装成功。我们可以通过 minikube help 查看说明文档。
5、部署运行实例
好了,环境我们已经安装完毕,现在来演示运行一个实例,这里我已 tomcat 镜像为例,演示部署服务,发布服务,扩容缩容服务等操作。
1、创建并启动 minikube 虚拟机 $ minikube start Starting local Kubernetes cluster... Running pre-create checks... Creating machine... Starting local Kubernetes cluster... 2、创建 hello-minikube 部署 $ kubectl run hello-minikube --image=tomcat:8.0 --port=8080 deployment "hello-minikube" created 3、发布服务 hello-minikube $ kubectl expose deployment hello-minikube --type=NodePort service "hello-minikube" exposed 4、查看 pods $ kubectl get pods NAME READY STATUS RESTARTS AGE hello-minikube-598805112-3bzmf 1/1 ContainerCreating 0 5s 注意:刚开始时,pod 没有完全创建好的时候,状态是 ContainerCreating,当部署完成后,状态就变成 Running。 $ kubectl get pods NAME READY STATUS RESTARTS AGE hello-minikube-598805112-3bzmf 1/1 Running 0 25s 5、获取服务地址 $ minikube service hello-minikube --url http://192.168.99.102:30724 $ minikube service hello-minikube 将直接打开地址到默认浏览器上。 6、停止 minikube 虚拟机 $ minikube stop Stopping local Kubernetes cluster... Stopping "minikube"...