zoukankan      html  css  js  c++  java
  • 上手 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     

  • 相关阅读:
    R中seurat等问题学习
    主成分分析PCA学习一条龙
    PAT 1116 Come on! Let's C [简单]
    PAT 1077 Kuchiguse [一般]
    R中的一些基础1106
    PAT 1036 Boys vs Girls[简单]
    稳定婚姻匹配问题模板
    University Entrace Examination zoj1023
    Stable Match
    7-1 玩转二叉树
  • 原文地址:https://www.cnblogs.com/derekchen/p/7799226.html
Copyright © 2011-2022 走看看