• 二、Kubectl工具介绍


    一、kubectl介绍

    kubectl是一个管理集群的命令工具。

    常见使用命令如下
    image-20211107134232997image-20211107134249689

    二、命令介绍

    2.1 查看帮助

    kubectl -h
    

    2.2 查看集群信息

    kubectl cluster-info
    

    image-20211107134337319

    可以看到master安装在哪台机器上

    2.3 查看节点信息

    kubectl get nodes
    kubectl get nodes -o wide #显示详细信息
    

    image-20211107134447190

    image-20211107134602631

    可以看到详细信息能看见节点IP地址,对外访问IP,操作系统,内核版本,docker版本

    2.4 描述节点详细信息

    kubectl describe node k8s-master01
    

    image-20211107134728709

    image-20211107134808733

    可以看到Roles角色,Labels标签,Annotations注解,CreationTimestamp创建时间,Taints污点,Events事件,还能看到使用系统资源CPU,内存信息等。

    在这里可以看到master上是有污点的,pod默认不会调度到master节点上。

    2.5 查看pod信息

    kubectl get pods -n kube-system
    kubectl get pods -n kube-system -w #-w动态显示
    

    -n指定命名空间,不指定默认为default

    2.6 操作标签

    1.查看节点标签信息

    kubectl get nodes --show-labels
    

    image-20211107134922720

    我们看到ROLES这一列为node

    2.添加role标签

    为node2和node3加上role的标签信息

    kubectl label node k8s-master01 node-role.kubernetes.io/master=
    kubectl label node k8s-node01 node-role.kubernetes.io/node=
    kubectl label node k8s-node02 node-role.kubernetes.io/node=
    

    查看效果

    image-20211107135408364

    3.添加多个标签

    标签是以键值对形式存在的,可以给node添加多个标签,用于不同的需要区分的场景

    如把node2标签为华南区,A机房,测试环境,游戏业务

    kubectl label node k8s-node02 region=huanai zone=A env=test bussiness=game
    kubectl get nodes k8s-node02 --show-labels
    

    image-20211107215658380

    4.查看标签

    显示含有region跟zone标签的列

    kubectl get nodes -L region,zone
    

    image-20211107215840770

    查找region=huanai的节点

     kubectl get nodes -l region=huanai
      kubectl get nodes -l region!=huanai
    

    image-20211107215925539

    标签选择器

    等值关系: =, !

    集合关系: KEY in {VALUE1, VALUE2......}

    kubectl get node -l "bussiness in (game,ad)"
    

    image-20211107220854488

    5.修改标签

    kubectl label node k8s-node02 bussiness=ad --overwrite=true
    

    加上--overwrite=true覆盖原标签的value进行修改操作

    image-20211107220120692

    6.删除标签

    使用key加一个减号的写法来取消标签

    kubectl label node k8s-node02 region- zone- env- bussiness-
    kubectl get nodes k8s-node02 --show-labels
    

    image-20211107220711937

    2.7 命名空间

    Namespace是对一组资源和对象的抽象集合。

    Namespace常用来隔离不同的用户的对象资源,如Kubernetes自带的服务一般运行在kube-system namespace中。

    不指定namespace则默认在 default 的命名空间中

    1.查看namespace

    kubectl get namespaces
    kubectl get ns
    

    • kube-node-lease: 节点资源

    • kube-public: 此命名空间的资源可以被所有人访问

    • kube-system: 所有由k8s系统创建的资源都处于该命名空间中

    2.创建namespace

    kubectl create namespace test
    

    image-20211107221322695

    命名空间也是资源可以使用yaml文件创建

    3.编辑test命名空间的yaml语法

    kubectl edit namespace test
    

    image-20211107221501967

    • apiVersion:api版本号,这里按照官方示例使用v1版本
    • kind:资源类型,这里为命名空间资源
    • metadate:元数据,定义资源的熟悉,描述资源

    4.导出创建的命名空间的yaml文件

     kubectl get ns test -o yaml > test.yaml
    

    5.删除namespace

    kubectl delete namespace test
    kubectl delete -f create_namespace.yml
    

    三、参考资料

    黑马Linux-k8s第二天视频

    今天的学习是为了以后的工作更加的轻松!
  • 相关阅读:
    hbase 导入导出、hbase shell 基本命令。
    一道java基础面试题
    sqoop2报错
    测试往博客上放音乐
    java 压缩文件
    java 提取目录下所有子目录的文件到指定位置
    3.Git的常用操作
    2.Git客户端安装
    1.Git的由来
    『Spring』IOC创建对象的方式
  • 原文地址:https://www.cnblogs.com/tz90/p/15540952.html
Copyright © 2020-2023  润新知