Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
如何為 EC2 Linux 執行個體指派靜態主機名稱?
我變更了我的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體的主機名稱。但是,當我重新啟動或先停止然後重新啟動執行個體時,主機名稱會變更回原始主機名稱。
解決方案
**重要:**在更新執行個體之前,請為您的執行個體建立一個由 Amazon Elastic Block Store (Amazon EBS) 支援的 Amazon Machine Image (AMI)。
檢查現有執行個體主機名稱
請完成下列步驟:
-
若要切換到根使用者,請執行以下命令:
sudo su - -
若要檢查執行個體主機名稱,請執行下列命令:
hostnamectl
設定靜態主機名稱
為您執行的作業系統 (OS) 設定靜態主機名稱。
AL2 或 Al2023
若是 Amazon Linux 2 (AL2) 或 Amazon Linux 2023 (AL2023),請完成下列步驟:
-
若要開啟 /etc/cloud/cloud.cfg,請執行以下命令:
vim /etc/cloud/cloud.cfg -
查看 preserve_hostname 屬性。如果其值為 false,則將該值更新為 true。
範例:preserve_hostname: true**注意:**如果檔案沒有 preserve_hostname 屬性,則將該屬性新增至檔案,並將其值設為 true。
-
若要設定靜態主機名稱,請執行下列命令:
hostnamectl set-hostname persistent-hostname**注意:**將 persistent-hostname 替換為您的主機名稱。
Ubuntu
若是 Ubuntu,請完成以下步驟:
-
若要設定靜態主機名稱,請完成下列步驟:
hostnamectl set-hostname --static persistent-hostname**注意:**將 persistent-hostname 替換為您的主機名稱。
-
若要開啟 /etc/hosts,請執行下列命令:
vim /etc/hosts -
在檔案中輸入以下行:
localhost persistent-hostname**注意:**將 persistent-hostname 替換為您的主機名稱。
-
如果您的 EC2 執行個體使用 IPv6,則也請輸入下列組態資料:
::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts -
若要開啟 /etc/cloud/cloud.cfg,請執行以下命令:
vim /etc/cloud/cloud.cfg -
查看 preserve_hostname 屬性。如果其值為 false,則將該值更新為 true。
範例:preserve_hostname: true
RHEL 或 CentOS 7、8 和 9
若是 Red Hat Enterprise Linux (RHEL) 或 CentOS 7、8 和 9,請完成以下步驟:
-
若要設定靜態主機名稱,請執行下列命令:
hostnamectl set-hostname --static persistent-hostname**注意:**將 persistent-hostname 替換為您的主機名稱。
-
若是 RHEL 7.3 或更早版本,請執行以下命令開啟 /etc/cloud/cloud.cfg:
vi /etc/cloud/cloud.cfg -
查看 preserve_hostname 屬性。如果該值為 false,則將值更新為 true。
範例:preserve_hostname: true
SUSE Linux
若是 SUSE Linux Enterprise Server (SLES),完成下列步驟:
-
若要設定主機名稱,請根據您的 SLES 版本執行下列命令。
SLES 11:hostname persistent-hostnameSLES 12 和 15:
hostnamectl set-hostname persistent-hostname**注意:**將 persistent-hostname 替換為您的主機名稱。
-
執行以下命令,使用您的主機名稱更新 /etc/HOSTNAME 檔案:
echo "persistent-hostname" > /etc/HOSTNAME**注意:**將 HOSTNAME 替換為您的主機名稱。
-
若要開啟 /etc/hosts,請執行下列命令:
vim /etc/hosts -
根據您的 SLES 版本在檔案中輸入以下行,並將其替換為您的主機名稱。
SLES 11:127.0.0.1 localhost persistent-hostnameSLES 12 和 15:
127.0.0.1 localhost persistent-hostname**注意:**將 persistent-hostname 替換為您的主機名稱。
-
若要開啟 /etc/cloud/cloud.cfg 檔案,請執行以下命令:
vim /etc/cloud/cloud.cfg -
在檔案中輸入以下行:
preserve_hostname: true
實施變更
請完成下列步驟:
-
若要重新啟動執行個體,請執行下列命令:
reboot -
若要驗證新主機名稱,請執行下列命令:
hostnamectl
對您的問題進行疑難排解
如果您在重新啟動後遇到非預期的主機名稱變更,請執行下列動作:
- 檢查 /var/log/cloud-init.log 和 /var/log/syslog 中的系統日誌,找出有關主機名稱變更的項目。
- 如果您安裝的系統更新影響了 /etc/hosts、主機名稱檔案或主機名稱公用程式,請再次完成上述解決步驟。
- 確認 /etc/cloud/cloud.cfg 檔案中的 preserve_hostname 設定是否為 true。
相關資訊
相關內容
- 已提問 1 年前
- 已提問 1 年前
- 已提問 2 年前
- 已提問 3 年前
