美文网首页
Kubernetes基础使用

Kubernetes基础使用

作者: 小明今晚加班 | 来源:发表于2019-08-14 21:50 被阅读0次

kubernetes是什么?

是goole开源的一个容器化应用管理平台.可以实现容器集群的自动化部署、自动扩缩容、维护等功能.

为什么要使用kubernetes?

首先kubernetes对集群的管理提供了一个简洁的处理方案;另外,在当前这个微服务盛行的大环境下,如何对容器化应用进行有效管理成为一个热点话题,而kubernetes正好可满足我们容器化管理需求,提供了一些列方便的操作方法,比如对应用的负载均衡管理、滚动更新等。

如何使用kubernetes?

参考Kubernetes Tutorial,学习如何创建一个Cluster,部署一个application,expose一个application,scale一个application,update一个application等操作。

基础环境构建--docker

Kubernetes主要对集群中的容器管理,因此在这里很大程度上离不开docker。要想做有关Kubernetes的实验demo,首先构建一个基础环境,本机实例环境:
Mac 操作系统
安装virtualbox
安装docker
docker安装成功后开启Kubernetes功能
安装docker的过程很简单,直接从网上下载执行文件,一路next安装即可,也可参考在Mac上用docker部署springboot项目。安装完成后开启Kubernetes功能,如下图设置:

image.png

minikube是什么

minikube相当于一个运行在本地的Kubernetes单节点,我们可以在里面创建Pods来创建对应的服务。(别人的解释:Minikube是一个快速搭建单节点Kubenetes集群的工具.

官方描述:Minikube is a tool that makes it easy to run Kubernetes locally. Minikube runs a single-node Kubernetes cluster inside a VM on your laptop for users looking to try out Kubernetes or develop with it day-to-day.

kubectl介绍

kubectl是Kubernetes集群的命令行工具,通过kubectl能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署.

本地构建镜像

借用Kubernetes Tutorial中脚本,分别创建两个文件,Dockerfile和server.js,如下


Dockerfile
server.js

构建镜像:

docker build -t pig:v1 . 

然后,查看新创建的镜像是否存在

docker images

可以看到下图第二行的镜像,即为新创建的image


image.png

如果在此,还想验证一下镜像是否正确的话,可以运行image,

docker run -d -p 8088:8080 pig:v1

然后在浏览器中访问localhost:8088是否成功~

把镜像push到docker.io
  • 首先我要解释为什么要做这么一步?
    按理说,我们在本地创建了镜像,如果有需要的话我们还可把创建的image给运行起来,但是后面我们需要部署第一个application,在部署第一个应用的时候需要指定镜像地址,经过我的测试发现,如果我直接指定本地的镜像名称的时候一直没有成功,在官方文档教程中我看到image是直接从goole云平台系统中pull过来的,我这里没有goole云平台系统的账户,但是我在下载docker的时候,我注册了docker,因此这里考虑把本地创建的image push到docker Hub中,方便我们后续从docker Hub拉取image。
  • 怎么做?怎么把本地image push到docker Hub?
    首先,你要在docker 上注册账户,登录之后,可以创建repository,
    image.png
    接下来,在terminal登录docker账户
//按照提示输入密码啥的就行
docker login

参考如何将自己的镜像上传到Docker hub上

创建Deployment

kubectl create deployment sb-demo --image=docker.io/cczhao/cczhao-repo:sb --port=8083

然后,可以通过下面的命令去查看

kubectl get deployments

kubectl get pods

使用service暴露application

kubectl expose deployment sb-demo --type="NodePort" --port=8080

查看expose之后的pod和service信息,


kubectl get pods

kubectl get services
image.png

检查Node映射的端口,

kubectl describe services/sb-demo
image.png

检测是否可访问,

curl $(minikube ip):31436

使用scale调整pod副本数量

kubectl expose deployments/sb-demo --replicas=5

滚动更新

该部分内容后续更新。

相关文章

网友评论

      本文标题:Kubernetes基础使用

      本文链接:https://www.haomeiwen.com/subject/nkqzrctx.html