• 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

  • 相关阅读:
    Java基础知识三点
    《计算机网络》读书笔记
    Shell编程初步
    《现代操作系统》读书笔记
    《数据库系统概论》读书笔记
    《数据结构》读书笔记
    Linux使用笔记
    【Thinking in Java】读书笔记
    算法题摘录六
    算法题摘录五
  • 原文地址:https://www.cnblogs.com/lkun/p/8058539.html
Copyright © 2020-2023  润新知