4.8. 创建并配置基本 GCP 实例


要创建并配置符合 GCP 操作和安全要求的 GCP 实例,请完成以下步骤。

步骤

  1. 从存储桶中压缩的文件创建镜像。

    $ 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
  2. 从镜像创建模板实例。基本 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
  3. 通过 SSH 终端会话连接到实例。

    $ ssh root@PublicIPaddress
  4. 更新 RHEL 软件。

    1. 使用红帽订阅管理器(RHSM)注册。
    2. 启用订阅池 ID(或使用 --auto-attach 命令)。
    3. 禁用所有软件仓库。

      # subscription-manager repos --disable=*
    4. 启用以下软件仓库。

      # subscription-manager repos --enable=rhel-9-server-rpms
    5. 运行 dnf update 命令。

      # dnf update -y
  5. 在运行的实例(原位安装)中安装 GCP Linux 客户机环境。

    具体步骤请参阅原位安装客户机环境

  6. 选择 CentOS/RHEL 选项。
  7. 复制命令脚本,并将它粘贴到命令提示符处,来立即运行脚本。
  8. 对实例进行以下配置更改。这些更改基于自定义镜像的 GCP 建议。如需更多信息,请参阅 gcloudcompute 镜像列表

    1. 编辑 /etc/chrony.conf 文件,并删除所有 NTP 服务器。
    2. 添加以下 NTP 服务器。

      metadata.google.internal iburst Google NTP server
    3. 删除任何持久的网络设备规则。

      # rm -f /etc/udev/rules.d/70-persistent-net.rules
      
      # rm -f /etc/udev/rules.d/75-persistent-net-generator.rules
    4. 将网络服务设置为自动启动。

      # chkconfig network on
    5. sshd 服务 设置为自动启动。

      # systemctl enable sshd
      # systemctl is-enabled sshd
    6. 将时区设为 UTC。

      # ln -sf /usr/share/zoneinfo/UTC /etc/localtime
    7. (可选)编辑 /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
    8. 编辑 /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
  9. 禁用密码访问。

    ssh_pwauth from 1 to 0.
    ssh_pwauth: 0
    重要

    在以前的版本中,您可以启用密码访问来允许 SSH 会话访问来配置实例。您必须禁用密码访问。所有 SSH 会话访问都必须是无密码的。

  10. 从订阅管理器取消实例注册。

    # subscription-manager unregister
  11. 清除 shell 历史记录。为下一个流程保留实例运行。

    # export HISTSIZE=0
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.