zoukankan      html  css  js  c++  java
  • K8s的kubectl常用命令

    一. 设置kubectl输入命令自动补全

    依次执行一下命令:

    yum install -y bash-completion
    source /usr/share/bash-completion/bash_completion
    source <(kubectl completion bash)
    echo "source <(kubectl completion bash)" >> ~/.bashrc

    二. 名称简写

    po (pod)
    ns (命名空间namespace)
    instance (实例)
    svc (service服务): 定义一个pod的逻辑分组,一种可以访问他们的策略(微服务)。
    cm (configMap): 存储全局配置变量的,将分布式系统中不同模块的环境变量统一到一个对象中管理。
    ds (deamonSet):在每台计算机节点上运行一个守护进程(如日志采集等),有时pod处于pending可能是因为某个deamonSet没起来。
    deploy (deployment)

    三. 常用命令

    kubectl获取命令

    kubectl get node 获取节点信息
    kubectl get pods -o wide 获取pod详细信息
    kubectl get ns 获取所有namespace
    bukectl get deployment 获取deployment信息
    kubectl get svc 查看service信息
    kubectl describe svc 查看service信息
    kubectl get svc -n kube-system 查看service的ip地址
    kubectl -n {$namespace} get pods 在指定的namespace下获取资源
    kebuctl logs nginx 获取nginx pod的日志信息

    kubectl创建pod

    kubectl run nginx-deploy --image=nginx --port=80 --replicas=1 --dry-run=true

    nginx-deploy 表示deployment的名称
    --images 表示镜像的地址
    --port 表示pod暴露的端口
    --replicas 表示副本的个数
    --dry-run 表示测试,不真正执行命令(测试命令是否正确),去掉该参数即真正执行命令

    kubectl创建service

    kubectl expose deployment nginx-deploy --name=nginx --port=80 --target-port=80 --protocol=TCP --type=ClusterIP

    deployment nginx-deploy 表示导出哪个deployment到service
    --name 创建service的名称
    --port 表示service开放的端口
    --target-port 表示pod的远端端口
    --protocol 表示传输方式(tcp/udp)
    --type 表示该service展现的范围(ClusterIP表示在集群内部使用)

    kubectl创建交互式pod

    kubectl run client --image=busybox --restart=Never --replicas=1 -it

    创建一个交互式dns服务器的pod,当退出时该pod删除(--restart=Never)

    kubectl升级pod

    kubectl set image deployment nginx-deploy nginx-deploy=nginx:20190424

    升级deployment为nginx-deploy的pod, 所使用的的镜像是nginx:20190424

    kubectl rollout status deployment nginx-deploy

    显示deployment为nginx-deploy的跟新过程.属于轮询更新,一个个更新的

    kubectl rollout undo deployment nginx-deploy

    如不指明nginx-deploy=nginx:20190424,那么就是回滚到上一个版本

    kubectl修改配置

    kubectl edit svc nginx

    修改service的nginx的type类型为NodePort
    mark

    kubectl针对资源清单的简单命令

    kubectl create -f pod-demo.yaml 创建一个pod-demo的资源清单
    bukectl descride pod pod-demo 查看pod-demo创建详情过程
    kubectl logs pod-demo nginx-deploy 查看pod-demo的pod中的nginx-deploy容器日志
    kubectl exec -it pod-demo -c nginx-deploy --/bin/bash 交互式进入nginx-deploy容器进行操作
    kubectl delete pod pod-demo 删除pod-demo的pod
    kubectl delete -f pod-demo.yaml 删除pod-demo的pod

  • 相关阅读:
    实体类中的date类型问题
    java.sql.SQLException: validateConnection false
    本地计算机的mysql服务启动后停止
    VUE遇到Windows 64-bit with Unsupported runtime (64) For more information on which environments are supported please see
    有关详细信息, 请使用 -Xlint:unchecked 重新编译。
    mysql出错ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
    WIN7系统如何在文件列表中显示文件夹后缀
    shell 两类执行方法
    Git 报错 error setting certificate verify locations
    maven打包不同jdk版本的包
  • 原文地址:https://www.cnblogs.com/vito-lee/p/11911963.html
Copyright © 2011-2022 走看看