BottleRocket、Ubuntu、または Redhat のプライマリノードとワーカーノードの EKS Anywhere クラスターコンポーネントのログを確認する方法を教えてください。

所要時間2分
0

Amazon Elastic Kubernetes Service (Amazon EKS) Anywhere でコントロールプレーンまたはデータプレーンマシンの作成が失敗したときに、コンポーネントログを確認したいです。

簡単な説明

Amazon EKS Anywhere ワークロードクラスターの作成中に、コントロールプレーン、etcd、およびデータプレーンの各マシンのログを確認できます。

各マシンのコンポーネントログを確認するには、次の条件を満たす必要があります。

  • EKS Anywhere はワークロードクラスタを作成しようとしており、各マシンは作成中である。
  • 各マシンでは、コントロールプレーンなどとデータプレーンに SSH 経由でログインできる。

解決策

[$ kubectl get machines] コマンドを使用して各マシンのステータスを確認します。

管理クラスターの例:

$ kubectl get machines -A
NAMESPACE     NAME                         CLUSTER   NODENAME      PROVIDERID                                       PHASE     AGE     VERSION
eksa-system   mgmt-etcd-bwnfq              mgmt                    vsphere://4230b0d5-7b14-4753-bd41-3dbe4987dbc4   Running   5h26m
eksa-system   mgmt-etcd-bzm77              mgmt                    vsphere://4230b278-1fb4-f539-0afe-9f12afebf86b   Running   5h26m
eksa-system   mgmt-etcd-dzww2              mgmt                    vsphere://42309b5a-b0ad-58a5-1e40-5fe39a3d1640   Running   5h26m
eksa-system   mgmt-jw8dl                   mgmt      10.4.11.19    vsphere://42304059-c833-48d3-9856-7f902c852743   Running   5h26m   v1.24.9-eks-1-24-7
eksa-system   mgmt-md-0-66b858b477-6cbcz   mgmt      10.4.35.76    vsphere://4230efad-5d42-c570-36c5-bf9ee92ee011   Running   5h26m   v1.24.9-eks-1-24-7
eksa-system   mgmt-md-0-66b858b477-8h88c   mgmt      10.4.19.38    vsphere://4230edbf-db9b-3ae9-a2e6-8421e06863fb   Running   5h26m   v1.24.9-eks-1-24-7
eksa-system   mgmt-s7fb7                   mgmt      10.4.67.152   vsphere://42301d6f-feb1-d967-9750-148d0823c7b5   Running   5h26m   v1.24.9-eks-1-24-7

マシンのステータスを確認し、コンポーネントログを確認できることを確認したら、SSH を使用して各マシンにログインします。次の例では、[user] は各プロバイダーの MachineConfig で指定されている SSH ログインユーザーです。

$ ssh -i private_key_file user@Machine_IP_address

マシンのオペレーティングシステム (OS) に応じて、関連する手順に従ってコンポーネントログを確認します。

注:[コントロールプレーン] セクションは、クラスター名のプレフィックス (「cluster_name-」) が付いた名前のマシンを指します。[etcd] セクションは、クラスター名と etcd プレフィックス (「cluster_name-etcd-」) が付いた名前のマシンを指します。[データプレーン] セクションとは、クラスター名とワーカーノード名のプレフィックス (「cluster_name-worker_node_name-」) が付いた名前のマシンを指します。ClusterConfig の設定によっては、etcd には専用のマシンがなく、代わりにコントロールプレーンで起動する場合があります。

BottleRocket OS 搭載マシン

SSH でログインすると、管理コンテナにもログインします。デバッグの目的で、ログを確認する前に次のコマンドで root 権限を取得してください。

$ sudo sheltie

コントロールプレーン

kubelet ログについては、以下のコマンドを実行します。

# journalctl -u kubelet.service --no-pager

コンテナーログについては、以下のコマンドを実行します。

# journalctl -u containerd.service --no-pager

マシン初期化ログについては、以下のコマンドを実行します。

# journalctl _COMM=host-ctr --no-pager

各コンテナログについて、[/var/log/containers] ディレクトリのログを確認してください。

Kubernetes [kube-apiserver]、[kube-controller-manager]、[kube-scheduler]、[kube-vip manifests] については、[/etc/kubernetes/manifest] ディレクトリのファイルを確認してください。.

[etcd]

コンテナーログについては、以下のコマンドを実行します。

# journalctl -u containerd.service --no-pager

マシン初期化ログについては、以下のコマンドを実行します。

# journalctl _COMM=host-ctr --no-pager

etcd のログについては、[/var/log/containers] ディレクトリを参照してください。

データプレーン

kubelet ログについては、以下のコマンドを実行します。

# journalctl -u kubelet.service --no-pager

コンテナーログについては、以下のコマンドを実行します。

# journalctl -u containerd.service --no-pager

マシン初期化ログについては、以下のコマンドを実行します。

# journalctl _COMM=host-ctr

各コンテナログについて、[/var/log/containers] ディレクトリのログを確認してください。

**注:**プロバイダーとして AWS Snow を使用する場合は、各ノードで以下のコマンドの結果も確認してください。

# journalctl -u bootstrap-containers@bottlerocket-bootstrap-snow.service
# systemctl status bootstrap-containers@bottlerocket-bootstrap-snow

Ubuntu または Red Hat Enterprise Linux OS を搭載したマシン

デバッグの目的で、ログを確認する前に次のコマンドで root 権限を取得してください。

$ sudo su -

コントロールプレーン

kubelet ログについては、以下のコマンドを実行します。

# journalctl -u kubelet.service --no-pager

コンテナーログについては、以下のコマンドを実行します。

# journalctl -u containerd.service --no-pager

マシン初期化ログについては、以下のコマンドを実行します。

# cat /var/log/cloud-init-output.log

各コンテナログについて、[/var/log/containers] ディレクトリのログを確認してください。

マシンの起動時に開始されるユーザーデータについては、以下のコマンドを実行します。

# cat /var/lib/cloud/instance/user-data.txt

Kubernetes [kube-apiserver]、[kube-controller-manager]、[kube-scheduler]、[kube-vip manifests] については、[/etc/kubernetes/manifest] ディレクトリのファイルを確認してください。.

[etcd]

etcd ログについては、以下のコマンドを実行します。

# journalctl -u etcd.service --no-pager

マシン初期化ログについては、以下のコマンドを実行します。

# cat /var/log/cloud-init-output.log

マシンの起動時に開始されるユーザーデータについては、以下のコマンドを実行します。

# cat /var/lib/cloud/instance/user-data.txt

データプレーン

kubelet ログについては、以下のコマンドを実行します。

# journalctl -u kubelet.service --no-pager

コンテナーログについては、以下のコマンドを実行します。

# journalctl -u containerd.service --no-pager

マシン初期化ログについては、以下のコマンドを実行します。

# cat /var/log/cloud-init-output.log

マシンの起動時に開始されるユーザーデータについては、以下のコマンドを実行します。

cat /var/lib/cloud/instance/user-data.txt

各コンテナログについて、[/var/log/containers] ディレクトリのログを確認してください。

AWS公式
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ