BottleRocket、Ubuntu、または Redhat のプライマリノードとワーカーノードの EKS Anywhere クラスターコンポーネントのログを確認する方法を教えてください。
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] ディレクトリのログを確認してください。
関連するコンテンツ
- 承認された回答質問済み 10ヶ月前lg...
- 質問済み 6ヶ月前lg...
- 承認された回答質問済み 1ヶ月前lg...
- AWS公式更新しました 1年前
- AWS公式更新しました 1年前