4.8. 创建并配置基本 GCP 实例
要创建并配置符合 GCP 操作和安全要求的 GCP 实例,请完成以下步骤。
步骤
从存储桶中压缩的文件创建镜像。
$ gcloud compute images create BaseImageName --source-uri gs://BucketName/BaseImageName.tar.gz
例如:
[admin@localhost ~] $ gcloud compute images create rhel-76-server --source-uri gs://user-rhelha/rhel-server-76.tar.gz Created [https://www.googleapis.com/compute/v1/projects/MyProject/global/images/rhel-server-76]. NAME PROJECT FAMILY DEPRECATED STATUS rhel-76-server rhel-ha-testing-on-gcp READY
从镜像创建模板实例。基本 RHEL 实例所需的最小值为 n1-standard-2。如需了解更多配置选项,请参阅 gcloud 计算实例创建。
$ gcloud compute instances create BaseInstanceName --can-ip-forward --machine-type n1-standard-2 --image BaseImageName --service-account ServiceAccountEmail
例如:
[admin@localhost ~] $ gcloud compute instances create rhel-76-server-base-instance --can-ip-forward --machine-type n1-standard-2 --image rhel-76-server --service-account account@project-name-on-gcp.iam.gserviceaccount.com Created [https://www.googleapis.com/compute/v1/projects/rhel-ha-testing-on-gcp/zones/us-east1-b/instances/rhel-76-server-base-instance]. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS rhel-76-server-base-instance us-east1-bn1-standard-2 10.10.10.3 192.227.54.211 RUNNING
通过 SSH 终端会话连接到实例。
$ ssh root@PublicIPaddress
更新 RHEL 软件。
- 使用红帽订阅管理器(RHSM)注册。
-
启用订阅池 ID(或使用
--auto-attach
命令)。 禁用所有软件仓库。
# subscription-manager repos --disable=*
启用以下软件仓库。
# subscription-manager repos --enable=rhel-9-server-rpms
运行
dnf update
命令。# dnf update -y
在运行的实例(原位安装)中安装 GCP Linux 客户机环境。
具体步骤请参阅原位安装客户机环境。
- 选择 CentOS/RHEL 选项。
- 复制命令脚本,并将它粘贴到命令提示符处,来立即运行脚本。
对实例进行以下配置更改。这些更改基于自定义镜像的 GCP 建议。如需更多信息,请参阅 gcloudcompute 镜像列表。
-
编辑
/etc/chrony.conf
文件,并删除所有 NTP 服务器。 添加以下 NTP 服务器。
metadata.google.internal iburst Google NTP server
删除任何持久的网络设备规则。
# rm -f /etc/udev/rules.d/70-persistent-net.rules # rm -f /etc/udev/rules.d/75-persistent-net-generator.rules
将网络服务设置为自动启动。
# chkconfig network on
将
sshd 服务
设置为自动启动。# systemctl enable sshd # systemctl is-enabled sshd
将时区设为 UTC。
# ln -sf /usr/share/zoneinfo/UTC /etc/localtime
(可选)编辑
/etc/ssh/ssh_config
文件,并将以下行添加到文件的末尾:这将在较长的不活跃时间段内使您的 SSH 会话保持活跃。# Server times out connections after several minutes of inactivity. # Keep alive ssh connections by sending a packet every 7 minutes. ServerAliveInterval 420
编辑
/etc/ssh/sshd_config
文件,并根据需要进行以下更改:ClientAliveInterval 420 设置是可选的;这会使 SSH 会话在长时间处于非活动状态期间保持活跃状态。PermitRootLogin no PasswordAuthentication no AllowTcpForwarding yes X11Forwarding no PermitTunnel no # Compute times out connections after 10 minutes of inactivity. # Keep ssh connections alive by sending a packet every 7 minutes. ClientAliveInterval 420
-
编辑
禁用密码访问。
ssh_pwauth from 1 to 0. ssh_pwauth: 0
重要在以前的版本中,您可以启用密码访问来允许 SSH 会话访问来配置实例。您必须禁用密码访问。所有 SSH 会话访问都必须是无密码的。
从订阅管理器取消实例注册。
# subscription-manager unregister
清除 shell 历史记录。为下一个流程保留实例运行。
# export HISTSIZE=0