zoukankan      html  css  js  c++  java
  • kubernetes常用命令

    #1.查询信息
    kubectl get [需要查询的服务]  

    node 节点
    componentstatuses 简写 cs 组件状态
    namespaces 简写 ns 名命空间
    pod pod信息 添加 (-o wide )查看运行节点
    service 查询service
    deployments --all-namespaces   kind分类查询
    all --all-namespaces 查询所有 
    --all-namespaces  所有命名空间

    ###将信息输入为yaml格式

    kubectl get pod  [pod名] -o yaml

    nginx-6f858d4d45-sgwdf 1/1 Running 0 3h
    [root@k8s-m ~]# kubectl get pod nginx-6f858d4d45-sgwdf -o yaml
    apiVersion: v1
    kind: Pod
    metadata:
    creationTimestamp: 2018-09-01T10:01:55Z
    generateName: nginx-6f858d4d45-

    ...省略


    #查询api-version
    kubectl  api-versions

    查看资源创建帮助
    kubectl explain [资源名]
    pod
    node
    rs #replicaset
    deploy #DaenmonSet
    job #job




    #2.删除
    1.删除节点
    kubectl delete node node1

    2.删除pod
    kubectl delete pod $(pod_name) -n $(namespace-name)

    3.删除services
    kubectl delete svc $(svc_name) -n $(namespace-name)

    #3.创建
    1.创建pod
    kubectl create -f  create_pod.yaml 
    2.更新pod
    kubectl rolling-update pod_v1 -f pod_v2.yaml
    3.回滚
    kubectl rolling-update pod_v2 --rollback

    ##4.标签
    查看标签
    kubectl  get  nodes --show-labels

    打标签
    kubectl  label   [资源类型]   [资源名称]  标签名=值
    kubectl  label   pods   nginx-pod  release=v1
    覆盖原来的标签值
    kubectl  label   pods   nginx-pod  release=v2 --overwrite

    ##标签选择器使用逗号可以输入多个条件
    等值关系:=、==、!=
    例:kubectl  get pod  -l release=v2
    多条件:kubectl  get pod  -l release=v2,app=my-pod

    集合关系:in、notin、!KEY、KEY
    例:kubectl  get pod  -l "release in (aaa,v3,v2)"
    notin:kubectl  get pod  -l "release notin (aaa,v3,v2)"



    问题定位

    1.查询对象详细信息

    kubectl describe pod [pod名] -n  [所在命名空间]

    [root@k8s-m ~]# kubectl describe pod client -n default
    Name: client
    Namespace: default
    Priority: 0
    PriorityClassName: <none>
    Node: node1/10.0.0.40
    Start Time: Sat, 01 Sep 2018 20:12:08 +0800
    Labels: run=client
    Annotations: <none>
    Status: Failed
    IP: 10.244.1.5

    ..........

    2.查询日志

    kubectl logs -f [pod名] -n  [所在命名空间]

    [root@k8s-m ~]# kubectl logs -f client -n default
    / #
    / # ls
    bin etc proc sys usr
    dev home root tmp var
    / # cat /etc/resolv.conf
    nameserver 10.96.0.10
    search default.svc.cluster.local svc.cluster.local cluster.local
    options ndots:5
    / # ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    valid_lft forever preferred_lft forever
    3: eth0@if9: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1450 qdisc noqueue
    link/ether 0a:58:0a:f4:01:05 brd ff:ff:ff:ff:ff:ff
    inet 10.244.1.5/24 scope global eth0
    valid_lft forever preferred_lft forever

    .........省略

    3.进入容器运行命令,如果pod有多个容器,可用-c指定容器

    kubectl exec   [pod名称]   -c  [docker镜像]    [执行的命令]    -n [命名空间]

    [root@k8s-m ~]# kubectl exec nginx-6f858d4d45-sgwdf -c nginx hostname -n default
    nginx-6f858d4d45-sgwdf

     
     
     
     


  • 相关阅读:
    学习asp.net比较完整的流程
    时间的获取和转换,C#和Sql
    学习一种新编程语言要做的10几个练习
    分布式网络管理优点总结
    点对点网络大解析
    如何阅读他人的程序代码
    WebConfig
    正则表达式30分钟入门教程
    程序员遇到BUG的解释
    在T-SQL语句中访问远程数据库(openrowset/opendatasource/openquery)
  • 原文地址:https://www.cnblogs.com/zhangb8042/p/9571647.html
Copyright © 2011-2022 走看看