第 2 步:安装 cert-manager 和 ASM

此步骤介绍如何下载和安装 cert-managerAnthos Service Mesh (ASM)。Apigee Hybrid 需要这些服务才能运行。

安装 cert-manager

使用以下两个命令之一从 GitHub 安装 cert-manager v0.14.2。要查找您的 kubectl 版本,请使用 kubectl version 命令。

  • 如果您使用的是 Kubernetes 1.15 或更高版本:
    kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.14.2/cert-manager.yaml
  • 低于 1.15 的 Kubernetes 版本:
    kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.14.2/cert-manager-legacy.yaml

您将看到一个响应,表明已创建了 cert-manager 命名空间,并且在该命名空间中创建了多个 cert-manager 资源。

前提条件

  1. 使用以下命令检查您的 Cloud SDK 配置设置:
    gcloud config list
    [compute]
    region = us-central1
    [core]
    account = user@acme.com
    disable_usage_reporting = False
    project = my-hybrid-project
    
    Your active configuration is: [default]
  2. 确保将计算地区或区域设置为您在创建集群时使用的地区或区域。如果您创建了区域级集群,请使用 unset 清除计算/地区属性(如果已设置)。如果您创建了地区级集群,请使用 unset 清除计算/区域属性(如果已设置该属性)。配置必须设置计算地区或区域,但不能同时设置两者。例如,如需使用 unset 清除 compute/zone property,请使用以下命令:
    gcloud config unset compute/zone
  3. 使用以下命令,使用 KDUBECONFIG 文件路径设置变量。此文件是您创建集群时在管理机上创建的:
    export KUBECONFIG=KUBECONFIG_PATH

    例如:

    export KUBECONFIG=~/.kube/my-config

设置和下载 ASM

接下来,使用 ASM 文档设置环境并下载 ASM。

开始之前,请仔细阅读以下步骤。我们会要求您执行 ASM 文档中列出的某些步骤,然后返回此处完成安装。

  1. 转到 ASM 安装说明部分,为您的 Hybrid 设置安装相应的 ASM 版本:

应用清单

下载并解压缩 ASM 安装文件后,请继续执行以下步骤:

  1. 确保您位于下载并解压缩的 Istio 目录中。例如:1.6.11-asm.1
  2. 根据您安装的 Istio 版本执行以下命令:
    • 如果您安装了 ASM 1.6 版或更新版本(建议使用 1.6.11 版或更新版本),请执行以下命令,其中 your_static_ip 是您之前在预留静态 IP 中预留的静态 IP 地址:
      ./bin/istioctl install --set profile=asm-multicloud \
       --set values.gateways.istio-ingressgateway.loadBalancerIP=your_static_IP \
       --set meshConfig.enableAutoMtls=false \
       --set meshConfig.accessLogFile=/dev/stdout \
       --set meshConfig.accessLogEncoding=1 \
       --set meshConfig.accessLogFormat='{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
    • 如果您安装了 ASM 1.5.x,请执行以下命令,其中 your_static_ip 是您之前在预留静态 IP 中预留的静态 IP 地址:
      ./bin/istioctl manifest apply --set profile=asm-onprem \
       --set values.gateways.istio-ingressgateway.loadBalancerIP=your_static_IP \
       --set meshConfig.enableAutoMtls=false \
       --set meshConfig.accessLogFile=/dev/stdout \
       --set meshConfig.accessLogEncoding=1 \
       --set meshConfig.accessLogFormat='{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
  3. 最后,返回到 ASM 文档来检查控制平面组件以验证安装。

自定义 ASM 安装

您刚刚执行的 ASM 安装是最简安装,足够测试和使用 Apigee Hybrid 基本用例。如需了解如何处理更高级的用例(例如添加、移除或修改负载均衡器端口号),请参阅启用可选功能

摘要

现在,您已经安装了 cert-manager 和 ASM,可以在本地机器上安装 Apigee Hybrid 命令行工具了。

1 2 (下一步)第 3 步:安装 apigeectl 4 5