kubectl 命令详解:api-versions

Posted youzhouliu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kubectl 命令详解:api-versions相关的知识,希望对你有一定的参考价值。

一、命令作用

查看apiversion 可用版本,在k8s中查看apiversion可用版本的命令如下:

kubectl api-versions

sudo kubectl api-versions

在安装有k8s的机器上执行命令,可用看到类似如下的输出:

二、各种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组合。

补充说明:Kubernetes的官方文档中并没有对apiVersion的详细解释,而且因为K8S本身版本也在快速迭代,有些资源在低版本还在beta阶段,到了高版本就变成了stable。

以上是关于kubectl 命令详解:api-versions的主要内容,如果未能解决你的问题,请参考以下文章

云原生k8s集群命令行工具kubectl基础操作命令实践详解

06-kubectl常见命令整理

Kubectl 命令详解

kubelet命令行工具使用详解记录

kubectl 命令详解:create

kubectl 命令详解(二十三):create rolebinding