EKSのPodに入る方法

目的

EKSにデプロイしたPod内で不具合が発生した場合の調査等でPodに入りたい場合があるのでその手順を記載する。

前提

  • EKSが作成済みであること
  • kubectlコマンドが実行可能であること

確認用にnginxをEKSにデプロイする

  1. kubectlコマンドが実行可能な端末にSSHでログインして、デプロイファイルを作成する
    作成ファイル:nginx.yaml

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-deployment
      labels:
        app: nginx
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
      spec:
        containers:
          - name: nginx
            image: nginx:1.14.2
            ports:
            - containerPort: 80
  2. kubectlコマンドでデプロイする

    kubectl apply -f nginx.yaml
  3. kubectlコマンドで正常にデプロイされたことを確認する。
    kubectl get po


    STATUSが「Running」になっている事を確認する。

Podに入る

  1. kubectlコマンドが実行可能な端末にSSHでログインして、対象のPod名を取得する。

    kubectl get po


    今回の対象名は「nginx-deployment-66b6c48dd5-fwvr7」となる

  2. 取得したPod名を指定してkubectlコマンドでPodに入る

    kubectl exec -it nginx-deployment-66b6c48dd5-fwvr7 /bin/bash

    kubectl exec -it <Pod名> /bin/bash
    or

    Pod内でbashが使用出来ない場合があるので、その場合以下のコマンドでログインする。
    kubectl exec –stdin –tty <Pod名> — /bin/ash

  3. 成功すれば以下のようにPodに入れる。

K8Sダッシュボードからログインする方法

  1. K8SダッシュボードをEKSにインストールしている場合、ダッシュボードからPodに入る事が出来る
    ポッド⇒三点リーダ⇒実行
  2. 実行後以下の画面でPod内の操作が可能となる。

Smallitのサービス