[Kubernetes]ショートネームでリソースタイプの入力を楽にしよう!

Kuberentesにはさまざまなリソースタイプが存在します。例えば、PodsDeploymentsなどがリソースタイプです。kubectlコマンドではリソースタイプを指定することが多いですが、PersistentVolumeClaimなど字数が多いリソースタイプの入力にはスペルミスや入力の手間など、苦労されることが多いのではないでしょうか。本記事ではKuerentesのリソースタイプ入力を楽にするショートネームの調べ方と一覧を紹介します。

リソースタイプのショートネームとは?

Kuberentesのリソースタイプのうち、いくつかのリソースタイプには省略形のショートネームが存在します。例えば先ほど例に出したPersistentVolumeClaimのショートネームはpvcになります。ショートネームは通常のリソースタイプ名の代わりとして利用することができます。

# どちらも結果は同じになります。
$ kubectl get PersistentVolumeClaim
$ kubectl get pvc

ショートネームを調べる方法は?

ショートネームは、kubectl api-resourcesコマンドで調べることができます。

$ kubectl api-resources
NAME                              SHORTNAMES   APIGROUP                       NAMESPACED   KIND
bindings                                                                      true         Binding
componentstatuses                 cs                                          false        ComponentStatus
configmaps                        cm                                          true         ConfigMap
endpoints                         ep                                          true         Endpoints
...(省略)...

SHORTNAMESに表示されている文字列がショートネームになります。SHORTNAMESが空欄のリソースタイプにはショートネームがありません。

ショートネームとAPIバージョンの一覧

以下の表は記事執筆時点のGKEのデフォルトバージョンのv1.12のグループ、リソースタイプ、ショートネーム、APIバージョンの一覧です。
Shortnamesが空欄のリソースタイプには、ショートネームがありません。GroupとVersionはマニフェストファイルでのapiVersionで指定する値になります。

Group Kind Shortnames Version
admissionregistration.k8s.io InitializerConfiguration v1alpha1
admissionregistration.k8s.io MutatingWebhookConfiguration v1beta1
admissionregistration.k8s.io ValidatingWebhookConfiguration v1beat1
apiextensions.k8s.io CustomResourceDefinition crd, crds v1beta1
apiregistration.k8s.io APIService v1
apps ControllerRevision v1
apps DaemonSet ds v1
apps Deployment deploy v1
apps ReplicaSet rs v1
apps StatefulSet sts v1
authentication.k8s.io TokenReview v1
authorization.k8s.io LocalSubjectAccessReview v1
authorization.k8s.io SelfSubjectAccessReview v1
authorization.k8s.io SelfSubjectRulesReview v1
authorization.k8s.io SubjectAccessReview v1
autoscaling HorizontalPodAutoscaler hpa v1
batch CronJob cj v1beta1
batch Job v1
certificates.k8s.io CertificateSigningRequest csr v1beta1
core Binding v1
core ComponentStatus cs v1
core ConfigMap cm v1
core Container v1
core Endpoints ep v1
core Event ev v1
core LimitRange limits v1
core Namespace ns v1
core Node no v1
core PersistentVolume pv v1
core PersistentVolumeClaim pvc v1
core Pod po v1
core PodTemplate v1
core ReplicationControl rc v1
core ResourceQuota quota v1
core Secret v1
core Service svc v1
core ServiceAccount sa v1
core Volume v1
extensions Ingress ing v1beta1
extensions PodSecurityPolicy psp v1beta1
networking.k8s.io NetworkPolicy netpol v1
policy PodDisruptionBudget pdb v1beta1
rbac.authorization.k8s.io ClusterRole v1
rbac.authorization.k8s.io ClusterRoleBinding v1
rbac.authorization.k8s.io Role v1
rbac.authorization.k8s.io RoleBinding v1
scheduling.k8s.io PriorityClass v1beta1
settings.k8s.io PodPreset v1alpha1
storage.k8s.io StorageClass sc v1
storage.k8s.io VolumeAttachment v1beta1

おわりに

本記事ではKubernetesにおけるリソースタイプのショートネームの使い方と調べ方を紹介しました。リソースタイプには文字数が多いものが多いので、ショートネームを活用して快適なKubernetesを使った開発と運用をしていきましょう。

スカイアーチ ファンタジー研究室

スカイアーチ ファンタジー研究室

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.