• 二进制部署K8S集群(十五)之kubectl陈述式资源管理


    一.陈述式资源管理

    1.1 管理K8s核心资源的三种方法

    • 陈述式管理方法:主要依赖于命令行cli工具进行管理。
    • 声明式管理方法:主要依赖统一资源配置清单(manifest)进行管理。
    • GUI式管理方法:主要依赖图形化操作界面(web界面)进行管理。

    1.2 陈述式资源管理的方法

    • kubernetes集群管理集群资源的唯一入口是通过相应的方法调用apiserver的接口。
    • kubectl是官方的cli命令行工具,用于apiserver进行通信,将用户在命令行输入的命令,组织并转化为apiserver能识别的信息,进而实现管理K8S各种资源的一种有效途径。
    • kubectl的命令大全
    kubectl --help
    http://docs.kubernetes.org.cn
    

    1.3 名称空间操作

    1.3.1 查看名称空间
    kubectl get namespaces
    kubectl get ns # 简写
    
    1.3.2 查看名称空间内的资源
    kubectl get all # 查看名称空间内的资源,默认为default名称空间
    kubectl get all -n default # 查看default名称空间内的资源
    
    1.3.3 创建名称空间
    kubectl create namespace app
    
    1.3.4 删除名称空间
    kubectl delete ns app
    

    1.4 deployment操作

    1.4.1 创建deployment
    kubectl create deployment nginx-dp --image=harbor.od.com/public/nginx:v1.7.9 -n kube-public --replicas=3
    nginx:1.15-alpine小版本
    
    1.4.2 开放容器端口(创建service)
    kubectl expose deployment nginx-db --port=80 -n kube-public
    
    1.4.3 删除deployment
    kubectl delete deploy ningx-test -n kube-public	
    
    1.4.4 修改deployment
    kubectl edit deploy nginx-test -n kube-public
    
    1.4.5 查看deployment
    kubectl get deploy -o wide -n kube-public
    kubectl descibe deployment nginx-test -n kube-publice # 查看详细信息	
    

    1.5 node操作

    1.5.1 查看node
    kubectl get nodes
    
    1.5.2 查看node标签
    kubectl get nodes --show-labels
    
    1.5.3 node改标签
    kubectl label node hdss7-22.host.com node-role.kubernetes.io/master= 
    

    1.6 pod操作

    1.6.1 进入pod
    kubectl exec -ti my-nginx-75b466d5f5-k7vhw -n kube-public -- /bin/bash
    
    1.6.2 删除pod
    kubectl delete pod my-nginx-cjql6
    
    1.6.3 修改pod
    kubectl edit pod 查看容器名 # 查看容器详细信息
    
    1.6.4 查看pod
    kubectl get pods -o wide -n kube-public 
    kubectl get node -n kube-public --show-labels # 查看标签 
    kubectl describe pod 查看容器名 # 查看详细信息
    kubectl get pod 查看容器名 -o yaml # 以yaml形式查看
    kubectl logs -f 容器名 # 查看容器日志
    kubectl get pod -l app=my-nginx2 -n kube-public # 查看哪些pod在使用此标签
    kubectl get endpoints --show-labels   
    

    1.7 svc操作

    1.7.1 创建service
    kubectl create service clusterip my-nginx2 --tcp=80 -n kube-public
    
    1.7.2 删service
    kubectl delete svc my-nginx5 -n kube-public
    
    1.7.3 改service
    kubectl edit svc my-nginx5 -n kube-public
    
    1.7.4 查看service
    kubectl get svc my-nginx5 -n kube-public
    kubectl get svc my-nginx5 -o yaml -n kube-public
    kubectl describe svc nginx-dp -n kube-public # 查看详细信息
    

    1.8 查看帮助文档

    kubectl explain namespace
    kubectl explain service.kind
    kubectl explain service.metadata
    kubectl explain pod.spec.containers
    

    1.9 修改资源配置清单

    kubectl edit configmap kube-proxy -n kube-system
    
  • 相关阅读:
    Apple Tree(树状数组+线段树)
    平衡阵容(RMQ st表算法)
    一起去打CS
    夜归

    淋雨
    大马戏
    雨中行船
    弄堂里
    夜游天安门
  • 原文地址:https://www.cnblogs.com/even160941/p/15045278.html
Copyright © 2020-2023  润新知