码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 随笔Kubernetes


    使用Kubernetes的方法:  

    面向其声明式API进行编程:

        声明资源对象的终态
        如何达成实际状态,则由Controller来负责

    提供了客户端工具:
        CLI: kubectl 
        Web UI:Dashboard

    kubectl
    指令式命令:管理的目标的对象的操作和配置,通过命令行选项进行指定 

            kubectl create deployment                              #有就删,没有就错
            kubectl create service nodeport
            kubectl get nodes
            kubectl delete node k8s-node01.magedu.com
    指令式对象配置:对象配置通过配置文件进行定义   #有就删,没有就不显示  建议使用
            kubectl get -f nodes.yaml
            kubectl delete -f nodes.yaml
    声明式对象配置:对象配置通过配置文件进行定义
            kubectl apply -f nodes.yaml  #没,创建,有不一样。修改,一样,不动   建议使用

     API资源规范

            API Server内置有限种的数据结构(资源类型),每种类型都可以被填充数据后实例化出一至多个对象

            ~# kubectl api-resources   列出所有表结构

    1. NAME SHORTNAMES(缩写) APIVERSION NAMESPACED KIND
    2. (名字) (缩写) (名称空间级别) (表类型标识单词头大写)
    3. bindings v1 true(是) Binding
    4. componentstatuses cs v1 false(集群级别) ComponentStatus

    Pod:类型

    列:

    nginx-pod
    demoapp-pod
    fpm-pod

    对象的标识符:对象的Name,不能重复可以01  02  

    为降低名称冲突的概率:使用名称作用域
     

    名称空间:Namespace  #当前资源只要在名称空间里不重复就行了,这里名称空间和内核的名称空间没有关系的,他是K8s独有的名称空间

    名称作用域存在两个级别:
    Cluster                 #集群级别
    Namespace         #一个Cluster里可以创建多个名称空间

    资源类型也有级别的概念,类型所属的级别,代表着创建资源对象所属的级别;

    1. 每个的组的版本号,独立演进
    2. alpha: 内测
    3. beta:公测
    4. stable:稳定
    5. ~# kubectl api-versions
    6. admissionregistration.k8s.io/v1
    7. apiextensions.k8s.io/v1
    8. apiregistration.k8s.io/v1
    9. apps/v1
    10. authentication.k8s.io/v1
    11. authorization.k8s.io/v1
    12. autoscaling/v1
    13. autoscaling/v2
    14. autoscaling/v2beta2
    15. batch/v1
    16. certificates.k8s.io/v1
    17. coordination.k8s.io/v1
    18. discovery.k8s.io/v1
    19. events.k8s.io/v1
    20. flowcontrol.apiserver.k8s.io/v1beta1
    21. flowcontrol.apiserver.k8s.io/v1beta2
    22. networking.k8s.io/v1
    23. node.k8s.io/v1
    24. policy/v1
    25. rbac.authorization.k8s.io/v1
    26. scheduling.k8s.io/v1
    27. storage.k8s.io/v1
    28. storage.k8s.io/v1beta1
    29. v1
    30. v1 --> core/v1

    资源范式:
                apiVersion:                     负责标明该类型所隶属的API群组
                Kind:                              用于指定类型标识
                metadata:                     帮助识别对象唯一性的数据,包括一个 name 名称 
                spec: ,                        定义资源对象的终态

                status: ,                        资源的实际状态,由系统组件自行负责维护

    核心功能:以应用为中心的应用编排平台
        围绕编排运行应用的各种需求,被分别组织到多个资源类型中

        内建文档: 查看资源信息,快速获取内容

                kubectl explain Kind
                   kubectl explain Kind.spec

     查看 安装相关命令

    kubectl get pods       #查看
    kubectl get pods mysql-9d74fbb9b-6wb5v -o yaml   #yaml格式查看你指定

    kubectl create namespace www                                 #创建名称空间

    kubectl get namespace                                               #查看所有名称空间

    系统的内置名称空间:
                    default:默认使用的名称空间
                    kube-system:系统的名称空间
                    kube-node-leases
                    kube-public

    kubectl get pods -n kube-system                         #查看所有系统的名称空间

    查看或列出资源对象
    kubectl get [ ...] [-n ] [-o yaml|json|wide]

    kubectl get /  / [-n ] [-o yaml|json|wide]

                    --watch, -w:持续监视

    1. [root@master01 ~]#kubectl create deployment demoapp --image=ikubernetes/demoapp:v1.0 --replicas=2 -n www #创建
    2. deployment.apps/demoapp created
    3. [root@master01 ~]#kubectl get deployments -n www
    4. NAME READY UP-TO-DATE AVAILABLE AGE
    5. demoapp 0/2 2 0 57s
    6. [root@master01 ~]#kubectl get pods -n demo
    7. NAME READY STATUS RESTARTS AGE
    8. demoapp-55c5f88dcb-bsjsd 0/1 ContainerCreating 0 8s
    9. demoapp-55c5f88dcb-wwc5f 0/1 ContainerCreating 0 8s
    10. kubectl get pods -n wide -n demo #查看详情
    11. kubectl logs demoapp-55c5f88dcb-bsjsd -n demo #查看日志
    12. 查看容器日志:
    13. kubectl logs <POD_NAME> [-c CONTAINER_NAME] [-n <NAMESPACE>]
    14. kubectl scale deployments/demoapp --replicas=4 -n demo #缩 30秒宽限 阔不需要
    15. 手动扩容或缩容:
    16. kubectl scale <TYPE>/<NAME> --replicas=<NUM> [-n <NAMESPACE>]
    17. 在Pod中的某容器内部运行命令:
    18. kubectl exec (POD | TYPE/NAME) [-c CONTAINER] [flags] -- COMMAND [args...] [options]
    19. kubectl exec -it POD_NAME [-c CONTAINER] -- COMMAND [args...]

    Service  固定发访问端口  应用

     Service:
                类型:
                    ClusterIP:仅支持集群内部的客户访问   默认
                    NodePort:支持集群内部客户端访问;同时,支持集群外部的客户端通过任何一个的节点IP地址进行访问,但要使用特定端口  分配的范围:30000-32768

    kubectl create service clusterip NAME [--tcp=:] [--dry-run=server|client|none]

     kubectl create service nodeport NAME [--tcp=port:targetPort] [--dry-run=server|client|none] [options]    kubectl create service nodeport demoapp --tcp=80:80 -n demo
      

     curl 172.29.9.11:30483    #可以在外部进行访问 可以 负载均衡    内部名称访问就行

    kubectl apply -f mysql-ephemeral/ -n demo    #部署拉下来的仓库文件

  • 相关阅读:
    Java IO包之Reader和Writer简介说明
    车载电子电器架构 —— 国产基础软件生态简介
    u盘刻录系统安装盘
    [CentOS]CentOS 7下通过mount cifs挂载smb资源
    冷热电气多能互补的微能源网鲁棒优化调度(Matlab代码实现)
    重构SeleniumeDownloader底层浏览器驱动
    Spring Cloud Alibaba【实时监控数据、Sentinel为什么需要持久化 、Sentinel组件二次开发、认识本地事物 、事务的四大特性ACID】(九)
    Salesforce正在推出AI功能,传统的项目文档管理还需要么?
    stm32 cubeide ad转换与串口问题
    Leetcode《图解数据结构》刷题日志【第二周】(2022/10/24-2022/10/30)
  • 原文地址:https://blog.csdn.net/cp_dvd/article/details/127760536
    • 最新文章
    • 沪漂五周年了:我越来越迷茫了
      Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
      MySQL-Seconds_behind_master的精度误差
      [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
      AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
      Agent OS :五种驯服不确定性的范式
      PortSwigger SQL注入LAB11
      数据库即时编译JIT
      [Begin]AI Learn Data Day 0
      深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
    • 热门文章
    • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
      奉劝各位学弟学妹们,该打造你的技术影响力了!
      五年了,我在 CSDN 的两个一百万。
      Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
      面试官都震惊,你这网络基础可以啊!
      你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
      心情不好的时候,用 Python 画棵樱花树送给自己吧
      通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
      13 万字 C 语言从入门到精通保姆级教程2021 年版
      10行代码集2000张美女图,Python爬虫120例,再上征途
    小工具 小游戏
    Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

    京公网安备 11010502049817号