GKEでのkubectlコマンドのメモ

docker

はじめに

このページはGKEを対象に、CloudShellからの実行を想定しています。

kubeconfigの設定

kubeconfigへのエントリの追加
kubectlでクラスタを操作するためには、kubeconfigへクラスタのエントリを登録する必要がある。
エントリの登録は’gcloud container clusters get-credentials’で行う。

$ gcloud container clusters get-credentials cluster-2 --zone asia-east1-a
Fetching cluster endpoint and auth data.
kubeconfig entry generated for cluster-2.

コンテキストの表示
(Kubectlが通信するKubernetesのクラスタ情報)

$ kubectl config get-contexts
CURRENT   NAME                                                 CLUSTER                                              AUTHINFO                                             NAMESPACE
*         gke_xxx-project-302301_asia-east1-a_cluster-2    gke_xxx-project-302301_asia-east1-a_cluster-2    gke_xxx-project-302301_asia-east1-a_cluster-2
          gke_xxx-project-302301_us-central1-c_cluster-1   gke_xxx-project-302301_us-central1-c_cluster-1   gke_xxx-project-302301_us-central1-c_cluster-1

デフォルトコンテキストの変更
kubectlコマンドを実行する際のデフォルトクラスタを変更する。

kubectl config use-context クラスタ名

リソースの検索

リソースの検索はkubectl getで行う。
現在のデフォルトコンテキストに設定されたクラスタの情報が出力される。

$ kubectl get pods
NAME                      READY   STATUS    RESTARTS   AGE
nginx-1-9c9488bdb-pg6wx   1/1     Running   0          4h31m

$ kubectl get replicasets
NAME                DESIRED   CURRENT   READY   AGE
nginx-1-9c9488bdb   1         1         1       4h32m

$ kubectl get deployments
NAME      READY   UP-TO-DATE   AVAILABLE   AGE
nginx-1   1/1     1            1           4h32m

$ kubectl get services
NAME              TYPE           CLUSTER-IP   EXTERNAL-IP      PORT(S)        AGE
kubernetes        ClusterIP      10.8.0.1     <none>           443/TCP        4h50m
nginx-1-service   LoadBalancer   10.8.14.37   35.223.221.126   80:30354/TCP   3h14m

デプロイメント

kubectl apply でYAMLファイルを指定する。

$ kubectl apply -f deployment.yml

deployment.yml

apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 2 # tells deployment to run 2 pods matching the template
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

リソースが作成された。

参考URL

Kubernetes公式のチートシート

kubectlチートシート
Kubectl概要とJsonPathガイドも合わせてご覧ください。 このページはkubectlコマンドの概要です。 kubectl - チートシート Kubectlコマンドの補完 BASH source > ~/.bashrc # bashシェルでのコマンド補完を永続化するために.bashrcに追記します。 また、エイ...

コメント

タイトルとURLをコピーしました