Search by

    kubernetesの基本的なコマンドなど

    kubernetesのコマンドをなるべく体系的にまとめてみたいという記事

    この記事ではk8sで試したコマンドを列挙してみます。基本的なところから。 consoleで作成する場合はもっと簡単で、画面でぽちぽちすれば良いものもあると思います。悪しからず。 でも、コマンドは誤操作がなく安心できます。ケースに応じて使いやすい方を利用すると良いと思われます。

    クラスタ管理

    クラスタ作成例
    gcloud container clusters create k8s \
      --cluster-version 1.16.15-gke.4901 \
      --zone $ZONE \
      --num-nodes 3 \
      --machine-type n1-standard-4 \
      --enable-network-policy \
      --enable-vertical-pod-autoscaling
    • 2021.01.03時点のでの対応versionを記載

    対応バージョンはここで閲覧可能な様です。

    クラスター削除
    gcloud container clusters delete k8s --zone asia-notheast1-a

    kubectlのContext(どの環境を管理するか)関連

    gcloudで言う所のconfigurationを確認できる。

    リスト
    kubectl config get-contexts 

    ⬇️ output

    CURRENT   NAME                                                 CLUSTER                                              AUTHINFO                                             NAMESPACE
    *         gke_$YOUR_PROJECT_$YOUR_ZONE-a_k_$cluster-name           gke_$YOUR_PROJECT_$ZONE_$cluster-name           gke_$YOUR_PROJECT_$ZONE_$cluster-name           
              gke_$YOUR_PROJECT_$ZONE_$cluster-name2    gke_$YOUR_PROJECT_$ZONE_$cluster-name2    gke_$YOUR_PROJECT_$ZONE_$cluster-name2     
    
    切り替え
    kubectl config use-context gke_$YOUR_PROJECT_$ZONE_$cluster-name2
    現在のContext
    kubectl config current-context

    kubectlでPodを管理する

    k8sマニフェストの例
    sample.yaml
    apiVersion: v1
    kind: Pod
    metadata:
      name: sample-pod
    spec:
      containers:
        - name: nginx-cluster
          image: nginx:1.16
    作成
    kubectl apply -f sample-pod.yaml

    createでも作成できるが、applyに統一していた方が良い。

    リスト
    kubectl get pods
    削除
    kubectl delete pod sample-pod

    k8sにはたくさんのリソースがあって、それぞれが役割を持って動いている。 それ故にクラスターという表現を使うのだとわかりました。

    権限付与
    kubeclt create clusterrolebinding user-cluster-admin-binding \
      --clusterrole=cluster-admin \
      --user=SOMEUSER@gmail.com