kubernets

Kubernetes Tips

知っていると時間を短縮できるようなkubectlコマンドのtipsです。

現在存在するすべてのリソースの数を得る

$ 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 オプションは、大文字小文字を区別しない。


Contributors

> GitHub で修正を提案する
この記事をシェアする
はてなブックマークに追加

関連記事