はじめに
このページは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に追記します。 また、エイ...
コメント