K8S的apiVersion

本篇文章来自Terraform与Kubernetes中关于Deployment apps/v1的吐槽

原文链接:https://segmentfault.com/a/1190000017134399

说明

在1.11版本中,推荐为 apps/v1 具体由以下版本:

apps/v1 
apps/v1beta1
apps/v1beta2

v1支持的资源类型有:

Binding,ComponentStatus,ConfigMap,Endpoints,Event,LimitRange,Namespace,
Node,pvc,pv,pods,podtemplates,Binding,Eviction,ReplicationController,
Scale,ReplicationController,ResourceQuota,Secret,ServiceAccount,Service

apps/v1支持的资源类型有:

DaemonSet,ControllerRevision,Deployment,Scale,ReplicaSet,StatefulSet

extensions/v1beta1支持的资源类型有:

DaemonSet,Deployment,DeploymentRollback,Scale,Ingress,NetworkPolicy,
PodSecurityPolicy,ReplicaSet,ReplicationControllerDummy

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

如Deployment:

一.各种apiVersion的含义

alpha

beta

stable

v1

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

apps/v1beta2

apps/v1

batch/v1

autoscaling/v1

extensions/v1beta1

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

certificates.k8s.io/v1beta1

安全认证相关的api组合

authentication.k8s.io/v1

资源鉴权相关的api组合

二.查看当前可用的API版本

执行 kubectl api-versions

kubernetes 1.8

kubernetes 1.11

三.检索api的详细信息

查看完整路径

curl https://192.168.1.209:6443 --cacert /etc/kubernetes/pki/ca.pem --cert /etc/kubernetes/pki/admin-192.168.1.209.pem --key /etc/kubernetes/pki/admin-192.168.1.209-key.pem

查看apps/v1的信息

curl https://192.168.1.209:6443/apis/apps/v1 --cacert /etc/kubernetes/pki/ca.pem --cert /etc/kubernetes/pki/admin-192.168.1.209.pem --key /etc/kubernetes/pki/admin-192.168.1.209-key.pem

查看v1的信息

curl https://192.168.1.209:6443/api/v1 --cacert /etc/kubernetes/pki/ca.pem --cert /etc/kubernetes/pki/admin-192.168.1.209.pem --key /etc/kubernetes/pki/admin-192.168.1.209-key.pem

参考文章

https://matthewpalmer.net/kubernetes-app-developer/articles/kubernetes-apiversion-definition-guide.html

Last updated