web-dev-qa-db-ja.com

リストNTP gcloud kubernetesの情報

表示するオプションはありますか、そのmetadata.google.internalはNTPとして使用されます。ポッドまたはkubernetes VMに接続すると、次のことを試しました:ntpq -p。コマンドは見つかりませんでしたが、 https://cloud.google.com/compute/docs/instances/managing-instances にリストされていました。このファイルは存在しません:vim /etc/ntp.conf。証明として、どのサーバーが使用されているかを示す必要があります。

2
mc_plectrum

GKEクラスタを作成するときに、Kubernetesインストールのベースとなるオペレーティングシステムを指定するオプションがあります。次のオプションから選択できます。

  • Container-Optimized OS(cos)
  • Containerdを使用したContainer-Optimized OS(cos)
  • Ubuntu
  • Containerdを使用したUbuntu

Google Cloud Platformのパスをたどることで選択できます。

Kubernetes Engine->Kubernetesクラスターを作成する->ノードプール- >default-pool->Nodes->Imageタイプ

選択した内容は、ノードの内部で使用できるツールに影響します。


コンテナ最適化OS

Container-Optimized OSについて一言:

Container-Optimized OSは、Dockerコンテナーの実行用に最適化された Compute Engine VMのオペレーティングシステムイメージです。 Container-Optimized OSを使用すると、DockerコンテナをGoogle Cloud Platformですばやく、効率的かつ安全に起動できます。 Container-Optimized OSはGoogleによって維持されており、オープンソース Chromium OS プロジェクトに基づいています。

-Cloud.google.com:Container-optimized 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

Ubuntuイメージで作成されたGKEクラスターでは、NTP情報を確認します。

  • systemd
  • dHCPリース
  • ntptrace
  • nslookup

Systemd

次のように、Container-Optimized OSと同じように、UbuntuノードでどのNTPサーバーが使用されているか)を確認できます。

_$ systemctl status systemd-timesyncd_

DHCPリース

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

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
_

Nslookup

_ntp-server_と一致する場合、CoreOS Toolboxと同じ方法で_metadata.google.internal_をnslookupでチェックできます。

このトピックについて質問がある場合は、お知らせください。

2
Dawid Kruk