表示するオプションはありますか、そのmetadata.google.internal
はNTPとして使用されます。ポッドまたはkubernetes VMに接続すると、次のことを試しました:ntpq -p
。コマンドは見つかりませんでしたが、 https://cloud.google.com/compute/docs/instances/managing-instances にリストされていました。このファイルは存在しません:vim /etc/ntp.conf
。証明として、どのサーバーが使用されているかを示す必要があります。
GKEクラスタを作成するときに、Kubernetesインストールのベースとなるオペレーティングシステムを指定するオプションがあります。次のオプションから選択できます。
Google Cloud Platformのパスをたどることで選択できます。
Kubernetes Engine->Kubernetesクラスターを作成する->ノードプール- >default-pool->Nodes->Imageタイプ。
選択した内容は、ノードの内部で使用できるツールに影響します。
Container-Optimized OSについて一言:
Container-Optimized OSは、Dockerコンテナーの実行用に最適化された Compute Engine VMのオペレーティングシステムイメージです。 Container-Optimized OSを使用すると、DockerコンテナをGoogle Cloud Platformですばやく、効率的かつ安全に起動できます。 Container-Optimized OSはGoogleによって維持されており、オープンソース Chromium OS プロジェクトに基づいています。
Container-Optimized OSの機能、利点、制限について説明している公式ドキュメントをご覧ください: Cloud.google.com:Container-optimized OS features、benefits and limits
Container-Optimized OSにはパッケージマネージャーは含まれていません。そのため、インスタンスに直接ソフトウェアパッケージをインストールすることはできません。ただし、 CoreOS toolbox を使用して、分離されたコンテナーにデバッグツールと管理ツールをインストールして実行できます。
上記のドキュメントで述べたように、利用可能なパッケージマネージャーはありませんが、CoreOSツールボックスを使用して必要なソフトウェアをデバッグおよびインストールできます。
次のように、systemdを使用してContainer-Optimized OSノードで使用されているサーバーを確認できます。
_$ systemctl status systemd-timesyncd
_
次のような出力が表示されます。
_● systemd-timesyncd.service - Network Time Synchronization
Loaded: loaded (/usr/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2020-03-03 21:17:35 UTC; 6 days ago
Docs: man:systemd-timesyncd.service(8)
Main PID: 219 (systemd-timesyn)
Status: "Synchronized to time server 169.254.169.254:123 (169.254.169.254)."
Tasks: 2 (limit: 4915)
Memory: 832.0K
CPU: 591ms
CGroup: /system.slice/systemd-timesyncd.service
└─219 /usr/lib/systemd/systemd-timesyncd
_
具体的に見てください
_ Status: "Synchronized to time server 169.254.169.254:123 (169.254.169.254)."
_
上記のメッセージは、ノードが時刻を同期するために使用しているサーバーを示しています。
_169.254.169.254
_のIPアドレスに関する詳細情報は、次のようにして取得できます。 Serverfault.com:このIPアドレスは169.254.169.254
ノードの上記のCoreOS Toolboxとnslookup
で_169.254.169.254
_のDNS名を確認できます。
$ /usr/bin/toolbox
_$ apt-get install -y dnsutils
_$ nslookup 169.254.169.254
_それはあなたに出力を与えるはずです:
_Server: 169.254.169.254
Address: 169.254.169.254#53
Non-authoritative answer:
254.169.254.169.in-addr.arpa name = metadata.google.internal.
Authoritative answers can be found from:
_
上記の出力は、_169.254.169.254
_のアドレスが上記の_metadata.google.internal
_であることを示しています
Ubuntuイメージで作成されたGKEクラスターでは、NTP情報を確認します。
ntptrace
nslookup
次のように、Container-Optimized OSと同じように、UbuntuノードでどのNTPサーバーが使用されているか)を確認できます。
_$ systemctl status systemd-timesyncd
_
DHCPリースには、NTP=サーバーに関する情報が含まれています。DHCPリースに関する情報は、次のように取得できます。
_USER@NODE:~$ cat /var/lib/dhcp/dhclient.leases
_
上記のコマンドの出力は次のようになります。
_lease {
interface "eth0";
fixed-address 10.156.0.X;
option subnet-mask 255.255.255.255;
option routers 10.156.0.1;
option dhcp-lease-time 86400;
option dhcp-message-type 5;
option domain-name-servers 169.254.169.254;
option dhcp-server-identifier 169.254.169.254;
option interface-mtu 1460;
option domain-search "X.internal.", "Y.internal";
option ntp-servers 169.254.169.254;
option rfc3442-classless-static-routes 32,10,156,0,1,0,0,0,0,0,10,156,0,1;
option Host-name "X.internal";
option domain-name "X.internal";
renew 2 2020/03/10 09:12:37;
rebind 2 2020/03/10 18:40:09;
expire 2 2020/03/10 21:40:09;
}
_
具体的に見てください:
_ option ntp-servers 169.254.169.254;
_
この行は、NTP使用されているサーバーを示しています。
Ntptrace
は_169.254.169.254
_を次のように表示する必要があります:
_localhost: stratum 3, offset 0.000058, synch distance 0.026242
169.254.169.254: timed out, nothing received
***Request timed out
_
_ntp-server
_と一致する場合、CoreOS Toolboxと同じ方法で_metadata.google.internal
_をnslookup
でチェックできます。
このトピックについて質問がある場合は、お知らせください。