Kubernetes(k8s) kubectl api-versions常用命令

kubectl 在 $HOME/.kube 目录中查找一个名为 config 的配置文件。 可以通过设置 KUBECONFIG 环境变量或设置 --kubeconfig 参数来指定其它 kubeconfig 文件。本文主要介绍Kubernetes(K8s)中kubectl api-versions常用命令。

1、kubectl api-versions简介

kubectl api-versions可以在服务器上以 "group/version" 的形式打印支持的API版本。查看api 可用版本。

2、kubectl api-versions语法

kubectl api-versions

3、kubectl api-versions命令

打印支持的API版本

kubectl api-versions

4、apiVersion的含义

1)alpha

该软件可能包含错误。启用一个功能可能会导致bug。
随时可能会丢弃对该功能的支持,不另行通知。

2)beta

软件经过很好的测试。启用功能被认为是安全的。
默认情况下功能是开启的。
细节可能会改变,但功能在后续版本不会被删除。

3)stable

该版本名称命名方式:vX这里X是一个整数。
稳定版本、放心使用。
将出现在后续发布的软件版本中。

4)v1

Kubernetes API的稳定版本,包含很多核心对象:pod、service等。

5)apps/v1beta2

在kubernetes1.8版本中,新增加了apps/v1beta2的概念,apps/v1beta1同理。DaemonSet,Deployment,ReplicaSet 和StatefulSet的当时版本迁入apps/v1beta2,兼容原有的extensions/v1beta1。

6)apps/v1

在kubernetes1.9版本中,引入apps/v1,deployment等资源从extensions/v1beta1,
apps/v1beta1 和 apps/v1beta2迁入apps/v1,原来的v1beta1等被废弃。
apps/v1代表:包含一些通用的应用层的api组合,如:Deployments, RollingUpdates, and ReplicaSets。

7)batch/v1

代表job相关的api组合。在kubernetes1.8版本中,新增了batch/v1beta1,后CronJob 已经迁移到了batch/v1beta1,然后再迁入batch/v1。​​

8)autoscaling/v1

代表自动扩缩容的api组合,kubernetes1.8版本中引入。 这个组合中后续的alpha 和 beta版本将支持基于memory使用量、其他监控指标进行扩缩容。

9)extensions/v1beta1

deployment等资源在1.6版本时放在这个版本中,后迁入到apps/v1beta2,再到apps/v1中统一管理。

10)certificates.k8s.io/v1beta1

安全认证相关的api组合。

11)authentication.k8s.io/v1

资源鉴权相关的api组合。

5、kubectl 输出格式

输出格式

描述

-o custom-columns=<spec>

使用逗号分隔的自定义列列表打印表。

-o custom-columns-file=<filename>

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

-o json

输出 JSON 格式的 API 对象

-o jsonpath=<template>

打印 jsonpath 表达式定义的字段

-o jsonpath-file=<filename>

打印 <filename> 文件中 jsonpath 表达式定义的字段。

-o name

仅打印资源名称而不打印任何其他内容。

-o wide

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

-o yaml

输出 YAML 格式的 API 对象。

推荐阅读
cjavapy编程之路首页