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     

  • 相关阅读:
    《Java基础学习笔记》JAVA修饰符之私有化(Private)
    《Java基础学习笔记》JAVA之静态代码块
    《Java基础学习笔记》JAVA之构造函数和构造代码块
    《Java基础学习笔记》JAVA面向对象
    在C#.NET中,如何生成PDF文件?主要有以下几个途径:(转)
    ckeditor与ckfinder的使用方法 .NET (转载)
    ckeditor3.3.1编辑区自动换行(转)
    iTextSharp 使用详解(转)
    .net DataGrid绑定列手动添加数据
    操作必须使用一个可更新的查询
  • 原文地址:https://www.cnblogs.com/derekchen/p/7799226.html
Copyright © 2011-2022 走看看