zoukankan      html  css  js  c++  java
  • centos7下kubernetes(1。kubernetes---start)

    kubernetes官网:https://kubernetes.io/docs/home/

    也是怀着不情愿的心情,要开始kubernetes了,本身是非常热爱技术,尤其是容器技术,可能是最近有点累和懈怠,变得有些懒惰了。

    每每这种情况,我都会去智联招聘搜一下docker。。。。薪资很高,看了具体的招聘要求,差距很大很大,感觉好累啊。只能说学海无涯,回头可能是岸。。。。话不多说了。开始吧

    跑起来~~~

    https://kubernetes.io/docs/tutorials/kubernetes-basics/

    左面是教程菜单。

    我们先来创建一个kubernetes集群,感受一下:

    显示以下操作界面:

    很热情的开始界面

    左边是操作说明,右边是terminal,命令终端口

    根据操作说明,我们在terminal中执行minikube start,然后执行kubectl get nodes,这样就创建好了一个单节点的kubernetes集群

    集群的唯一节点为host01,需要注意的是当前执行命令的地方并不是host01.我们是在通过kubernetes的命令行工具远程管理集群

    heapster,kubernetes-dashboard都是集群中运行的服务

    集群就这么创建好了

    kubernetes核心功能

    部署应用:

    kubectl run kubernetes-bootcamp  --image=docker.io/jocatalin/kubernetes-bootcamp:v1   --port=8080

    注:显示的有点不正常

    这里的deployment是kubernetes的一个术语,可以理解为应用。

    kubernetes还有一个重要的术语:Pod

    pod是容器的集合,通常会将紧密相关的一组容器放到一个POd中,同一个Pod中的所有容器共享IP地址和port空间,也就是说他们在一个newwork namespace中

    Pod是kubernetes调度的最小单位,同一Pod中的容器始终被一起调度。

    运行kubectl get pods

    kubernetes-bootcamp-390780338-rsrzj   就是应用的pod

    访问应用:

    默认情况下,所有pod只能在集群内部访问。对于上面这个例子,要访问应用只能直接访问容器的8080端口。为了能从外部访问应用,我们需要将容器的8080端口映射到节点的端口。

    执行如下命令:

    kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port 8080

    执行kubectl get services可以查看应用被映射到那个端口

    这里有两个service

    kubernetes是默认的service,暂时不考虑

    kubernetes-bootcamp是我们应用的service,8080端口已经映射到host01的31068端口,端口号是随机分配的,可以执行如下命令访问应用:

    curl host01:31068

    Scale应用:

    默认情况下只运行一个副本,可以通过kubectl get deployments

    执行以下命令将副本数增加到3个:

    kubectl scale deployments/kubernetes-bootcamp --replicas=3

    通过curl访问应用:

    可以看到每次请求发送到不同的pod,三个副本轮询处理,这样就实现了负载均衡

    要scale down也很方便,执行命令:

    滚动更新:

    当前应用使用的image版本为v1,执行如下命令将其升级到v2:

    kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2

     如果要退回v1版本也很容易,执行kubectl rollout undo

    验证版本已经回退到v1

  • 相关阅读:
    el-select下拉框选项太多导致卡顿,使用下拉框分页来解决
    vue+elementui前端添加数字千位分割
    Failed to check/redeclare auto-delete queue(s)
    周末啦,做几道面试题放松放松吧!
    idea快捷键
    解决flink运行过程中报错Could not allocate enough slots within timeout of 300000 ms to run the job. Please make sure that the cluster has enough resources.
    用.net平台实现websocket server
    MQTT实战3
    Oracle 查看当前用户下库里所有的表、存储过程、触发器、视图
    idea从svn拉取项目不识别svn
  • 原文地址:https://www.cnblogs.com/lkun/p/8058539.html
Copyright © 2011-2022 走看看