码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【云原生之K8S】K8S管理工具kubectl 详解


    目录

    一、陈述式管理

    1. 陈述式资源管理方法

    1.2 、K8S相关信息查看

    查看版本信息

    查看节点信息

    查看资源对象简写

    查看集群信息

    配置kubectl自动补全

    查看日志

    基本信息查看

    查看master节点状态

    查看命名空间

    1.3 命名空间操作

    1.3.2 创建命名空间

    1.3.3 删除命名空间

    1.4 deployment/pod操作

    1.4.1 在命名空间kube-public创建副本控制器(deployment)来启动pod(nginx-test)

    1.4.2 描述某个资源的详细信息

    1.4.3 查看命名空间kube-public中pod信息

    1.4.4 登录容器

    1.4.5 删除(重启)pod资源

    1.4.6 若无法删除,总是处于erminate状态,则要强行删除pod

    1.4.7 扩容、

    1.4.8 缩容

    二、声明式管理

    1、声明式管理方法

    2、查看资源配置清单

    3、解释资源配置清单


    一、陈述式管理

    1. 陈述式资源管理方法

    • kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口
    • kubectl 是官方的 CLI 命令行工具,用于与 apiserver 进行通信,将用户在命令行输入的命令,组织并转化为 apiserver 能识别的信息,进而实现管理 k8s 各种资源的一种有效途径
    • kubectl 的命令大全
      kubectl --help
      k8s官方中文文档:Kubernetes kubectl 命令表 _ Kubernetes(K8S)中文文档_Kubernetes中文社区
    • 对资源的增、删、查操作比较容易,但对改的操作就不容易了

    1.2 、K8S相关信息查看

    查看版本信息

    kubectl version

    查看节点信息

    kubectl get node
    1. [root@master ~]# kubectl get nodes
    2. NAME STATUS ROLES AGE VERSION
    3. master Ready master 20h v1.15.1
    4. node01 Ready <none> 20h v1.15.1
    5. node02 Ready <none> 20h v1.15.1

    查看资源对象简写

    查看集群信息

    kubectl cluster-info

    配置kubectl自动补全

    source <(kubectl completion bash)

    可通过TAB键实现命令补全,建议将其写入/etc/profile

    一般用的比较少

    查看日志

    journalctl -u kubelet -f

    基本信息查看

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

    获取资源的相关信息,-n指定命名空间,-o指定输出格式。

    resource可以是具体资源名称,如“pod nhinx-xxx”;也可以是资源类型,如“pod,node,svc,deploy”多种资源使用逗号间隔;或者all(仅显示包含app标签,并不完整)

    1. -all-namespace 或者-A:标识显示所有命令空间
    2. -show-labels: 显示所有标签
    3. -l app:仅显示标签为app的资源
    4. -l app=nginx:仅显示包含app标签,且值为nginx的资源。

    查看master节点状态

    1. kubectl get componentstatuses
    2. #cpmponentstatuses可以缩写成cs
    3. kubectl get cs

    查看命名空间

    1.3 命名空间操作

    1.3.1 查看default命名空间的所以资源

    kubectl get all [-n default]

      由于deafult为缺省空间,当不指定命名空间时默认查看default命名空间

    1.3.2 创建命名空间

    kubectl create ns cxk

    1.3.3 删除命名空间

    kubectl delete  ns cxk

    1.4 deployment/pod操作

    1.4.1 在命名空间kube-public创建副本控制器(deployment)来启动pod(nginx-test)

    kubectl create deployment nginx-test --image=nginx -n cxk

    1.4.2 描述某个资源的详细信息

    kubectl describe deployment nginx-test -n cxk

    1.4.3 查看命名空间kube-public中pod信息

    1.4.4 登录容器

    kubectl exec 可以跨主机登录容器,docker exec 只能在容器所在主机登录

    kubectl exec  -it nginx-test-795d659f45-6528h bash -n cxk

    1.4.5 删除(重启)pod资源

    由于存在deployment之类的副本控制器,删除pod也会被重新拉取起来

    1.4.6 若无法删除,总是处于erminate状态,则要强行删除pod

    kubectl delete pod [] -n [] --force --grace-period=0
    

    grace-period表示过渡存活期,默认30s,在删除pod之前允许pod慢慢终止其上的容器进程,从而优雅的退出,0表示立即终止pod

    1.4.7 扩容、

    kubectl scale deployment nginx-test --replicas=3 -n cxk

    1.4.8 缩容

    kubectl scale deployment nginx-test --replicas=2 -n cxk

    二、声明式管理

    1、声明式管理方法

    1. 适合于对资源的修改操作
    2. 声明式资源管理方法依赖于资源配置清明文件对资源进行管理
    3. 资源配置清单文件有两种格式:yaml(人性化,易读),json(易于api接口解析)
    4. 对资源的观念里,是通过实现定义在同一资源配置清单内,再通过陈述式命令应用到k8s集群里
    5. 语法格式:kubectl create/apply/delete -f -o yaml

    2、查看资源配置清单

    kubectl get deploy/nginx-test -o yaml

    kubectl get service nginx-service -o yaml
    

    3、解释资源配置清单

    kubectl explain deployment.metadata

  • 相关阅读:
    【.Net实用方法总结】 整理并总结System.IO中TextReader类及其方法介绍
    Java框架(四)--Spring AOP面向切面编程(3)--Spring AOP实现原理
    Celery笔记四之在Django中使用celery
    json配置文件读入redis - 包含命令行解析示例
    关于#idea#的问题:IDEA2023版本创建包时显示无效的软件包名称格式设置(语言-java)
    【GPGPU编程模型与架构原理】第一章 1.1 GPGPU 与并行计算机
    美国铁路客运巨头Amtrak泄漏旅客数据,数据销毁 硬盘销毁 文件销毁
    Docker命令 常用中间件运维部署,方便构建自己服务
    信息检索与数据挖掘 |(一)介绍
    Vulnhub靶机Infosec_Warrior1渗透
  • 原文地址:https://blog.csdn.net/weixin_71429839/article/details/127699679
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号