本文說明如何在 Google Distributed Cloud (GDC) 氣隙虛擬機器 (VM) 上設定 NTP 伺服器。
依賴事件順序的系統需要一致的時鐘,才能準確記錄及偵錯。為確保時間標準化及連線系統同步處理,GDC VM 會使用網路時間通訊協定 (NTP) 確保時間準確度。如果沒有 NTP 設定,VM 的時鐘就難免會發生時間差,導致時間戳記不一致,進而中斷事件排序並妨礙疑難排解。
建立 VM 時,您可以選擇兩種映像檔來源,兩者都包含預先設定的 NTP 詳細資料:
- GDC 提供的圖片
- 自備 (BYO) 映像檔
如果您匯入的值為 prepareImage: false 的映像檔,或從 VM 刪除 NTP 網址,則必須使用 chrony 手動設定 NTP。這個工具會主動將系統時鐘與外部伺服器同步。如要進一步瞭解 chrony,請參閱 https://chrony-project.org/。
本文適用於平台管理員或應用程式運算子群組的開發人員,他們會使用 GDC 提供的映像檔和自備 (BYO) 映像檔建立 VM。詳情請參閱 GDC 氣隙環境適用的目標對象說明文件。
事前準備
設定 NTP 伺服器之前,請先驗證或安裝 gdcloud CLI。所有 Distributed Cloud 指令都使用 gdcloud 或 kubectl CLI,且需要作業系統 (OS) 環境。
檢查 CLI:執行
gdcloud version如果尚未安裝 CLI,請下載並安裝 gdcloud CLI
必要的 IAM 角色
如要取得設定 NTP 和管理 VM 設定所需的權限,請要求專案 IAM 管理員在 VM 所在的專案命名空間中授予您下列 IAM 角色:
專案 VirtualMachine 管理員 (
project-vm-admin):更新 VM 設定、修改執行個體中繼資料以進行 NTP 同步,以及重新啟動執行個體,在專案層級套用系統層級的變更專案檢視者 (
project-viewer):擁有唯讀存取權,可檢查 VM 執行階段狀態、列出專案資源,以及稽核設定,但無法修改專案資料。
按照步驟驗證存取權。
為 VM 設定 NTP
請按照步驟,使用 chrony 為特定作業系統設定 NTP 伺服器詳細資料。
使用
ssh連線至 VM:控制台
前往 GDC 控制台的「VM instances」(VM 執行個體) 頁面。
在要設定的執行個體上,按一下「SSH」SSH按鈕。
gdcloud
使用 gdcloud CLI 透過 SSH 連線至 VM 執行個體:
gcloud compute instances ssh INSTANCE_NAME將您的 VM 執行個體名稱替換為
INSTANCE_NAME。使用
edit指令前往chrony設定檔:Ubuntu
sudo edit /etc/chrony/chrony.confRHEL
sudo edit /etc/chrony.conf在
chrony.conf檔案中新增下列 NTP 網址:server ntp1.org.internal iburst server ntp2.org.internal iburst server ntp3.org.internal iburst server ntp4.org.internal iburst server ntp5.org.internal iburst server ntp6.org.internal iburst重新啟動
chrony服務:Ubuntu
sudo systemctl restart chronyRHEL
sudo systemctl restart chronyd使用
chronyCLI 驗證設定:chronyc sources -v輸出看起來類似以下內容:
210 Number of sources = 1 MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* metadata.google.internal 2 7 377 98 -1343ns[-1588ns] +/- 396us