現在存在するすべてのリソースの数を得る
$ kubectl get all --no-headeres | wc -l
get all
コマンドはすべてのリソースを得るコマンド。--no-headers
オプションを渡すとヘッダーの行が出力されなくなるので、行数を数えればそれがリソースの数と一致することになる。
パイプで wc
コマンドに渡して行数をカウントを出力する。-l
オプションは外業の数を表示する。
作成するリソースのひな形をyamlとして出力する
$ kubectl run nginx --image nginx -0=yaml --dry-run=client > nginx.yaml
- nginx.yaml
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
run: nginx
name: nginx
spec:
containers:
- image: nginx
name: nginx
resources: {}
dnsPolicy: ClusterFirst
restartPolicy: Always
status: {}
ドライラン(--dry-run=client
)した結果を yaml として出力(-o=yaml
)して、結果をファイルに保存 > nginx.yaml
することで簡単に yaml ファイルのひな形を出力できる。
その他の例
- deployment
$ kubectl create deployment nginx --image nginx -o=yaml --dry-run=client > deployment.yaml
piVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: nginx
name: nginx
spec:
replicas: 1
selector:
matchLabels:
app: nginx
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: nginx
spec:
containers:
- image: nginx
name: nginx
resources: {}
status: {}
- service
$ kubectl expose deployment nginx --port=80 --dry-run=client -o=yaml > service.yaml
エイリアス
エイリアスを登録しておくと、コマンドを打つ時間を短縮できる。
$ alias k="kubectl"
describeの出力結果を絞り込む
例えば、deployment に適用されている Image を出力したいとき。
$ kubectl describe deployment some-deployment | grep -i image
パイプで出力結果を grep
に渡す。-i
オプションは、大文字小文字を区別しない。