• kubectl 常用命令


    【参考文章】:kubectl 概述

    kubectl简介

      语法:kubectl  [command] [resource_type] [resource_name] [flags]
      command : 对资源执行的操作,比如 create,get,describe,edit,delete,scale,logs
      resource_type : 操作的资源类型,单数、复数、缩写形式均可,常用的有 pod,deployment,services(svc),cronjob,job,replicaset(rs),replicationcontrollers(rc),configmaps(cm),secret,namespaces(ns),node
      resource_name : 操作的资源名称,区分大小写,不指定资源名称时显示所有资源信息
      flags : 可选参数
    

    1. container

    1 创建

    2 查询

    3 修改

    4 操作

    进入容器

      kubectl -n <namespace>  exec -it  <pod_name>  -c <container_name>  /bin/sh
      kubectl -n <namespace>  exec -it  <pod_name>  -c <container_name>  /bin/bash
    

    文件拷贝

     从宿主机拷贝到容器时,可以只指定容器内的文件夹路径
      kubectl -n <namespace> cp   <file_path>  <pod_name>:<container_path>    -c <container_name>
    
      从容器拷贝到宿主机时必须指定文件在宿主机的文件名
      kubectl -n <namespace> cp   <pod_name>:<container_path>  <file_path>   -c <container_name> 
    

    5 删除

    2. pod

    1 创建

    使用当前的yaml文件重新启动该实例

      kubectl get pod <pod_name>  -n <name_space> -o yaml   |   kubectl replace --force -f -
    

    2 查询

    查找某个pod:

      kubectl -n <namespace> get pods | grep <pod_name>
    

    查找某一个pod在哪台服务器上:

      kubectl -n <namespace> get pods -o wide | grep <pod_name>
    

    查找某个pod的运行信息:

      kubectl -n <namespace> describe pod <pod_name>
    

    查找某个pod下某个container的错误日志:

      kubectl -n <namespace> logs <pod_name> --container  <container_name>
    

    查找所有 pod 的 image 信息:

      kubectl  get pods -A  -o yaml | grep image:
      kubectl  get pods --all-namespaces -o jsonpath="{.items[*].spec.containers[*].image}"
    

    3 修改

    4 操作

    4 删除

    3. deployment

    1.创建

      kubectl  create  deployment   <resource_name>  --image=<image>
    

    2 查询

    3 修改

    修改副本数

      kubectl  scale  deployment   <service_name>  -n <name_space>  --replicas=1
    

    4 操作

    4 删除

    4. secret

      Secret 是一种包含少量敏感信息例如密码、令牌或密钥的对象。 这样的信息可能会被放在 Pod 规约中或者镜像中,pod引用secret有三种方式:
      1. 作为容器的环境变量
      2. 作为挂载到一个或多个容器上的 卷 中的文件。
      3. 由 kubelet 在为 Pod 拉取镜像时使用
    

    命令行查询和编辑时,secret的值都是将数据base64之后的值

    1.创建

    以一个文件作为一对key-value

      以指定的<key_name>作为key(不指定时默认使用文件名作为key),以指定文件的内容作为value
      kubectl  create  secret   generic <secret_name>  --from-file=<key_name>=<filepath>
    

    以文件中的键值对作为secret的数据

      直接使用文件中的key-value
      kubectl  create  secret   generic <secret_name>  --from-env-file=<filepath>     
    

    2 查询

      kubectl  get  secret <resource_name>  -o yaml
    

    3 修改

      kubectl  edit  secret <resource_name>
    

    4 操作

    4 删除

    5. node

    1.创建

    2 查询

    查询集群的node信息

      kubectl get node
    

    查询某个node的使用情况

      kubectl  describe node <node_name>
    

    3 修改

    4 操作

    4 删除

  • 相关阅读:
    如何获取Apollo上项目下的所有namespace?
    从源码研究如何不重启Springboot项目实现redis配置动态切换
    用 Explain 命令分析 MySQL 的 SQL 执行
    MySQL死锁系列-常见加锁场景分析
    带你100% 地了解 Redis 6.0 的客户端缓存
    Java 数据持久化系列之 HikariCP (一)
    MySQL的死锁系列- 锁的类型以及加锁原理
    Java 数据持久化系列之池化技术
    Redis Cluster 的数据分片机制
    Redis 命令执行过程(下)
  • 原文地址:https://www.cnblogs.com/virgosnail/p/13225264.html
Copyright © 2020-2023  润新知