上手 Kubernetes

  一。Kubernetes架构

       

二。重要的几个概念

     1.Pod:最小单元

        1.1 一个Pod里可以有多个Container

        1.2这些container共享这个pod的同一个网络地址,同一个文件系统,通过127.0.0.1互访等

        1.3彼此间访问速度快,而且生命周期是同步的

     2.service:

     3.label:

     4.deployment:

        4.1 创建副本,取代了rc

        4.2 整合了灰度发布,暂停,恢复发布

        4.3 整合了故障自愈

        4.4 新增了回滚

     。。。

     deployment --> replicaset --> pod

三。安装

四。使用

(一) 创建deployment及pod

      1. 创建一个deployment:

         kubectl run nginx --image=nginx:1.11.4-alpine

      2. 删除一个deployment:

         kubectl delete deployment nginx

      3. 查看创建的deployment:

          kubectl get deployment nginx

      4. 查看deployment的详细信息

          kubectl describe deployment nginx

      5. 查看pod:

          kubectl get pod

          kubectl get pod -o wide

       6. 查看pod日志

           kubectl logs xxx

        7.进入pod里查看

           kubectl exec -it xxx /bin/bash

(二) 创建service

        方法一:

        1.  touch nginx.svc.yaml

        2. vim nginx.svc.yaml

            

            yaml文件的格式:同一层级字段要对其,前面个空格多少五所谓,但空格的数量一定是一样的。

        3. kubectl create -f nginx.svc.yaml

        4. 查看创建的service:

            kubectl get svc

        5. 查看路由到endpoint上情况:

            kubectl get ep

       方法二:

         kubectl expose nginx --type=NodePort --name=nginx-expose --port=80

         

      删除一个sevice

        kubectl delete svc nginx-expose 

 

(三)扩展Deployment及Pod的数量:

      1. 扩展命令:

          kubectl scale deploy nginx --replicas=3

      2. 查看扩展的情况:

          kubectl get deploy nginx

          kubectl describe deploy nginx

          kuberctl get rs

          kuberctl get pod          

         

      3. 查看service路由的情况:

         

 

(四)灰度发布及回滚

      1. 版本升级:

         kubectl set image deploy nginx nginx=nginx:1.7.9

     2. 查看升级过程:

         kubectl rollout status deploy nginx

         kubectl describe deploy nginx

     3. 查看history:

         3.1 查看所有的history: kubectl rollout history deploy nginx

         3.2 查看某个history的详细信息:kubectl rollout history deploy nginx --revision=2

     4. 查看新老replicaset:

         kubectl get rs

     5. 发布异常时的追踪:

         5.1 查看发布历史:kubectl rollout history deploy nginx

         5.2 查看有问题的发布版本:kubectl rollout history deploy nginx --revision=2

         5.3 查看rs: kubectl get rs

         5.4 查看详细的rs: kubectl describe rs nginx-xxx

         5.5 查看rs创建的pod: kubectl get pod 

         5.6 查看pod的详细信息: kubectl describe pod nginx-xxx-yyyy

     6.回滚:

        kubectl rollout undo deploy nginx

     7.删除一个pod:

        kubectl delete pod nginx-xxx-yyyy     

posted on 2017-11-07 15:29  晓风残梦  阅读(648)  评论(0编辑  收藏  举报

导航