
แจ Kubernetes แแญ แจแแตแฐแซ แจแแ, kubectl แแแแฃแต แ แฅแแต แจแแ แแแฃแธแ แแแแแซแแฝ แแตแฅ แ แแฑ แแแ แญแฝแแ. แฅแ แจแ แแต แจแฐแแฐแ แแณแชแซ แแญ แ แแตแซแต แฅแ แแ แ แแซแณแแแ แต แแ แ แฐแแฅ แแฅแแต แฅแ แฅแแดแต แ แฅแแต แฅแแฐแแ แแแ แต แแแญ แ แแ แแแข
แกแตแ แจ kubectl แแญ แแคแณแ แ แแ แแแแต แแแตแซแต แ แแ แแญแฎแฝแ แฅแ แแดแแฝแ แจแแซแแแ แต แ แณแแคแ แแญแฅแ แจแฐแฐแจแแ แแฃแฅแแข แฅแแฒแแ แตแ แฉแ แญแแตแต แ แแ แซแ แแแแค แฅแแฒแแญแแต แญแจแณแแณแแข
แฅแแฐ แฐแซแฒแ แจแแ แจแฝแแ แแฅ แจแฉแ แญแแตแต แแญ แจแฅแแต แฐแฅแแต แตแซแ แจแ แแ แแแฃแ แฅแป แณแญแแ แจแ แแ แ แตแฐแณแฝ แฅแแฒแแ แแตแจแ แแ!
แแแขแซ: kubectl แแแตแ แแ
Kubectlแ แจแ แแ แแคแณแ แ แแ แแแแต แแแ แแ แจแแแญแ แ แแต แแ แฅแแฐแแ แฅแ แฅแแดแต แฅแแฐแแฐแซ แแฐแจแณแ แแแแค แแแแต แ แแฅแแตแข
แจแฐแ แแแ แ แแแญ, kubectl แจ Kubernetes แตแซแแฝแ แแแจแแแ แจแแซแตแฝแ แจแแฅแฅแญ แแแ แแ.
แ แดแญแแซแ แ แแแแญ kubectl แจ Kubernetes API แฐแแ แ แแแข
Kubernetes แคแแ แญ แจแคแฝแฒแฒแ REST แคแแ แญ แแแข แญแ แคแแ แญ แแ แ แแ แแฅแฅแญ แจแแฐแจแแ แต แตแญแญแแแ แจแฉแ แญแแตแต แจแฐแ แแ แ แญแแแฝ แแแข แญแ แแแต แฅแซแแณแแฑ แจแฉแ แญแแตแต แญแแ แฅแแฐ แคแแ แญ แจแแจแจแป แแฅแฅ แญแแแฃแ แฅแ แ แคแฝแฒแฒแ แฅแซแ แแฐแแซ แจแแจแจแป แแฅแฅ แแฐแจแ แญแฝแแแข
แตแแแ แจ kubectl แแ แตแซ แ Kubernetes API แจ HTTP แฅแซแแแฝแ แแ แจแฅ แแแก-

แฉแ แญแแตแต แแ แ แแ แแฅแตแ แซแแจแ แตแญแแต แแแข แญแ
แแแต แจแแฅแต แแตแฃแ แแแณแ แญแ แฅแแ แฅแ แแแ แจแฉแ แญแแตแต แตแซแแฝ แจCRUD แตแซแแฝ แแธแแข
แฅแแแ แ แแฅแถแฝ แ แแตแฐแณแฐแญ แจแฉแ แญแแตแตแ แแ แ แแ แญแแฃแ แซแแฃ แฅแ แฉแ แญแแตแต แ แแ แฃแแ แจแแฅแฑ แแแณ แแ แแตแจแ แฅแแณแแ แต แซแฐแแแข แ แแ แแญแแซแต แจแฉแ แญแแตแต แคแแ แญ แแแณแจแชแซ แจแฐแแแ แฅแซแแปแธแ แแญ แฅแแฐ แจแแฅแจแต แแญแแถแฝ แแญแแญ แฐแฐแซแ แทแแข
แ แแต แแณแ แฅแแแแจแต.
ReplicaSet แแแญ แแแ แญ แตแแแแแ
แฅแแ แแข แญแ
แแ แแแตแจแ แ แแญแ แแตแฅ แซแแแ ReplicaSet แ แตแ แญแแแปแแข replicaset.yaml, แจแแซ แตแแแแ แซแแฑ:
$ kubectl create -f replicaset.yamlแญแ ReplicaSet แแญแ แญแแฅแซแแข แแ แจแตแแญแแฑ แ แตแฐแแญแฃ แแ แญแแแ?
แฉแ แญแแตแต ReplicaSet แจแแแ แญ แตแซ แ แแแข แแญ แฅแแฐแแแ แฆแแฌแฝแแฃ แฅแแฐ แคแแ แญ แจแแจแจแป แแฅแฅ แฐแแแงแแข แจแแ แญแแ แแฉ แจแคแแ แญ แแจแจแป แแฅแฅ แญแ แ แญแแตแแแข
POST /apis/apps/v1/namespaces/{namespace}/replicasetsแแแแ แจแฉแ แญแแตแต แตแซแแฝ แจแคแแ แญ แจแแจแจแป แแฅแฆแฝ แ แแญ แญแแแ (แญแ แ แจแแฎ ). แแแจแจแป แแฅแฅ แตแญแญแแ แฅแซแ แแแ แจแฅ แ แแแแชแซ แจแคแแ แญ แ แแแแญ แฉแ แญแคแแ แ แคแแ แญ แแฃแแป แแตแฅ แ แฐแแจแแฉแต แจแแจแจแป แแฅแฅ แแแแถแฝ แแญ แแจแ แ แแฆแตแข
แตแแแ
แจแแญ แซแแแ แตแแแ แฒแแฝแ kubectl แจแคแฝแฒแฒแ POST แฅแซแแ แจแแญ แแแ แจแคแแ แญ แจแแจแจแป แแฅแฅ แญแแซแแข แ แแญแ แแตแฅ แซแแจแกแต ReplicaSet แตแญแแ replicaset.yaml, แ แฅแซแแ แ แซแ แแตแฅ แญแแซแ.
Kubectl แจ Kubernetes แแแ แแญ แแแแแ แแแ แตแแแแฝ แจแแฐแซแ แ แแ แแแแต แแแข แ แฅแแแ แแ แ แแฃแแแฝ kubectl แ แแแ แจแคแฝแฒแฒแ แฅแซแแแฝแ แแฐ แฐแแขแ แจ Kubernetes API แจแแจแจแป แแฅแฆแฝ แซแแญแฃแแข
แฅแแฐ แแแแแซ แ แแ แแ Kubernetes แแ แ แแ แแตแฐแณแฐแญ แฅแแฐแแฝแ แฅแฃแญแ แแฅ แญแ แ curlแจแคแฝแฒแฒแ แฅแซแแแฝแ แ แฅแ
แแฐ Kubernetes API แ แแแญแข Kubectl แ แแแ Kubernetes API แแ แแแ แแแ แซแฐแญแแแแข
แญแ kubectl แแ แฅแแฐแแ แฅแ แฅแแดแต แฅแแฐแแฐแซ แแฐแจแณแ แแแฎแฝ แแธแ. แแ แตแ Kubernetes API แฅแซแแณแแฑ แจ kubectl แฐแ แแ แแแ แซแแ แต แแ แแแญ แ แแข แจแฉแ แญแแตแต แแตแฃแ แ แแแ แ แแฅแแต แฅแแญแข
แจแฉแ แญแแตแต แแตแฃแ แแแ
แฉแ แญแแตแต แ แญแแตแฐแญ แแถแฝ แแญ แฅแแฐ แจแฐแแจ แแฐแต แจแแแฑ แจแแแแฐแ แ แซแแต แตแฅแตแฅแ แซแซแตแณแแข แ แแณแแต แญแแแฝ แ แแตแฐแญ แแถแฝ แแญ แญแฐแซแ, แแแฝ แฐแแ แ แ แซแฐแ แ แแแแฝ แแญ, แฅแซแแณแแฑ แ แซแ แจแซแฑแ แจแฐแแจ แฐแแฃแญ แซแจแแแแ.
แ แแแ แ แแแแฝ แแญ แ แฃแ แ แตแแแแแน แญแแแฝ แฅแแ แ แ
- แฎแแต - แจแแฅแจแต แแแแซแแฝแ แซแจแแปแ ().
- แจแคแแ แญ แ แแแแญ - แคแแ แญ แซแแญแฃแ แฅแ แแจแแปแ แซแตแฐแณแตแซแแข
- แฐแแฃแฃแช แ แตแฐแณแณแช - แจแแฅแจแต แแแณแแฝ แจแแญแแฎแฝ แแญ แแจแ แซแธแแ แซแจแแแฃแแข
- แแญแแแฅแญ แ แแแ - แ แ แซแฐแ แ แแแแฝ แแญ แแตแแฝแ แแญแแแฅแญ แซแตแแฃแ.
แฅแ แ แ แซแฐแแ แ แแแแฝ แแญ แ แแต แ แฃแ แ แตแแแ แ แซแ แฅแแ แ แ-
- แฉแคแแต - แ แแ แซแ แต แแตแแแ แแแแต แแญ แจแฅแ แแซแแแฝแ แแตแแแญ แซแตแฐแณแตแซแ.
แฅแแแ แญแแแฝ แฅแแดแต แ แแต แแญ แฅแแฐแแ แฉ แแแจแณแต แ แแต แแณแ แฅแแแแจแตแข
แฅแแฐแจแจแตแญ แฅแแตแฅ kubectl create -f replicaset.yamlแจแแ
แ แแ kubectl HTTP POST แฅแซแ แ แแจแ (แจ ReplicaSet แแฅแตแ แตแญแแ แแแ)แข
แ แญแแตแฐแญ แแตแฅ แแ แฅแจแแ แแ?
- แซแฐแจแ แ แแ
kubectl create -f replicaset.yamlแจแคแแ แญ แ แแแแญ แจแฅแญแตแแ ReplicaSet แแฅแแต แตแญแแ แ แแจแแป แแตแฅ แซแจแแปแแก
- แ แแแ แแฃ ReplicaSet แแแฃแ แชแซแ แ แฐแแฃแฃแชแ แ แตแฐแณแณแช แแตแฅ แฐแแแฏแแฃ แฅแฑแ แจ ReplicaSet แแฅแถแฝแ แแแ แญแฃ แแปแปแซ แฅแ แแฐแจแแ แซแตแฐแแแณแแก

- แจ ReplicaSet แแแฃแ แชแซแ แแฅแซแแณแแฑ ReplicaSet แ
แ (แ แแต แ แฅแแต แ ReplicaSet แแฝ แแ แจแต) แจแแต แแบแ แญแแฅแซแ แฅแ แ แแจแแป แแตแฅ แซแจแแปแธแแแข

- แแแแแแ แจแฐแซแฐแ แ แแแแฝ แแ แซแแฐแแฐแก แแถแฝแ แ แแจแณแฐแ แแญแแแฅแญ แ แแชแ แฐแแแฏแแก

- แแญแแแฅแญ แ แแชแ แแฅแซแแณแแฑ แแต แฐแตแแ แจแแ แจแฐแซแฐแ แแตแแแ แแแแต แญแแญแฃแ แฅแ แญแ
แแ แแจแ แ แแฐแฅแฉ แแตแฅ แฃแแ แจแแต แแบ แแญ แซแญแแแก

- แแตแ แ แฐแแฐแ แ แต แจแฐแซแฐแ แแตแแแ แแแแต แแญ แฉแคแแต แฐแแแฏแ แฃ แแแ
โโแแตแแแ แแแแต แจแฐแแฐแกแตแ แฅแแญแฅแแฝ แญแจแณแฐแแ แข

- แฉแคแแฑ แจแแต แแบแ แจแแจแแป แแตแฅ แซแแฃแ แฅแ แฅแแฐ แถแจแญ แซแ แจแฅแ แแซแขแซ แ แแต แแ แ แแตแแแ แแแแฑ แแญ แฎแแดแญแแฎแฝแ แฅแแฒแซแตแแณ แแแชแซ แญแฐแฃแแก-

แจแแ แ แณแฝ แจแแ แแแแซ แจแฝแแ แตแชแต แ แแข
แแฐ ReplicaSet แจแแฅแจแต แแจแจแป แแฅแฅ แจแคแแ แญ แฅแซแ แจแแตแฐแแแฐแ แ แคแแ แญ แ แแแแญ แแแข แจแคแแ แญ แ แแแแญ แฅแซแแแ แซแจแแแฃแ แฅแ ReplicaSet แจแแฅแจแต แแบแ แ แแจแแป แแตแฅ แซแจแแปแแข
แญแ แญแตแฐแต ReplicaSet แแแฃแ แชแซแ แญแแแซแแฃ แญแ แ แจแฐแแฃแฃแชแ แ แตแฐแณแณแช แแแต แแฐแต แแแข ReplicaSet แแแฃแ แชแซแ แ แแฐแฅแฉ แแตแฅ แจReplicaSet แแฅแถแฝแ แแแ แญแฃ แแแแ แฅแ แแฐแจแแ แญแจแณแฐแแ แฅแ แญแ แฒแจแฐแต แจแญแตแฐแต แแณแแแซ แญแแ แแแข
แจ ReplicaSet แฐแแฃแฃแชแ แตแซ แจแแแแแ แจ ReplicaSet แแต แแฅแญ แแแฉแ แแจแแแฅ แแแข แ แฅแ แแณแแฃ แฅแตแซแแ แแแ แแต แจแแแฃ แตแแแ ReplicaSet แแแฃแ แชแซแ แฅแแแ แ แจแแต แแบแแฝ (แ แแต แ แฅแแต แ ReplicaSet แแบ แแ แจแต) แญแแฅแซแ แฅแ แ แแจแแป แแตแฅ แซแจแแปแแข
แ แฒแต แแตแแฝ แแแ แญ แจแแแฐแแฐแ แแ แซแฐแ แ แแแแฝ แแ แซแแณแแฑ แจแแต แตแญแแแแฝแ แ แแจแณแฐแ แแญแแแฅแญ แ แแแ แแแข แแญแแแฅแญ แ แแชแ แแฅแซแแณแแฑ แแต แฐแตแแ แจแแ แจแฐแซแฐแ แแตแแแ แแแแตแ แญแแญแฃแ แฅแ แ แแจแแปแ แแตแฅ แซแแตแ แจแแต แแบแแฝแ แซแปแฝแแแข
แฅแตแจแแ แแฅแฅ แตแจแต แแแ แจแตแซ แซแ แฎแต แ แญแแตแฐแญ แแตแฅ แจแตแแแ แฆแณ แฅแจแฐแซ แฅแแณแแแ แแฅ แญแ แแข แฅแตแซแแ แจแฐแฐแจแแ แแ - แญแ แ แแตแฐแญ แแตแแแ แแแแต แแญ แฃแแ แแจแแป แแตแฅ แซแแตแ แแฅแถแฝ แแแ แญ แฅแ แแแแ แแแข
แจแแจแจแปแ แญแตแฐแต แฉแคแแตแตแ แซแตแแณแ, แญแ แ แแฐแซแฐแ แ แแแแฝ แจแณแแฑแตแ แแถแฝ แญแจแณแฐแแ. ReplicaSet แแถแฝแ แจแฐแซแแ แต แจแฐแซแฐแ แแตแแแ แแแแต แฉแคแแต แจแฅแ แแซแขแซ แแแแ แฅแแฐ Docker แจแแณแฐแ แจแแซแฃ แแตแแฝแ แฅแแฒแซแแญแฑ แฅแ แฅแแฒแซแแฑ แแแชแซ แแตแ แต แ แแ แตแข
แ แแ แแแฃ แจแฅแญแตแ ReplicaSet แแฐแแ แชแซ แ แแจแจแป แฅแจแฐแซ แแ!
แจแฉแ แญแแตแต แคแแ แญ แแ
แฃแแแ แแณแ แแญ แฅแแณแจแธแ แจแฉแ แญแแตแต แญแแแฝ (แจแคแแ แญ แ แแแแญ แฅแ แแจแแป แ แตแฐแแญ) แ แแจแแป แแตแฅ แฃแ แแฅแถแฝ แแญ แแแฆแฝแ แญแแแจแณแ แฅแ แ แแจแแป แแตแฅ แตแแ แแฅแถแฝ แแจแ แญแแแฃแแข
แ แฅแญแแฅ แฅแแแ แญแแแฝ แ แแฅแณ แจแแจแแปแ แแญ แ แญแแแแ, แแแญ แแ แ Kubernetes แคแแ แญ แฅแป.
แจแแจแฐแแตแ แแณแแแฝ แฐแแแจแต:
- ReplicaSet แแแฃแ แชแซ แจแคแแ แญ แจแแจแจแป แแฅแฅ แญแ แแแ แจแแแชแซ แแญ
watchแ ReplicaSet แแฅแถแฝ แแญ แจแฐแฐแจแ แแแฆแฝแ แแแแฃแ แญแข - ReplicaSet แแแฃแ แชแซ แจแคแแ แญ แจแแจแจแป แแฅแฅ แญแ แแแ (แแต แแ แญ) แฅแแญแฅแแฝแ แแแแ แญแข
- แแญแแแฅแญ แ แแช แจแคแแ แญ แจแแจแจแป แแฅแฅ แญแ แแแ (แแต แ แญแตแ) แตแแฐแแจแ แ แจแฐแซแฐแ แแตแแแ แแแแต แแจแ แ แแ แแ แแตแแฝแ แแแแแแข
แฅแแฐแแแแจแฑแตแฃ แญแ kubectl แจแแฐแญแฐแ แซแ แคแแ แญ แแแข แฐแแณแณแฉแ แคแแ แญ แแแตแฃแ แ แซแแต แฅแ แแแญ แฐแ แแแแฝ แแ แแ แ แฉแ แญแแตแต แฒแแญแ แแตแฅ แแ แจแณแ แฝแแฐ-แแณแฅ แแแข
แ แแ แฉแ แญแแตแต แฅแแดแต แฅแแฐแแฐแซ แแ แแแ แฅแแฝแแแ-
- แจแแจแแป แแจแแปแแนแฃ แแแตแ แจแฉแ แญแแตแต แแฅแถแฝ แญแแแแแข
- แจแคแแ แญ แ แแแแญ แ Kubernetes แคแแ แญ แแแญ แแฐ แแจแแปแ แ แญแแแฝ แซแแญแฃแแข
- แแแ แแแฝ แจแฉแ แญแแตแต แ แซแแต แฅแ แฐแ แแแแฝ แจ Kubernetes แแแณแ (แแฅแจแตแ) แ แคแแ แญ แ แฉแ แซแแฃแแข
แฅแแแ แ แ แแฐ-แแณแฆแฝ แแแ kubectlแ แ แฐแแฅ แแแจแณแต แฅแ แจแฑ แจแ แแ แฅแ แ แแแแแต แญแจแณแแณแแข
แ แแ แ kubectl แแญแณแแแตแแ แแแปแปแ แจแแจแฑ แ แแณแแต แแฉ แแญแฎแฝแ แฅแ แแดแแฝแ แฅแแแแจแตแข
1. แจแตแแแ แแ แแแ แ แ แแ แแ แแคแตแ แซแแฅแ
แจ kubectl แแญ แ แแปแธแแ แแแปแปแ แ แฃแ แ แแ แจแแ แแ แฅแ แแ แจแแญแณแฉ แดแญแแฎแฝ แจแตแฅแแ แแ แแแ แแแข
แจแตแแแ แแ แแแ แจแตแญ แแแแ แ แแ แแ แจ kubectl แตแแแแฝแ แญแแแฝ แ แซแต-แฐแญ แฅแแฒแซแ แแ แ แญแแ แตแแแณแแข แญแ แแแแต แตแแแแฝแฃ แ แแซแฎแฝ แฅแ แแแช แฅแดแถแฝ แญแฐแซแแฃ แฅแแฐ แแแแแซ แตแแฝ แซแ แแตแฅแตแฅ แแแฎแฝแแ แจแแฎแข
แจ kubectl แตแแแ แแ แแแ แฅแแดแต แฅแแฐแแฐแซ แญแแแจแฑแก-

แจแตแฅแแ แแ แแแ
แ Bash แฅแ Zsh แแแแฝ แญแฐแซแแข
แ แแถแแฒแญ แแ แแแแซแ แแแแแแต แแญแแญ แแแชแซแแฝแ แญแแ, แแแญ แแ แจแแ แ แณแฝ แ แญแญ แแแแซ แฅแแแญแฃแแ.
แจแตแแแ แแ แแแ แฅแแดแต แฅแแฐแแฐแซ
แจแตแฅแแ แแ แแแ แจแแ แแแแซ แตแญแชแแต แ แแ แแ แจแแฐแซ แจแผแ แฃแ แช แแแข แจแคแญแตแดแแฝแ แตแญแชแแต แแฐแแฐแ แตแแแ แจแ แฅแซ แฃแ แชแ แจแแแแฝ แจแผแ แตแญแชแแต แแแข
Kubectl แจแแจแฐแแตแ แตแแแแฝ แ แแ แแ แ Bash แฅแ Zsh แจแคแญแตแดแแฝแ แตแญแชแแถแฝแ แ แซแต แฐแญ แซแแแซแ แฅแ แซแแฃแแข
$ kubectl completion bashแแญแ:
$ kubectl completion zshแ แแตแ แแณแฅ, kubectl แตแฅแแแนแ แแแแต แฅแแฒแฝแ แจแฅแแแ แ แตแแแแฝ แแคแต แจแฐแแขแ แจแตแฅแแ แผแ แแญ แแแแแต แ แ แแ.
แ แฐแแฃแญแฃ แจแแแแแต แแดแ แแฃแฝ แญแแซแซแ (แ แแซแจแ แซแแตแ แแฉแแถแฝ แจแแฎ) Linux แฅแ แแญแฆแคแต) แฅแ แแฝแข แฅแแแ แ แ แแซแฎแฝ แ แแ แจแแ แ แณแฝ แฅแแธแแแธแแแแข
แฃแฝ แขแ Linux
แจแฃแฝ แแ แแแแซ แตแญแชแแต แ แฃแฝ แแ แแแแซ แฅแ แ แแญ แตแแแแจแฎแ แแแแชแซ แแซแ แซแตแแแแแณแแข
$ sudo apt-get install bash-completionแแญแ:
$ yum install bash-completionแจแแจแฐแแแ แตแแแ แ แแ แแ แฅแ แ แ แฐแณแซ แแแณ แแซแแ แแแจแญ แญแฝแแแก
$ type _init_completion แญแ
แจแผแ แฐแแฃแญ แฎแตแ แซแแฃ, bash-completion แ แตแญแญแ แฐแญแแ. แตแแแ "แ แแฐแแแ" แตแ
แฐแต แจแฐแ , แจแแจแฐแแแ แแตแแญ แแฐ แแญแแ แแจแ แ แแฅแแต ~ / .bashrc:
$ source /usr/share/bash-completion/bash_completion แญแ
แแ แแตแแญ แแฐ แแญแ แแจแ แ แตแแแ แแแ? ~ / .bashrc แแญแ แฃแฝ-แแ แแแ
แ แแแซแ แ แฐแ แแแ แต แจแฅแ
แ แ แตแฐแณแณแช แแญ แจแฐแแซ แ แญแฐแแแข แญแ
แแคแแฒ แ แตแแแ แแ, แแ แ YUM แ แญแฐแแ.
bash-completion แ แจแซแ แ แแ แจ kubectl แแ แแแแซ แตแญแชแแต แ แแแ แจแผแ แญแแ แแแแฝ แแตแฅ แฅแแฒแแ แแแแ แแแญ แแแแญ แซแตแแแแแณแแข
แญแ
แแ แแแตแจแ แ แแฑ แแแแต แจแแจแฐแแแ แแตแแญ แแฐ แแญแ แแจแ แแแข ~ / .bashrc:
source <(kubectl completion bash) แแแ แแแแต แจ kubectl แคแญแตแดแแฝแ แตแญแชแแต แแฐ แแแซแ แแจแ แแ /etc/bash_completion.d (แจแแแ แญแแ แฉ)
$ kubectl completion bash >/etc/bash_completion.d/kubectl แ แซแณแแ แแตแฅ แซแ แแแ แฐแจแแช แตแญแชแแถแฝ /etc/bash_completion.d แ แซแต-แฐแญ แ bash-completion แแตแฅ แญแซแฐแณแแข
แแแฑแ แ แแซแฎแฝ แฅแฉแ แฐแแปแแแต แ แแธแแข
แแแแ แฅแแฐแแ แจแแแฉ แ แแ แจ kubectl แตแแแ แแ แแแ แญแฐแซแ.
แฃแฝ แ MacOS แแญ
แ MacOS แแญ แแแแฉ แตแแฝ แจแฐแแณแฐแ แแแข แฅแแแณแ แแ แ แแฃแชแแต MacOS แจ Bash แตแชแต 3.2 แญแ แแแ แฅแ แจ kubectl แซแต-แแ แแแแซ แตแญแชแแต แขแซแแต 4.1 แฃแฝ แตแชแต แญแแแแ แฅแ แ Bash 3.2 แแตแฅ แ แญแฐแซแแข
แแแ แซแแแ แต แจ Bash แตแชแต แ MacOS แแญ แจแแ แแ แแญ แจแฐแซแซแ แจแแแต แแณแฎแฝ แ แแข แฃแฝ แตแชแต 4 แ แ แแ แจแแญแฐแแ แ GPLv3 แแแต แฐแฐแฅแถแณแแข
แ MacOS แแญ kubectl autocompletion แ แแแแแญ แจแ แแ แจแ แญแฅ แแ แจ Bash แตแชแต แแซแ แซแตแแแแแณแแข แฅแแฒแแ แจแฐแแแแแ Bash แฅแแฐ แแฃแช แผแ แแแแญ แญแฝแแ แญแ แ แแแฐแแฑ แฅแ แฝแแฎแฝแ แซแตแแ. แ แตแธแแช แ แญแฐแแ, แแญแแฎแฝ แ แ แแแน แแตแฅ แฐแฐแฅแฐแแ "ยป.
แจแแแ แแ แ แแต แจแ
แญแฅ แแแแ แจ Bash แตแชแต แฅแจแฐแ แแ แแแแแ แซแจแแแก (แแคแฑแ แซแจแแแก bash --version).
แจแฃแฝ แแ แแแแซ แตแญแชแแต แฅแแฐ แแฎแแญแต แญแแซแซแ , แตแแแ แแแแชแซ แแซแ แซแตแแแแแณแ.
แ แแ แแ bash-completion แ แแซแ แญแฝแแแข :
$ brew install bash-completion@2 แญแ
แแ @2 แ bash-completion version แญแแแ 2. kubectl autocompletion bash-completion v2 แซแตแแแแแแฃ แฅแ bash-completion v2 แขแซแแต แจ Bash แตแชแต 4.1 แญแแแแแข
แจแตแฅแแ แแ
แแต brew-install แ แแญแ แแตแฅ แแ แแณแจแ แฅแแณแแ แต แจแแแแฝ แจแแตแ แแแแซ แญแแ แญแแ ~/.bash_profile:
export BASH_COMPLETION_COMPAT_DIR=/usr/local/etc/bash_completion.d
[[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && .
"/usr/local/etc/profile.d/bash_completion.sh" แแแ แฅแแแ
แ แแตแแฎแฝ แแฐ แแญ แฅแแณแญแจแแฉ แฅแแญแซแแแข ~/.bash_profileแฅแ แแตแฅ ~/.bashrc. แ แแ
แแแณ, แ แแถแแฒแญ แแ แแแ
แ แแแ แแญ แฅแป แณแญแแ แ แแแฝ แตแแแ แแแแฝ แแตแฅแ แญแแแ.
แจแตแฅแแ แ แญแแฑแ แฅแแฐแแ แจแแแฉ แ แแ แจแแจแฐแแแ แตแแแ แ แแ แแ แแซแ แตแญแญแ แแแแ แแจแแแฅ แญแฝแแ-
$ type _init_completionแ แแคแฑ แแตแฅ แจแผแ แฐแแฃแญแ แจแฐแแแจแฑ, แแแ แแแญ แ แตแญแญแ แจแฐแแแจ แแ.
แ แแ แจ kubectl แ แแถแแฒแญ แแ แแแ แ แแแ แญแแ แแแแฝ แแตแฅ แแแแฑแ แแจแแแฅ แ แแฅแแข
แ แแฑ แแแแต แจแแจแฐแแแ แแตแแญ แแฐ แฅแญแตแ แแจแ แแแข ~/.bashrc:
source <(kubectl completion bash) แแแฐแแ แแแแต แแฐ แ แแแ แซแต-แ แ แแ
แ
แตแญแชแแต แแจแ แแแข /usr/local/etc/bash_completion.d:
$ kubectl completion bash
>/usr/local/etc/bash_completion.d/kubectlแญแ แแด แจแแ แซแ Homebrewแ แ แแ แแ bash-completion แจแซแ แฅแป แแแข แ แแ แ แแฃแ, bash-completion แแแแ แตแญแชแแถแฝ แจแแ แแแซ แญแญแแ.
แจแซแ แจแซแต-แ แ แแ
แ
แตแญแชแแต แ แซแต-แฐแญ แ แ แแแ แแตแฅ แตแแแแแฅ แจแแฐแแแ แฅแญแแ แแจแแแ แ แซแตแแแแแข /usr/local/etc/bash_completion.d แ แแซแ แแ. แ แแ
แ แแฃแ kubectl autocompletion แแญ bash-completion แฅแแฐแซแ แแตแซแต แญแแแซแแข
แ แแคแฑแ, แฅแแแ แแ แ แแซแฎแฝ แฅแฉแ แแธแ.
แแฝ
แจZsh แซแต-แ แ แแ แ แตแญแชแแถแฝ แแแ แ แญแแต แฅแแแแต แ แซแตแแแแธแแแข แจแตแฅแแ แแแแ แฒแญแ แจแแซแตแแแแ แแแญ แขแแญ แฅแแฑแ แแแแต แฅแป แแแข
แแฐ แฅแญแตแ แแตแแญ แ แแจแ แญแ
แแ แแตแจแ แญแฝแแแข ~/.zshrc แแญแแก-
source <(kubectl completion zsh) แตแ
แฐแต แจแฐแแ แ not found: compdef แผแแแ แฅแแฐแแ แจแแแฉ แ แแ แ แฅแฎ แจแฐแฐแซแแ แฐแแฃแญ แแแแต แซแตแแแแแณแ compdef. แ แแญแแ แแแแชแซ แแญ แ แแจแ แแแแต แญแฝแแแข ~/.zshrc แ แแจแฐแ
autoload -Uz compinit
compinit2. แจแแฅแจแต แแญแแฎแฝแ แ แแฅแแต แญแแแจแฑ
แจ YAML แแฅแต แตแญแแแแฝแ แฒแแฅแฉ แแตแฎแนแ แฅแ แแแแซ แแฅแถแฝ แตแญแแแธแแ แแแ แ แแฆแตแข แญแ แแ แแจแ แแแแแ แ แแต แฆแณ แ แคแแ แญ แแฃแแป แแตแฅ แแแฃ แฅแฑแ แแแแ แแฅแถแฝ แจแฐแแ แแญแแญ แแแแซแแฝแ แญแญแแแข
แจแแ แแแญ แแแแแ แ แแแแแ แต แแ แแ แแฐ แแฅ แ แณแฝ แแแจแญ แจแแญแแฝ แแแข แตแแแ
kubectl แตแแแแ แซแแญแฃแ kubectl explain, แญแ
แ แ แตแญแญแ แ แฅแญแตแ แฐแญแแแ แแตแฅ แซแแแ แแแแ แแฅแถแฝ แแญแแญ แซแณแซแ.
แจแตแฅแแ แ แญแแฑ แฅแแฐแแจแฐแแ แแ-
$ kubectl explain resource[.field]...แตแแแ แจแฐแ แจแแแ แแฅแต แแญแ แแตแญ แแญแแญ แแแแซ แซแแฃแแข แจแแณแจแ แแจแ แ แคแแ แญ แแแชแซ แแตแฅ แซแแ แแญ แฐแแณแณแญ แแแข
แ แแฃแช kubectl explain แแณแแฝ แจแแแแชแซแแ แฐแจแ แฅแป แซแณแซแ.
แแ แฅแแฐแแแตแ แฐแแแจแต .
แ แแซแฉแ แซแจแ โโแแแแ แแ แแณแจแต แญแฝแแ --recursive:
$ kubectl explain deployment.spec --recursiveแจแตแแน แแฅแถแฝ แฅแแฐแแซแตแแแ แ แตแญแญแ แซแแแ แแแแ แ แแจแฐแแ แตแฅแแ แแณแจแต แญแฝแแ-
$ kubectl api-resources แญแ
แตแฅแแ แจแแฅแต แตแแฝแ แ แฅแ แแฅแญ แซแณแซแแฃ แแแณแแข deployments แ deployment. แฅแแฒแแ แ แญแญ แตแ แซแณแซแ, แแแณแ deployแฃ แแแต แแฅแถแฝแข แตแ แฅแแแ
แแฉแแถแฝ แ แญแจแแ. แฅแแแ
แแ แจแตแ แ แแซแฎแฝ แ kubectl แฅแฉแ แแธแแข แซแ แแแต แแแธแแแ แแฅแแญแฑ แแ แแ แญแฝแแ kubectl explain.
แแแ แจแแจแฐแแต แตแแแแฝ แฅแฉแ แแธแแก
$ kubectl explain deployments.spec
# ะธะปะธ
$ kubectl explain deployment.spec
# ะธะปะธ
$ kubectl explain deploy.spec3. แฅแ แ แแต แแ แแต แ แญแธแต แฐแ แแ
แแฃแช แจแตแแแ แแ
แแต แ
แญแธแต kubectl get:
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
engine-544b6b6467-22qr6 1/1 Running 0 78d
engine-544b6b6467-lw5t8 1/1 Running 0 78d
engine-544b6b6467-tvgmg 1/1 Running 0 78d
web-ui-6db964458-8pdw4 1/1 Running 0 78dแญแ แ แญแธแต แแน แแ, แแ แจแฐแแฐแ แแ แ แซแแ แแจแ แญแแ. แจแแ แจแแฅแจแต แแบ แ แญแธแต แแญ แฒแแปแธแญแฃ แฅแแ แฅแแต แแตแฎแฝ แฅแป แญแณแซแแข
แ แแ แ แแฃแ, แฅแ แ แแต แแ แแต แ แญแธแต แแ แแ แญแฝแแ. แแ แแแฅ แฅแแฐแแแฃ แแแแฐแ แซแตแฝแแแณแ. แแแแแแ แจแแฅแจแต แแตแญ แฅแแฐ แจแฐแแจ แ แแต แแณแจแต แญแฝแแแข
แจแฅแ แ แญแธแต แ แ แแแ แ แแซแฎแฝแ แ แแ แแ แญแแฐแแแก-
-o custom-columns=<header>:<jsonpath>[,<header>:<jsonpath>]... แฅแซแแณแแฑแ แจแแคแต แ แแต แฅแแฐ แฅแแต แ แตแญแ แแแแฝ แญแฝแแแข <header>:<jsonpath>แจแต <header> แจแ แแต แตแ แแ, แฅแ <jsonpath> - แจแแฅแจแต แแตแญแ แจแแแแฝ แ แแแแฝ.
แ แแต แแแ แแณแ แฅแแแแจแตแก-
$ kubectl get pods -o custom-columns='NAME:metadata.name'
NAME
engine-544b6b6467-22qr6
engine-544b6b6467-lw5t8
engine-544b6b6467-tvgmg
web-ui-6db964458-8pdw4แแ แแต แจแแณแแฝ แตแ แซแแ แ แแต แ แแต แญแแ.
แจแ แแซแญ แ แแแแฝ แจแแต แตแแฝแ แจแแตแญ แญแแญแฃแ metadata.name. แแญแแซแฑแ แจแแฑ แตแ แ แแ แตแ แแตแญ แแตแฅ แญแแแปแ metadata แ แแณแ แจแแฅแจแต แแแแซ แแตแฅ. แฐแจแแช แแญแแฎแฝ แ แแตแฅ แญแแแ แแญแ แตแแแแ แญแฐแญแก kubectl explain pod.metadata.name.
แ แแ แ แแคแฑ แแญ แฐแจแแช แ แแต แแจแ แตแแแแแ แฅแแ แแฃ แแแณแ แฅแซแแณแแฑ แแต แฅแจแฐแซแ แต แซแแแ แแตแแแ แแแแต แแณแจแตแข แญแ แแ แแแตแจแ แ แแแ แฐแแขแแ แจแ แแต แแญแแญ แแฐ แฅแ แ แแถแฝ แ แแซแญ แแจแ แญแฝแแ-
$ kubectl get pods
-o custom-columns='NAME:metadata.name,NODE:spec.nodeName'
NAME NODE
engine-544b6b6467-22qr6 ip-10-0-80-67.ec2.internal
engine-544b6b6467-lw5t8 ip-10-0-36-80.ec2.internal
engine-544b6b6467-tvgmg ip-10-0-118-34.ec2.internal
web-ui-6db964458-8pdw4 ip-10-0-118-34.ec2.internal แ แแแแน แจแ แแแแ แตแ แจ แญแแญแฃแ spec.nodeName - แ แแต แแต แแฐ แแตแแแ แแแแต แฒแแฐแฅ, แตแ แ แแตแญ แแญ แฐแฝแแ spec.nodeName pod แแฅแต แแญแแญ. แฐแจแแช แแญแแญ แแจแ แ แแคแฑ แแตแฅ แแแ แญแฝแแ kubectl explain pod.spec.nodeName.
แฅแฃแญแแ แจแฉแ แญแแตแต แแแแแซ แแตแฎแฝ แแแณแญ แตแฑ แแแแธแแ แแฅ แญแ แแข
แแแแแแ แจแแฅแจแต แแตแญ แฅแแฐ แ แแต แแจแต แญแฝแแ. แจแแญแแแ แแญแแญ แแแแซ แฅแป แญแแแแ แฅแ แ แแฐแทแธแ แแแธแแ แแตแฎแฝ แญแแญแฉแตแข
แ แแแแชแซ แแ แจแแตแญ แแญแซ แแแแซแแฝแ แ แแ แฅแแ แฅแแแญแแญแข
JSONPath แแแแซแแฝ
แจแแแแแซ แแตแฎแฝแ แแแแจแฅ แแแแซแแฝ แจแฐแแฐแจแฑ แแธแ .
JSONPath แจJSON แฐแแถแฝ แแแฅแ แแแแฃแต แแแ แแแข แแ แ แแตแญ แแแจแฅ แJSONPath แ แฃแ แแแ แจแ แ แแแ แแณแญ แแแข แฅแฑ แฅแ แ แแแข แแซแฎแฝแแฃ แแฃแชแซแแฝแ แฅแ แจแแณแฐแแตแ แจแแฎแข
Kubectl แแฅแซแซแต แจแฐแแฐแ แจJSONPath แฃแ แชแซแตแ แญแฐแแแแข แจแ แ แแแ แแตแแฝ แฅแ แแณแแแฝ แจแแ แ แณแฝ แฐแฅแซแญแฐแแ-
# ะัะฑัะฐัั ะฒัะต ัะปะตะผะตะฝัั ัะฟะธัะบะฐ
$ kubectl get pods -o custom-columns='DATA:spec.containers[*].image'
# ะัะฑัะฐัั ัะฟะตัะธัะธัะตัะบะธะน ัะปะตะผะตะฝั ัะฟะธัะบะฐ
$ kubectl get pods -o custom-columns='DATA:spec.containers[0].image'
# ะัะฑัะฐัั ัะปะตะผะตะฝัั ัะฟะธัะบะฐ, ะฟะพะฟะฐะดะฐััะธะต ะฟะพะด ัะธะปััั
$ kubectl get pods -o custom-columns='DATA:spec.containers[?(@.image!="nginx")].image'
# ะัะฑัะฐัั ะฒัะต ะฟะพะปั ะฟะพ ัะบะฐะทะฐะฝะฝะพะผั ะฟััะธ, ะฝะตะทะฐะฒะธัะธะผะพ ะพั ะธั
ะธะผะตะฝะธ
$ kubectl get pods -o custom-columns='DATA:metadata.*'
# ะัะฑัะฐัั ะฒัะต ะฟะพะปั ั ัะบะฐะทะฐะฝะฝัะผ ะธะผะตะฝะตะผ, ะฒะฝะต ะทะฐะฒะธัะธะผะพััะธ ะพั ะธั
ัะฐัะฟะพะปะพะถะตะฝะธั
$ kubectl get pods -o custom-columns='DATA:..image'แจ [] แฆแแฌแฐแญ แ แฐแแญ แ แตแแแ แแแข แฅแ แจแฉแ แญแแตแต แแแแแซ แแตแฎแฝ แแญแแฎแฝ แแธแแฃ แฅแ แญแ แฆแแฌแฐแญ แจแฅแแแซแ แแญแแฎแฝ แ แฃแแต แฅแแฒแแญแก แญแแ แตแแแณแแข แจแแญแแฉแ แแแแ แญแแแฝ แแแแจแฅ แฅแแแ แแ แฅแแฐ [*] แซแแ แฑแญ แซแญแต แแญ แฅแ แ แแญ แญแแแแข
แจแแฐแแ แชแซ แแณแแแฝ
แ แแคแฑ แแตแฅ แแแแแแ แแตแญ แแญแ แจแแญแ แแตแฎแฝแ แแซแณแฉ แตแแแฝแ แฅแ แจแ แแต แแ แแต แ แญแธแต แจแแ แแ แฅแตแ แแแแซ แจแแแแข แ แแณแแต แจแแแ แ แแแฌแฝแแฝ แฅแแแแแฃ แแแญ แแ แฅแซแตแ แแแฐแต แฅแ แแฅแญแตแ แจแแฐแฉ แแฐแแ แชแซแแฝแ แแแแแต แแแแต แญแฐแแแข
- แจแแซแฃ แแตแแฝแ แแแต แ แแณแจแต แแญแก
$ kubectl get pods -o custom-columns='NAME:metadata.name,IMAGES:spec.containers[*].image' NAME IMAGES engine-544b6b6467-22qr6 rabbitmq:3.7.8-management,nginx engine-544b6b6467-lw5t8 rabbitmq:3.7.8-management,nginx engine-544b6b6467-tvgmg rabbitmq:3.7.8-management,nginx web-ui-6db964458-8pdw4 wordpressแญแ แตแฅแแ แแฅแซแแณแแฑ แแต แจแแซแฃ แแตแ แตแแฝแ แซแณแซแแข
แซแตแณแแฑ แ แแต แแต แฅแ แฎแแดแญแแฎแฝแ แแญแ แญแฝแแ, แจแแซแ แจแแตแ แตแแฝ แ แ แแต แแตแแญ แแญ แญแณแซแ, แ แแ แ แฐแจแแฝ แญแแซแ.
- แจแแตแแแ แแแแต แฐแฐแซแฝแแต แแแฝแ แ แแณแจแต แแญแก
$ kubectl get nodes -o custom-columns='NAME:metadata.name,ZONE:metadata.labels.failure-domain.beta.kubernetes.io/zone' NAME ZONE ip-10-0-118-34.ec2.internal us-east-1b ip-10-0-36-80.ec2.internal us-east-1a ip-10-0-80-67.ec2.internal us-east-1bแจแฅแญแตแ แฅแ แฅ แ แ แฐแฃแฃแญ แฐแแ แจแแตแฐแแแต แจแแ แญแ แตแแแ แ แแ แแแข แแฅแซแแณแแฑ แแตแแแ แแแแต แจแแแแ แตแ แแ แซแณแซแแข
แจแฐแแแแต แแ แจแแฃแแต แแแ แแฐ แแฆแแซแแซแ แญแแ แจแแแตแฅ แจแฐแแ แฝแแฐ-แแณแฅ แแแข
แแฅแซแแณแแฑ แแตแแแ แแแแต แจแแแ แแแฝ แ แแฉ แแแซ แ แฉแ แญแแแ - . แญแแตแฐแญ แ แแ แฐแแ แแตแฅ แฅแจแแฐ แจแแแฃ แญแ แแแซ แ แซแต-แฐแญ แจแฐแแ แจ แฅแ แ แฅแซแแณแแฑ แแตแแแ แแแแต แ แฐแแ แแแฝ แตแแฝ แจแฐแแ แแแข
แแแซแแฝ แจแฉแ แญแแตแต แแแญ แแญแแญ แ แซแ แ แญแฐแแแฃ แตแแแ แตแแฅแแฑ แแจแ แ แแตแฅ แ แซแแแแข . แแแญ แแแฃ แ YAML แแญแ JSON แ แญแธแต แตแ แ แแแแฝ แแจแ แจแ แจแ (แฅแแฐแแแฝ แแแซแแฝ) แแณแฉ แญแฝแแแข
$ kubectl get nodes -o yaml # ะธะปะธ $ kubectl get nodes -o jsonแญแ แจแแแแแซ แแญแแฎแฝแ แจแแแญ แ แฐแจแแช แตแ แแฅแถแฝ แจแ แแ แแแแญ แฅแฉ แแแแต แแแข
4. แ แแแ แ แญแแตแฐแญ แฅแ แ แตแ แฆแณแแฝ แแซแจแ แญแแซแญแฉ
kubectl แ Kubernetes API แฅแซแ แฒแซแแญแฅแฃ แแแแแแฑ แแแแ แ แตแแแ แแแชแซแแฝ แแแแแต แ แแแแชแซ แจ kubeconfig แแญแแ แซแแฃแแข
แ แแฃแช แจ kubeconfig แแญแ แแแข ~/.kube/config. แ แฐแแแถ แญแ
แแญแ แ แแฉ แตแแแ แจแฐแแ แจ แแญแ แจแแแ แแแข
แจแ แญแซแณ แแแแแฝ แแญ แตแตแฐแซ แจแ แแฐ แจkubeconfig แแญแ แจแฅแแแ แแแแแฝ แแญ แแแแแแต แ แแ แถแฝแ แญแแแข แจแจแตแแ แญแแตแฐแญ แแญ แฅแจแฐแฉ แฅแแฐแแ แkubectl แตแแแ แจแแแแฉแ แต แแแแต แซแตแแแแแณแแข
แ แญแแตแฐแญ แแตแฅแฃ แฅแ แจแตแ แฆแณแแฝแ แแแ แญ แตแฝแแแ โแ แ แซแแ แแแ แแตแฅ แซแ แแแฃแ แญแแตแฐแญ แ แญแแตแข Kubectl แ kubeconfig แแญแ แแญ แ แแแตแจแต แจแตแแแ แจแตแ แฆแณ แฅแแฐแแ แแ แญแแตแแแข แญแ แแแต แฐแแ แจแจแตแแ แจแตแ แฆแณ แแญ แฅแแฐแแ แซ แ kubectl แตแแแ แจแแแแฉแ แต แแแแต แซแตแแแแแณแ แแแต แแแข
แ แแ แแฅแซแ แแตแฅ แฅแแดแต แฅแแฐแแฐแซ แฅแ แฅแแดแต แแคแณแ แ แแ แแแแต แฅแแฐแแฐแซ แฅแแแแแแ.
แ KUBECONFIG แ แซแฃแข แฐแแแแญ แแตแฅ แจแฐแแจแแฉ แ แญแซแณ แจ kubeconfig แแญแแฝ แแแฉแแต แฅแแฐแแฝแ แแฅ แญแ แแข แ แแ
แ แแฃแ แฅแแแ
แแ แแญแแฝ แ แแฐแต แแ แแฐ แ แแต แจแฐแแแฐ แแ
แญ แญแฃแแซแแข แฅแแฒแแ kubectl แ แจแแแชแซแ แแญ แ แแแต แแฃแชแแ kubeconfig แแญแ แแแจแญ แญแฝแแแข --kubeconfig. แฐแแแจแต .
kubeconfig แแญแแฝ
แจ kubeconfig แแญแ แ แตแญแญแ แแ แฅแแฐแซแ แฅแแแแจแตแก-

แฅแแฐแแแแจแฑแต, แจ kubeconfig แแญแ แจแ แแถแฝ แตแฅแตแฅ แญแแ. แ แแต แถแตแต แ แซแแตแ แซแแ แแแก-
- แญแแตแฐแญ โ แจแญแแตแฐแญ แ แแแแญ แจแคแแ แญ แฉแ แญแคแแข
- แฐแ แแ - แ แญแแตแฐแญ แแตแฅ แจแฐแ แแ แแจแแแซ แแตแญแญแแถแฝแข
- แจแตแ แฆแณ - แญแแตแฐแญ แฒแแแแ แฅแ แ แแญ แจแแแ แจแตแ แฆแณแข
แ แฐแแฃแญแฃ แฅแ แแ แ แแต แ แแต แ แ แแต แญแแตแฐแญ แ kubeconfig แธแ แญแ แแแแข แแแญ แแแฃ แ แฐแ แแ แแญแ แ แตแ แฆแณ แจแแแฉ แ แฅแ แ แฅแ แ แแถแฝ แแแฉแแต แญแฝแแแข แแแญ แแแฃ แญแ แฃแแฅแ-แ แแต แแ แญ แซแแฐแแแฐ แแแฃ แตแแแ แ แฅแแแแ แแ แ แ แแต-แ-แ แแต แจแซแญแณ แตแซ แ แญแแตแฐแญ แฅแ แ แแถแฝ แแซแจแ แ แแข
แ แแแแแ แแแฃ แจแ แแต แแแณแแฝ แ แแฑ แแ แณแ แแแก-

kubectl แจแแแแชแซ แแญแแ แฒแซแแฅ แแ แแ แแจแแ แ แแ แซแแ แ แแต แญแแตแณแแข แจแแญ แฃแแ แแณแ kubectl แจHare แญแแตแฐแญ แแญ แญแแแแแข
แ แแ แแ แจแต แแฐ แแ แแแ แแแแจแญ แ kubeconfig แแญแ แแตแฅ แซแแแ แจแ แแแ แ แแต แแแแฅ แซแตแแแแแณแแก

แ แแ kubectl แจแแญแต แญแแตแฐแญ แแญ แญแแแแแข
แ แฐแแณแณแฉ แแแ แแตแฅ แแฐแฐแแจ แจแตแ แฆแณ แแแแจแญ แจแตแ แฆแณ แคแแแแต แแ แแ แ แแต แแ แแแจแญ แ แแฅแ แก

แจแแญ แฃแแ แแณแ, kubectl แจ Fox cluster's Prod แตแ แฆแณแ แญแ แแแ (แจแแ
แแฐแ แจแแจแซ แตแ แฆแณ แฐแแแฅแฏแ)แข
kubectl แ แแซแฎแฝแ แฅแแฐแแฐแฅ แแฅ แญแ แ --cluster, --user, --namespace ะธ --context, แญแ
แ แ kubeconfig แแตแฅ แจแฐแแแ แ แแแ แญแแ แแ แจแแ แ แคแแแแถแฝแ แฅแ แจแ แแแ แ แแต แฅแซแฑแ แฅแแฒแฝแ แซแตแฝแแแณแ. แฐแแแจแต kubectl options.
แ แแตแ แแณแฅ, แ kubeconfig แแตแฅ แ แแฅแฎแนแ แฅแซแตแ แแแจแญ แญแฝแแ. แแ แจแแญแแฝ แแแข แฅแแแ แ แตแซแแฝ แแแแแ, แแแชแซแแฝแ แ แซแต-แฐแญ แฅแแฒแแญแฉ แจแแซแตแฝแแ แจแฐแแซแฉ แแแแแซแแฝ แ แ.
kubectx แญแ แแ
แ แญแแตแฐแญ แฅแ แ แตแ แฆแณแแฝ แแซแจแ แแแแซแจแญ แ แฃแ แณแแ แแแแแซแข
แแแแแซแ แตแแแแฝแ แญแฐแฃแ kubectx ะธ kubens แจแ แแแ แ แแต แฅแ แจแตแ แฆแณแ แ แ
แฐแ แฐแจแฐแ แแแแจแญแข
แฅแแฐแฐแ แแฐแแฃ แจแ แแแ แ แแต แแแจแญ แแแต แ แ แแต แญแแตแฐแญ แ แแต แ แแต แฅแป แซแแ แญแแตแฐแญ แแแจแญ แแแต แแแข
แฅแแแ แ แตแแแแฝ แจแแตแฌแต แแณแ แฅแแ แ แแก-

แ แแ แจแฑ, แฅแแแ
แตแแแแฝ แจแแญ แฅแแฐแฐแแแแ แจ kubeconfig แแญแแ แ แแแ แซแญแตแ.
แแแซแ kubectx, แแญ แซแแตแ แแแชแซแแฝ แญแจแฐแ
แแแฑแ แตแแแแฝ แจแ แแต แฅแ แจแตแ แฆแณ แตแแฝแ แ แซแต แฐแญ แแ แแแ แ แญแฐแแแแฃ แญแ แ แแ แแแ แจแแฐแจแฅ แ แตแแแแแตแ แซแตแแแณแแข แ แแถแแฒแญ แแ แแแ แ แแแแแแต แแแชแซแแฝ .
แแ แ แแ แฃแ
แช kubectx แแ . แจแแแแแซแ แแญ แ แฅแฎ แญแฐแซแ , แ แฐแแ แ แแซแ แซแแ แต. fzf แ แแซแ แ แซแต-แฐแญ แ แญแแฐแแแ แแแณ แฅแแฒแแ แซแฐแญแแ kubectx. แ แญแแฐแแแแฃ แ fzf แ แแจแ แ แ แญแแฐแแแ แแ แจแแแ แ แญแแแฝ แ แฉแ แ แแต แฅแ แจแตแ แฆแณ แแแจแฅ แญแฝแแแข
แจแผแ แตแแฝแ แ แแ แแ
แจแ แแแ แ แแต แฅแ แจแตแ แฆแณ แแแแจแญ แจแฐแแจ แแณแชแซแแฝ แ แซแตแแแแแตแ แแญแแซแฑแ kubectl แแแ
แตแแแแฝแ แญแฐแฃแแข แ แ แกแตแ kubectl config แจ kubeconfig แแญแแฝแ แแแญแตแ แแแต แตแแแแฝแ แญแฐแฃแแข
แฅแแแ แ แแณแแถแน แแธแ-
kubectl config get-contextsแแแแ แ แแถแฝ แ แณแญ;kubectl config current-contextแจแ แแแ แ แแต แซแแ;kubectl config use-contextแจแ แแแ แ แแต แแแแฅ;kubectl config set-contextแจแ แแต แคแแแแต แแแฅแข
แญแแ แฅแแ แฅแแแ แ แตแแแแฝ แ แแฅแณ แแ แแ แ แฃแ แแน แ แญแฐแแ แแญแแซแฑแ แจแ แ แแธแ. แแแแธแ แแแ แจแแ แจแผแ แตแแฝแ แแฅแแฑ แแตแจแ แญแฝแแ.
แจ kubectx แแญ แจแแแณแฐแ แฐแแฃแญ แจแแฐแก แ แฅแแแ แตแแแแฝ แแญ แ แแแตแจแต แจแ แฝแ แตแ แ แแแ แปแแแข แฅแแ แฅแแฑแ แ แฐแแฃแญ แแจแต แญแฝแแ-

แฐแแแญ แตแแฝ แ แญแแฐแแแ แแ แแแ แ แญแแแฝ (แฅแแฐ kubectx แ แญแแฐแแแ แแแณ) แแแ
แจแฅ fzf แฅแแฐแแ แแ แแฅ แญแ แแข แญแ
แแแต แซแตแแแแแณแ แฅแแแ
แ แฐแแแญ แตแแฝ แแแ แแแข
แจแซแณแธแ แฐแแแญ แตแแฝ แแบแแฝ แฅแแ แ แแข
# ะะพะปััะธัั ัะตะบััะธะน ะบะพะฝัะตะบัั
alias krc='kubectl config current-context'
# ะกะฟะธัะพะบ ะฒัะตั
ะบะพะฝัะตะบััะพะฒ
alias klc='kubectl config get-contexts -o name | sed "s/^/ /;|^ $(krc)$|s/ /*/"'
# ะะทะผะตะฝะธัั ัะตะบััะธะน ะบะพะฝัะตะบัั
alias kcc='kubectl config use-context "$(klc | fzf -e | sed "s/^..//")"'
# ะะพะปััะธัั ัะตะบััะตะต ะฟัะพัััะฐะฝััะฒะพ ะธะผะตะฝ
alias krn='kubectl config get-contexts --no-headers "$(krc)" | awk "{print $5}" | sed "s/^$/default/"'
# ะกะฟะธัะพะบ ะฒัะตั
ะฟัะพัััะฐะฝััะฒ ะธะผะตะฝ
alias kln='kubectl get -o name ns | sed "s|^.*/| |;|^ $(krn)$|s/ /*/"'
# ะะทะผะตะฝะธัั ัะตะบััะตะต ะฟัะพัััะฐะฝััะฒะพ ะธะผะตะฝ
alias kcn='kubectl config set-context --current --namespace "$(kln | fzf -e | sed "s/^..//")"' แฅแแแ
แ แฐแแแญ แตแแฝ แแแแแแต แจแแญ แซแแตแ แตแญแแแแฝ แแฐ แแญแแ แแจแ แซแตแแแแแณแ ~/.bashrc แแญแ ~/.zshrc แฅแ แผแแแ แฅแแฐแแ แซแตแแฑ.
แฐแฐแชแแฝแ แแ แแ
Kubectl แฅแแฐ แแฐแจแณแ แตแแแแฝ แ แฐแแณแณแญ แแแแต แจแแจแแแ แแแแแฝแ แฅแแฒแญแ แญแแ
แตแแแณแ. แแแณแ แจ kubectl-foo แแแแ แแซแ แฅแ แตแแแแ แ แแแธแ แแตแฌแต แญแฝแแแข kubectl foo.
แ แแ
แแแแต แจแ แแต แฅแ แจแตแ แฆแณแ แแแแแฅ แ แแบ แญแแแ, แแแณแ แ แแฎแฅ kubectl ctx แ แแต แแแแแฅ แฅแ kubectl ns แจแตแ แฆแณแ แแแแจแญ.
แญแ แแ แจแแซแฐแญแ แแแต แฐแฐแชแแฝแ แฝแแซแแแก-
แจแแแแแฝ แฅแซ แจแแณแแ แญแแ แฐแแแญ แตแแฝ แแญ แจแฐแแ แจแฐ แแแข
แฅแแดแต แฅแแฐแแ แฉ แฅแแแก-

แแแแแน แ แญแแฐแแแ แแ แจแแแ แ แญแแแฝ แแแ
แจแฅ fzf แฅแแฐแแ แแ (แฅแแฐ kubectx แ แญแแฐแแแ แแแณ) แฅแแฐแแ แแ แแฅ แญแ แแข แญแ
แแแต แซแตแแแแแณแแฅแแแ
แ แฐแแแญ แตแแฝ แแแ แแแข
แฐแฐแชแแฝแ แแแซแแฃ แจแฐแฐแจแ แจแผแ แตแญแชแแถแฝแ แแแจแต แซแตแแแแแณแ ะธ แ แฅแญแตแ PATH แฐแแแแญ แแตแฅ แแณแแ แแแแแ แแแซ แฅแ แ แแณแ แฅแแฒแฐแแ แฉ แซแตแญแแธแแข chmod +x. แจแแ
แ แแ แแฒแซแแ แแ แแ แญแฝแแ kubectl ctx ะธ kubectl ns.
5. แ autoaliases แแคแตแ แญแแแฑ
แจแผแ แฐแแแญ แตแแฝ แแฐแจแฅ แแแแ แ แฅแฉ แแแแต แแธแแข แแฎแแญแต แแแ แจแณแ แจ kubectl แตแแแแฝ 800 แ แแซแฎแฝแ แญแแแข
แแแแฃแต แตแแจแ แญแแแ - 800 แ แฝแ แตแแฝแ แฅแแดแต แณแตแณแแณแแ ? แแ แแแแ แแตแณแแต แ แซแตแแแแแตแ แฃ แแญแแซแฑแ แฅแแฑ แ แแแ แแญแแแฅแญ แแ แจแต แจแฐแแแก แแธแ แฃ แฅแฑแ แจแแ แ แณแฝ แฐแฐแฅแทแ-

แแแณแ:
- kgpooyaml - kubectl pods oyaml แซแแ
- ksysgsvcw โ kubectl -n kube-system svc w แซแแ
- ksysrmcm -kubectl -n kube-system rm แดแ
- kgdepallsl - kubectl แแแแต แแฐแแซแต แแแแ sl
แฅแแฐแแแแจแฑแต แฃ แฐแแแญ แตแแฝ แจแญแแแฝ แจแฐแ แฉ แแธแ แฃ แฅแซแแณแแฑแ แจ kubectl แตแแแ แจแฐแแฐแ แ แซแแ แญแแญแแแข แฅแซแแณแแฑ แฐแแแญ แตแ แแแ แจแณแ แตแแแ แฃ แฆแแฌแฝแ แฅแ แแฅแแต แ แแต แ แซแ แฅแ แแแคแถแฝ แฅแ แ แซแแต แแแจแ แญแฝแแแข แจแแญ แฃแแ แตแฅแ แแฐแจแต แ แแแ แฅแแแ แ แญแแแฝ แจแแซ แแฐ แแ "แตแแแธแแ"แข
แจแ แแ แแญแแญ แฒแซแแซแ แ . แฅแแซแ แแแแต แญแฝแแ.
แแแณแแฃ kgpooyamlall แฐแแแญ แตแ แจแตแฅแแ แแญ แฅแฉแ แแแข kubectl get pods -o yaml --all-namespaces.
แจแ แแซแฎแฝ แ แแปแซแ แ
แฐแ แฐแจแฐแ แ แตแแแ แ แญแฐแแ: แตแแแ kgpooyamlall แจแตแฅแแ แแญ แฅแฉแ แแ kgpoalloyaml.
แแแแ แ แซแแต แฅแแฐ แฐแแแญ แตแ แแ แแ แจแแฅแแตแแข แแแณแ k, kg, klo, ksys, kgpo แฅแแฒแแ แแ แแ แญแปแแ. แ แฐแจแแชแ แฃ แฐแแแญ แตแแฝแ แฅแ แแฐแ แ แตแแแแฝแ แแญแ แ แแซแฎแฝแ แ แตแฅแแ แแตแแญ แแญ แแแแต แญแฝแแ-
แแแณแ:
- แญแแแ แกแก
kubectl proxyแแปแ แตแฝแแแk proxy. - แญแแแ แกแก
kubectl get rolesแแปแ แตแฝแแแkg roles(แ แ แแ แแ แแฎแแต แแแญ แแแ แ แฝแ แตแ แจแแ)แข - แแ แแต แจแฐแแฐแ แแต แแแฅ แแแแแต แตแแแแ แแ แแ แญแฝแแแข
kgpo my-pod โ kubectl get pod my-pod.
แฅแฃแญแ แ แแณแแต แฐแแแญ แตแแฝ แจแตแแแ แแตแแญ แแจแซแจแชแซ แซแตแแแแธแแแข แแแณแ, แฐแแแญ แตแ kgpol แแแแถแฝแ kubectl get pods -l. แ แแซแญ -l แญแญแญแญ แญแ แญแแ - แจแแแซ แแญแแญแข แฐแแแญ แตแ แจแฐแ แแ แญแแตแแ kgpol app=ui.
แ แแณแแต แฐแแแญ แตแแฝ แแจแซแจแชแซ แตแแแซแตแแแแธแแฃ แฐแแแญ แตแแฝ aแฃ f แฅแ l แ แแจแจแป แฅแ แ แแญ แแแ แ แแฃแธแแข
แ แ แ แแแญแฃ แ แแด แจแแ แฅแ แต แฐแแ แแฅแ แจแฐแแแฃ แแแฝแแต แจแแแแแต แตแแแแฝ แแญ แฐแแแญ แตแแฝแ แ แแตแฐแแ แแแแต แฅแ แฅแ แจแแฐแจแฅ แแแ แแแ แฅ แญแฝแแแข
แแซแ
kubectl-aliases แ แแแซแ แแญแแ แแแจแต แซแตแแแแแณแ แจ GitHub แฅแ แ แแญแ แแตแฅ แซแซแตแฑ ~/.bashrc แแญแ ~/.zshrc:
source ~/.kubectl_aliasesแ แแถแแฒแญ แแ แแแ
แแฐแ แฅแแ แฅแแฐแฐแแแญแแ แ แตแฅแแ แแตแแญ แแญ แฐแจแแช แแแตแ แแฐ แฐแแแญ แตแ แตแจแแซแแ แข แแแณแ:
$ kgpooyaml test-pod-d4b77b989แจ kubectl แตแแแ แแ แแแแซแ แจแฐแ แแแฃ แฅแแฐ แจแแฅแจแต แตแแฝ แแ แแแฎแฝ แซแต-แแ แแแแซแ แฐแ แ แแ แญแแแแข แแ แฐแแแญ แตแแฝ แฒแ แแ แญแ แแ แแตแจแ แญแปแแ?
แญแ แ แฃแ แ แตแแแ แฅแซแ แแ แแญแแซแฑแ แ แแถแแฒแญ แแ แแแ แซแแฐแซ, แ แแณแแต แฐแแแญ แตแแฝแ แฅแ แแฝ แซแฃแ.
แแแฑ แจแตแแแ แผแ แฅแแฐแแ แแ แญแแฐแแแก-
- แ Zshแฃ แฐแแแญ แตแ แแ แแแ แจแณแฅแ แแญ แญแฐแซแแข
- แ Bashแฃ แ แแซแณแแ แแแณแฃ แแฐ แฅแซ แ แแถแแฒแญ แแ แแแแซ แแแแแต แ แแณแแต แฅแซ แซแตแแแแแข
แ แฃแฝ แแตแฅ แฐแแแญ แตแแฝแ แ แซแต แแ แแแ แ แแแแต
แจแฃแฝ แฝแแญ แแ แฐแแแญ แตแ แฐแแแญ แตแ (Tb แ แ แฐแซแ แแฅแญ) แแแ แแแ แแแจแฉ แแ แฅแแ แฐแแแญ แตแ แจแแซแแแญแฐแแ แตแแแ แ แญแฐแแ (แแแณแ Zsh แฅแแฐแแซแฐแญแแ)แข แแแแ 800 แฐแแแญ แตแแฝ แจแแ แแแแซ แตแญแชแแถแฝ แตแแแแฃ แซแต-แแ แแแแซ แ แญแฐแซแแข
แแฎแแญแฑ แแแ แฝแแญ แ แ แแแญ แแแตแ แญแฐแฃแ. แฐแแแญ แตแแฝแ แจแแ แแแแซ แแด แแญ แญแแแแแฃ แ แแตแฅ แ แฉแ แฐแแแญ แตแแ แแฐ แตแแแ แซแฐแแ แฅแ แแฐแ แแแแ แตแแแ แจแแ แแแแซ แ แแซแฎแฝแ แญแแแณแแข แญแ แแแต แแฐแแแญ แตแ แซแแ แแฃแ แแญ แฅแแฐ แแ แตแแแ แฐแแณแณแญ แแ แแแต แแแข
แ แแจแฐแแ แแตแฅ แ แแแแชแซ แแแ-แฐแแแญ แตแ แฅแแดแต แฅแแฐแแญแ แฅแ แ แแแ แ แฅแแดแต แแแแญ แฅแแฐแแปแ แแแแ แจ kubectl แฐแแแญ แตแแฝ แฅแแแปแแแข
แแ-แฐแแแญ แตแ แแซแ
แ แแแแชแซ แฐแจแ, แแ-แฐแแแญ แตแ แญแแฐแแ แตแแแ แฃ แแ แ แฝแ แตแแฝแ แจแแซแแ แ แแตแฃ แจ bash-completion แแซแแ แแจแแแฅ แ แแฅแแตแข แจแแซแ แแแชแซแแฝ แแฐแ แฅแแ แ Linux แฅแ แแญแฆแคแตแข
แ แแ แแตแณแแป แ MacOS แฐแ แแแแฝ: แแญ แฅแแฐ kubectl แซแต-แแ แแแแซ แตแญแชแแต แฃ แแ-แฐแแแญ แตแ แจ Bash 3.2 แแญ แ แญแฐแซแ แฃ แญแ
แ แ MacOS แแญ แซแแ แแฃแช แแแข แ แฐแแญแ แแ-แฐแแแแญ แ bash-completion v2 แแญ แญแแฐแแ (brew install bash-completion@2) แขแซแแต แฃแฝ 4.1 แซแตแแแแแแข แญแ
แแแต แ MacOS แแญ แแ-แฐแแแญ แตแ แแแ แแ แ แฒแต แจแฃแฝ แตแชแต แแซแ แซแตแแแแแณแแข
แตแญแชแแฑแ แแแจแต แซแตแแแแแณแ แจ แฅแ แ แแญแแ แแตแฅ แซแซแตแฑแต ~/.bashrc:
source ~/bash_completion.shแ แญแแฑแ แฅแแฐแแ แซแตแแณ แ แแ, แแ-แฐแแแญ แตแ แแ แ แแ แญแซแแ.
แ kubectl แฐแแแญ แตแแฝ แซแต-แแ แแแ แ แแแแต
แ แดแญแแซแ แจแฐแแ-แฐแแแญ แตแ แจแแ แ
แแซ แฐแแฃแญแ แญแฐแฃแ _complete_alias. แญแ
แฐแแฃแญ แฐแแแญ แตแแ แญแแตแปแ แฅแ แแฐแแแญ แตแแแ แจแแ แแแแซ แแแฎแฝแ แญแแแณแแข
แ แแตแ แฐแแฃแญ แจแ แแต แจแฐแแฐแ แฐแแแญ แตแ แแญ แแแซแซแ แ แฅแฎ แจแฐแฐแซแแ แจ Bash แแดแ แแ แแ แซแตแแแแแณแ , แแแซแ _complete_alias แฅแแฐ แฐแแแญ แแ แแแ
แฐแแฃแญ.
แฅแแฐ แแณแแฃ แจ kubectl แตแแแแ แจแแซแแแญแฐแแ แฐแแแญ แตแ แฅแแแฐแตแข แแแซแ _complete_alias แแแ
แฐแแแญ แตแ แแแซ แฐแแฃแญแฃ แจแแจแฐแแแ แตแแแ แแตแฌแต แ แแฆแตแข
$ complete -F _complete_alias k แจแแ
แแคแต แฐแแ แฐแแแญ แตแ k แ แซแต-แฐแญ แฒแซแ แแ
แ แฐแแฃแฉ แญแฃแแ _complete_alias, แฐแแแญ แตแ แจแแแตแฝ แฅแ แแตแฅแแ แจแแ แแแแซ แแแฎแฝแ แญแแแณแ kubectl.
แฅแแฐ แแแฐแ แแณแแฃ แฐแแแญ แตแ แฅแแแฐแต kgแจแแซแแแญแฐแ kubectl get:
$ complete -F _complete_alias kg แแญ แฃแแแ แแณแ แแญแฃ แชแ แแซแ แ แซแต-แฐแญ แฒแซแ แแ
แแฃ แฅแญแตแ แจแแซแแแตแ แฐแแณแณแญ แจแแ แแแแซ แแแญ แซแแแแข kubectl get.
แ แตแญแแตแ แแญ แแ แแแแแแ แฐแแแญ แตแ แแ แตแ แแ แแ แฅแแฐแแฝแ แแฅ แญแ แแข
แตแแแ
แแแแ แจ kubectl แฐแแแญ แตแแฝ แ แแถแแฒแญ แแ แแแ
แ แแแแแต แแฅแซแแณแแณแธแ แจแแญ แซแแแ แตแแแ แแตแฌแต แซแตแแแแแณแแข แจ kubectl-aliases แฅแตแซแแแ แตแจแต แจแแจแฐแแ แ
แแฃแข แ แตแญแญแ แญแฐแซแ ~/.kubectl-aliases:
for _a in $(sed '/^alias /!d;s/^alias //;s/=.*$//' ~/.kubectl_aliases);
do
complete -F _complete_alias "$_a"
done แญแ
แฎแต แ แฅแญแตแ แแตแฅ แแแแฅ แ แแ แตแข ~/.bashrc, แตแแแแ แฅแแฐแแ แซแตแแแฉแต แผแ แฅแ แ แแถแแฒแญ แแ แแแ
แแแแ 800 kubectl แฐแแแญ แตแแฝ แจแแแ แญแแแแข
6. kubectl แจแแแแแฝ แแญ แแซแแ
แ แแแแญ แแญ , kubectl แญแฐแแแ , แญแ แ แฐแแฃแฉแ แจแฐแจแแช แตแแแแฝ แแญ แแแตแแต แซแตแฝแแแณแ.
แฅแญแตแ แจแแซแแแต แจแแ , แจแแซ แจ kubectl แแแแแฝ แ แฐแแณแณแญ แแญแ แแญ แจแฐแแแก แแธแ.
แ แแ แแฅแซแ แแตแฅ แแแแ แฅแแดแต แฅแแฐแแซแแฃ แจแต แฅแแฐแแแ แฅแ แจแฅแซแตแแ แแแแ แฅแแดแต แแแ แญ แฅแแฐแแฝแ แฅแแแแแแแข
แฐแฐแชแแฝแ แ แแซแ แแญ
แจ Kubectl แแแแแฝ แจแตแ แแญ แฅแแฐ แแแ แแฐแแ แฉ แจแแฝแ แแญแแฝ แญแฐแซแซแแข kubectl-x. แ
แตแ แ
แฅแซ kubectl- แซแตแแแแแฃ แจแแซ แ แแ แฐแฐแชแแ แฅแแฒแฐแแ แจแแซแตแฝแแ แ แฒแต แจ kubectl แแแต แตแแแแข
แแแณแ แจแแ แแแแ แ แฐแ แซ แแญแ แญแฐแซแซแแข kubectl-hello.
แฐแฐแชแแ แแแซแ, แแญแแ แแ
แณแต แซแตแแแแแณแ kubectl-x แ แฅแญแตแ PATH แแตแฅ แแณแแ แแแแแ แแแซ แฅแ แฐแแปแ แฅแแฒแแ แซแตแญแแตแฃ แแแณแ แ chmod +x. แจแแ
แ แแ แแฒแซแแ แแฐ แแแแ แแฐแแ แญแฝแแ kubectl x.
แ แแ แ แตแญแแตแ แแญ แจแฐแซแแตแ แแแแ แฐแฐแชแแฝ แแแแญแแญ แจแแจแฐแแแ แตแแแ แแ แแ แญแฝแแแข
$ kubectl plugin listแฐแแณแณแญ แตแ แซแแธแ แฅแ แแแแแฝ แซแแแต แแญแ แแฐแแ แญ แจแแญแฝแ แจแแแแ แแญแ แซแ แญแ แตแฅแแ แแตแ แแแแซแแฝแ แซแณแซแแข
Krew แ แแ แแ แฐแฐแชแแฝแ แแแแ แฅแ แแซแ
Kubectl แแแแแฝ แฅแแฐ แถแแตแแญ แแฌแแฝ แแแฉ แแญแ แฅแแฐแแ แฅแ แ แแญ แแแ แญแฝแแแข แแ แแแฝ แซแแฏแธแแ แฐแฐแชแแฝ แจแต แแแแต แญแฝแแ?
แจ kubectl แแแแแฝแ แแแแซแตแฃ แแแแแแฃ แแแซแ แฅแ แแแตแฐแณแฐแญ แ แแต แแฅ แแแตแ แแแตแ แต แซแแ แแแข แแฎแแญแฑ แฅแซแฑแ "แจแแฌแ แ แตแฐแณแณแช แ kubectl แแแแแฝ" แฅแ แญแ แซแ (Krew แฐแแณแณแญ แแ ).
Krew แฅแญแตแ แแแจแฅ แฅแ แแซแ แจแแฝแแต แจ kubectl แฐแฐแชแแฝ แแญแแญ แแแข แ แฐแแณแณแญ แแ Krew แจ kubectl แฐแฐแช แแแข
แญแ แแแต Krew แ แแซแ แฅแแฐ แแแแแ แแ แจ kubectl แแแแ แแซแ แญแฐแซแ แแแต แแแข แแญแแญ แแแชแซแแฝแ แ แแญ แแแแต แญแฝแแแข .
แ แฃแ แ แตแแแแแน แจ Krew แตแแแแฝ แจแแจแฐแแต แแธแ
# ะะพะธัะบ ะฒ ัะฟะธัะบะต ะฟะปะฐะณะธะฝะพะฒ
$ kubectl krew search [<query>]
# ะะพัะผะพััะตัั ะธะฝัะพัะผะฐัะธั ะพ ะฟะปะฐะณะธะฝะต
$ kubectl krew info <plugin>
# ะฃััะฐะฝะพะฒะธัั ะฟะปะฐะณะธะฝ
$ kubectl krew install <plugin>
# ะะฑะฝะพะฒะธัั ะฒัะต ะฟะปะฐะณะธะฝั ะดะพ ะฟะพัะปะตะดะฝะตะน ะฒะตััะธะธ
$ kubectl krew upgrade
# ะะพัะผะพััะตัั ะฒัะต ะฟะปะฐะณะธะฝั, ัััะฐะฝะพะฒะปะตะฝะฝัะต ัะตัะตะท Krew
$ kubectl krew list
# ะะตะธะฝััะฐะปะปะธัะพะฒะฐัั ะฟะปะฐะณะธะฝ
$ kubectl krew remove <plugin>แฅแฃแญแแ Krew แ แ แแ แแ แแแแแฝแ แแซแ แจแแญ แจแฐแแแธแแ แแฐแ แ แแด แ แแ แแ แฐแฐแชแแฝแ แแซแ แแญ แฃแแ แฅแแฐแแญแแฃ แแฅ แญแ แแข
แฅแฃแญแแ แตแแแแ แซแตแฐแแ kubectl krew list Krew แ แ แแ แแ แจแฐแซแ แฐแฐแชแแฝแ แฅแป แซแณแซแ แฃ แแ แตแแแ kubectl plugin list แแแแ แฐแฐแชแแฝ แญแแจแแซแแฃ แแแตแแฃ Krew แ แแ แแ แจแฐแซแ แฅแ แ แแแฝ แแดแแฝ แจแฐแซแแตแข
แ แแ แฆแณ แฐแฐแชแแฝแ แ แแแแต แแญ
Krew แแฃแต แแฎแแญแต แแ, แ แ แแ แแ แ แแตแก แแฐ 30 แแแแแฝ แฅแปแข แจแแแแแตแ แแแแต แซแแปแ แฅแแฐ GitHub แซแ แฐแฐแชแแฝแ แแ แฆแณ แแแแต แญแฝแแแข
แจ GitHub แญแแแ แฅแแฒแแแจแฑ แฅแแญแซแแ . แฅแแซ แแแจแแฉ แจแแแฃแธแ แ แฐแญแแ แจแแแ แฉ แฐแฐแชแแฝแ แซแแแแข
แจแซแตแแ แฐแฐแชแแฝ แ แแปแ แแญ
แ แแฐ แซแตแ
แตแฝแแแ
- แจแฃแต แ แญแฐแแ. แจแแซแตแแแแแตแ แจแแแฝแ แ แตแแแ แแแ แญ แ แแฆแต, แฅแแฐ แตแ kubectl-x แฅแ แจแแญ แฅแแฐแฐแแแแ แญแซแ.
แแญแ แจแฃแฝ แตแญแชแแตแฃ แจแแญแถแ แตแญแชแแต แแญแ แจแฐแ แแแจ แจGO แแฐแแ แชแซ แแแ แญแฝแแ - แแแ แ แญแฐแแแข แฅแธแแ แแแณ แ แตแญแแฐ แญแแแ แแตแฅ แ แแฅแณ แแฐแแ แญ แญแฝแแ.
แ แแ แ แแต แแณแ แฐแฐแช แฅแแแ แญแข แ แแฐแแ แญแแ แจ kubectl แตแฅแแแ แฐแ แ
แแ
แจแฅแซแแณแแณแธแแ แจแแต แฅแแแฝ แแแแญแแญ แแแข แญแ
แแ แตแฅแแ แแฐ แฐแฐแช แแแจแญ แแแ แแ แแแณแแก kubectl img.
แแญแ แญแแ แฉ kubectl-img แจแแจแฐแแ แญแแตแก-
#!/bin/bash
kubectl get pods -o custom-columns='NAME:metadata.name,IMAGES:spec.containers[*].image' แ แแ แแญแแ แ แแญ แฅแแฒแฐแแ แญ แซแตแญแแต chmod +x kubectl-img แฅแ แ แฅแญแตแ PATH แแตแฅ แแณแแ แแแแแ แแแซ แญแแฐแฑแตแข แจแแ
แ แแ แแฒแซแแ แฐแฐแชแแ แแ แแ แญแฝแแ kubectl img.
แฅแแฐแฐแ แแฐแ แจ kubectl แแแแแฝ แ แแแแแ แแฎแแซแแแ แแญแ แตแญแชแแต แแแ แแปแ แญแฝแแแข แจแผแ แตแญแชแแถแฝแ แฅแจแฐแ แแ แจแแ แจแแแแ แแตแฅ แแฐ kubectl แ แแแ แแฐแแ แแปแ แซแแ แฅแ แแข แแแญ แแแฃ แ แแ แแ แ แฅแแแฐแ แแฎแแซแแแ แแแแแฝ แจแ แแ แแตแฅแตแฅ แฐแฐแชแแฝแ แแแ แญแฝแแแข . Go แฅแจแฐแ แแ แจแแแฃ แแ แแแ แญแฝแแแข แ แฐแแญ แจ kubectl แแแแแฝแ แแแปแ แจแแแแข
แฐแฐแชแแฝแแ แฅแแดแต แแแซแต แฅแแฐแแฝแ
แจแฅแญแตแ แฐแฐแชแแฝ แแแแฝ แ แแ แแแ แญแฝแแ แฅแแ แซแฐแก แ GitHub แแญ แแแแซแต แแแแต แญแฐแแแข แแฐ แญแแฑ แแจแแแ แฅแญแแ แ แญแแ .
แฅแแฒแแ แฐแฐแชแ แฅแแฒแณแจแ แแ แจแ แญแฝแแแข . แญแ แแ แฅแแดแต แแตแจแ แฅแแฐแแปแ แแแชแซแแฝ แ แแตแฅ แแธแแข .
แจแตแฅแแ แแ แแแ
แแแแแฝ แ แ แแ แแ แซแต-แแ แแแ แ แ แญแฐแแแแข แแแตแ แจแแแแแ แแ แตแ แฅแ แจแญแญแญแฉแ แแ แตแ แแตแแฃแต แ แแฆแตแข
แจแแ แฐแแฃแญ GitHub kubectl แแจแแป แ แแแข . แตแแแ แญแ แฃแ แช แแฐแแต แจแฐแแฐแ แแ แ แแ แฐแแฃแซแ แแแ แญแฝแแแข
แแแซแ แแแต!!!
แ แญแแฑ แแญ แแ แแ แแแ แฅ:
- .
- .
- .
แแแญ: hab.com







