原标题:使用kubectl管理k8s集群(三十)

前言

Foreword

在搭建k8s集群之前,我们需要先了解下kubectl的使用,以便在集群部署出现问题时进行检查和处理。命令和语法记不住没有关系,但是请记住主要的语法和命令以及帮助命令的使用。

在下一篇,我们将讲述使用Kubeadm来创建k8s集群。

THE END

目录

使用kubectl管理k8s集群

概述

语法

主要命令(command)说明

资源类型(TYPE)说明

命令标准(flags)说明

格式化输出

使用kubectl管理k8s集群

概述

Kubectl是一个命令行界面,用于运行针对Kubernetes集群的命令。Kubectl的配置文件在$HOME/.kube目录。我们可以通过设置KUBECONFIG环境变量或设置命令参数--kubeconfig来指定其他位置的kubeconfig文件。

语法

我们可以使用以下语法kubectl从终端窗口运行命令:

kubectl [command] [TYPE] [NAME] [flags]

其中command,TYPE,NAME,和flags分别是:

command:指定要在一个或多个资源进行的操作,例如create,get,describe,delete。例如“kubectl get cs”。

TYPE:指定资源类型。资源类型不区分大小写,可以指定单数,复数或缩写形式。例如,以下命令产生相同的输出:

kubectl getpod pod1

kubectl getpods pod1

kubectl getpo pod1

NAME:指定资源的名称。名称区分大小写。如果省略名称,则显示所有资源的详细信息,如“kubectl get pods”。

在对多个资源执行操作时,我们可以按类型和名称指定每个资源,或指定一个或多个文件:

1)要按类型和名称指定资源:

如果资源类型相同,则对资源进行分组:TYPE1 name1 name2 name。 例:kubectl get pod example-pod1 example-pod2

分别指定多种资源类型:TYPE1/name1 TYPE1/name2 TYPE2/name3 TYPE/name。 例:kubectl get pod/example-pod1 replicationcontroller/example-rc1

2)要使用一个或多个文件指定资源:-f file1 -f file2 -f file

注意使用YAML而不是JSON,因为YAML往往更加用户友好,特别是对于配置文件。 例:kubectl get pod -f ./pod.yaml

flags:指定的可选标志,不过值得注意的是,使用命令行指定参数会覆盖默认值以及相关的环境变量。例如,我们可以使用-s或--server标志来指定Kubernetes API服务器的地址和端口。

主要命令(command)说明

Kubectl的主体操作命令如下表所示:

操作

描述

annotate

添加或更新一个或多个资源的注释。

api-versions

列出可用的API版本。

apply

通过文件名或标准输入流(stdin)对资源进行配置,例如“kubectl apply --prune -f manifest.yaml -l app=nginx”

attach

附加到一个正在运行的容器,以查看输出流或与容器(stdin)交互。

autoscale

自动缩放由Replication Controller管理的pod集。

cluster-info

显示有关群集中主服务器和服务的端点信息。

config

指定kubeconfig文件。

create

从文件或标准输入流(stdin)创建一个或多个资源。例如使用pod.json创建pod“kubectl create -f ./pod.json”。

delete

通过文件,标准输入、指定标签选择器,名称,资源选择器或资源来删除资源。例如删除所有的pod“kubectl delete pods --all”。

describe

显示一个或多个资源的详细。例如查看pod“coredns-5c98db65d4-h5v9h”的详情“kubectl describe pod coredns-5c98db65d4-h5v9h -n kube-system”,这里使用了“-n”指定了命名空间。

edit

在服务器上编辑一个资源。

exec

在Pod容器中执行命令。

explain

查看资源的文档。例如pod,节点,服务等。例如“kubectl explain pods”。

expose

将复制控制器,服务或pod公开为新的Kubernetes服务。

get

列出一个或多个资源。例如“kubectl get pods -n kube-system -o wide”命令将列出“kube-system”命名空间下的所有pod并且以表格状输出pod的相关附加信息(节点名称)。

label

添加或更新一个或多个资源的标签。

logs

输出容器在pod中的日志。例如执行以下命令“kubectl logs etcd-k8s-master -n kube-system”将在终端中输出该容器的日志。

patch

使用patch策略更新资源的字段。

port-forward

将一个或多个本地端口转发到pod。

proxy

运行代理指定到Kubernetes API server。

replace

从文件或标准输入中替换资源。

rolling-update

通过逐步替换指定的Replication Controller及其pod来执行滚动更新。

run

在群集上运行指定的映像。例如运行Nginx“kubectl run nginx --image=nginx”。

scale

设置新的Deployment, ReplicaSet, Replication Controller 或者Job副本数量。例如“ubectl scale --replicas=3 -f foo.yaml”。

version

显示客户端和服务器上运行的Kubernetes版本。

api-resources

输出服务端支持的所有的API资源类型。

api-versions

输出服务端支持的API版本。

更多命令,我们可以执行“kubectl help”来查看当前所有支持的命令,也可以访问官方地址

“https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands”

来查看所有的命令说明。在使用的过程中,如果我们不了解单个命令的具体语法,我们可以使用“kubectl --help”来获取详细介绍,如:

kubectl scale --help

资源类型(TYPE)说明

我们可以使用“kubectlapi-resources”命令来获取服务端目前支持的所有的资源类型,如下图所示:

命令标准(flags)说明

同样的,我们可以使用命令“kubectl options”来输出当前支持的所有可选标志:

其中,在前面我们说过,“-s”可以指定Kubernetes API 服务器地址,“-n”可以指定命名空间,“--kubeconfig”可以指定kubeconfig配置文件。主要的一些说明如下所示:

格式化输出

默认情况下,所有的kubectl命令默认输出格式是可读的纯文本格式。要以特定格式将详细信息输出到终端窗口,我们需要使用“-o”或多个“-output”标志。

语法:

kubectl [command] [TYPE] [NAME]-o=

支持的输出格式如下表所示:

输出格式

描述

-o=custom-columns=

输入指定的逗号分隔的列名列表来打印表格。

-o=custom-columns-file=

使用文件中的自定义列模板来打印表。

-o=json

输出JSON格式的API对象。

-o=jsonpath=

打印在jsonpath表达式中定义的字段

-o=jsonpath-file=

打印由文件中的jsonpath表达式定义的字段。

-o=name

仅打印资源名称。

-o=wide

以纯文本格式输出任何附加信息。对于pod,包括节点名称。

-o=yaml

输出YAML格式的API对象。

例如:

kubectl get pods -n kube-system -o wide返回搜狐,查看更多

责任编辑:

delete kubectl pod_使用kubectl管理k8s集群(三十)相关推荐

  1. config kubectl_使用kubectl管理k8s集群(三十)

    前言 Foreword 在搭建k8s集群之前,我们需要先了解下kubectl的使用,以便在集群部署出现问题时进行检查和处理.命令和语法记不住没有关系,但是请记住主要的语法和命令以及帮助命令的使用. 在 ...

  2. 使用kubectl管理k8s集群(三十)

    前言 Foreword 在搭建k8s集群之前,我们需要先了解下kubectl的使用,以便在集群部署出现问题时进行检查和处理.命令和语法记不住没有关系,但是请记住主要的语法和命令以及帮助命令的使用. 在 ...

  3. 实战:windows上如何安装kubectl并连接我们的k8s集群(测试成功-博客输出)-2022.1.3

    实战:windows上如何安装kubectl并连接我们的k8s集群-2022.1.3 目录 文章目录 实战:windows上如何安装kubectl并连接我们的k8s集群-2022.1.3 目录 实验环 ...

  4. 一个有趣的Go项目,3D界面管理k8s集群,真好玩!

    大家好,我是小碗汤,今天分享一个用Golang开发,很好玩的工具`KubeCraftAdmin`[1]:用Minecraft方式管理k8s的工具,感兴趣的兄弟不妨玩一玩.文末有视频,供您鉴赏~ Min ...

  5. 在线安装rancher2.4管理K8S集群并部署服务

    条件: 1. 准备至少3台机器: 2. 三台机器需要有网络: 3. 安装rancher和K8S集群: # master节点 [root@localhost ~]# hostnamectl set-ho ...

  6. 远程连接管理 k8s 集群

    文章目录 复制 config 小问题 一 二 复制 config   在使用 kubeadm 初始化完集群之后,一般都会有一下提示语句: To start using your cluster, yo ...

  7. 使用DashBoard管理k8s集群

    一.DashBoard 之前在kubernetes中完成的所有操作都是通过命令行工具kubectl完成的.其实,为了提供更丰富的用户体验,kubernetes还开发了一个基于web的用户界面(Dash ...

  8. 强大多云混合多K8S集群管理平台Rancher入门实战

    文章目录 概述 定义 为何使用 其他产品 安装 简述 规划 基础环境 Docker安装 Rancher安装 创建用户 创建集群 添加Node节点 配置kubectl 创建项目和名称空间 发布应用 偏好 ...

  9. k8s集群部分常见问题处理

    目录 部分常见问题处理 Coredns CrashLoopBackOff 导致无法成功添加工作节点的问题 添加工作节点时提示token过期 kubectl 执行命令报"The connect ...

最新文章

  1. python开发安卓程序-如何使用python开发Android手机应用?
  2. iOS imageNamed 的缓存问题
  3. js 字符串加减法_JavaScript (+) 加法运算符
  4. 几何分布和超几何分布
  5. Commit Monitor–svn监控工具
  6. 微信在计算机基础中的辅助作用,基于微信课后辅导在计算机基础教学中应用.doc...
  7. wget连接指定端口_新技能:wget参数有用过吗?
  8. mysql_unbuffered_query pdo_php中mysql操作的buffer知识
  9. 巨一自动化工业机器人_工业机器人和自动化设备连接器
  10. 三. 线程管理之ThreadLocal
  11. 前端开发 html常用标签 0229
  12. C语言printf 和 scanf 用法
  13. 由于找不到Qt5widgets.dll,无法继续执行代码。重新安装程序可能会解决此问题。
  14. libusb libusbk
  15. HarmonyOS DevEco Studio 配置本地模拟器
  16. 2020德勤面试开始了吗_四大面试-德勤面试流程免费给你,还不收好?截止2020年9月...
  17. php中求解二元一次方程,PHP实现二元一次方程式的求解
  18. Linux入侵痕迹清理
  19. 三阶魔方拼全6面口诀
  20. 电脑文件剪切到U盘,为什么不见了?这4个技巧帮你找回丢失文件

热门文章

  1. 淘宝网的软件质量属性分析
  2. ArcGIS GP应用-GP模型服务发布
  3. Python开发入门与实战14-基于Extjs的界面
  4. download plugin update site for offline installation
  5. Struts与Servlet的冲突
  6. AMIO编辑器开发(四):五一劳动节的编程较量,C++语言的设计模式
  7. Sun公司开源游戏服务器Project Darkstar Server——(Sun game server , 简称 sgs)学习笔记(二):多人游戏...
  8. 软考信息系统项目管理师_信息化与信息系统3_软件工程_新一代信息技术---软考高级之信息系统项目管理师005
  9. AndroidStudio安卓原生开发_Activity的启动方法_3种activity的启动方法_显示启动Activity---Android原生开发工作笔记82
  10. org.springframework.boot:spring boot maven plugin丢失---SpringCloud Alibaba_若依微服务框架改造_--工作笔记012