Kubernetes 入口控制器先决条件

描述 Kubernetes 运行时环境的入口控制器的先决条件设置。

开始之前

注: 本文涉及了 IBM 无法控制的第三方软件。该软件可能会发生更改,因此,此信息可能已过时。

这些指示信息假定您具有正常运行的 Kubernetes 环境,并了解如何管理 Kubernetes。Kubernetes 是用于在主机集群中自动部署、扩展和操作应用程序容器的平台,提供以容器为中心的基础结构。有关更多信息,请参阅 https://kubernetes.io

Kubernetes/ingress-nginx 入口控制器 ingress-config.yml 设置

IBM® API Connect 的 Kubernetes 部署需要已启用 SSL 传递的 kubernetes/ingress-nginx 入口控制器实现(请参阅 https://github.com/kubernetes/ingress-nginx)。
要点: 在部署到 OpenShift 环境时,不使用入口控制器。使用 apicupsubsys set SUBSYS ingress-type route 命令将 ingress-type 参数设置为 route,以完成 OpenShift 上入口的配置。请参阅 OpenShift 的设置
使用以下命令安装入口控制器:
helm install stable/nginx-ingress --name ingress --values ingress-config.yml --namespace kube-system
以下值需要在入口控制器中进行配置,以启用 SSL 传递并配置注释:
controller:
  config:
    ssl-protocols: TLSv1.2
  extraArgs:
    annotations-prefix: ingress.kubernetes.io
    enable-ssl-passthrough: true
您可以使用以下样本 ingress-config.yml 文件来配置入口控制器:
controller:
  config:
    hsts-max-age: "31536000"
    keepalive: "32"
    log-format: '{ "@timestamp": "$time_iso8601", "@version": "1", "clientip": "$remote_addr",
      "tag": "ingress", "remote_user": "$remote_user", "bytes": $bytes_sent, "duration":
      $request_time, "status": $status, "request": "$request_uri", "urlpath": "$uri",
      "urlquery": "$args", "method": "$request_method", "referer": "$http_referer",
      "useragent": "$http_user_agent", "software": "nginx", "version": "$nginx_version",
      "host": "$host", "upstream": "$upstream_addr", "upstream-status": "$upstream_status"
      }'
    main-snippets: load_module "modules/ngx_stream_module.so"
    proxy-body-size: "0"
    proxy-buffering: "off"
    server-name-hash-bucket-size: "128"
    server-name-hash-max-size: "1024"
    server-tokens: "False"
    ssl-ciphers: HIGH:!aNULL:!MD5
    ssl-prefer-server-ciphers: "True"
    ssl-protocols: TLSv1.2
    use-http2: "true"
    worker-connections: "10240"
    worker-cpu-affinity: auto
    worker-processes: "1"
    worker-rlimit-nofile: "65536"
    worker-shutdown-timeout: 5m
  daemonset:
    useHostPort: false
  extraArgs:
    annotations-prefix: ingress.kubernetes.io
    enable-ssl-passthrough: true
  hostNetwork: true
  kind: DaemonSet
  name: controller
rbac:
  create: "true"

Kubernetes/ingress-nginx 入口控制器 config.map 设置

要确保 IBM API Connect 服务有时间启动,请将 kubernetes/ingress-nginx 入口控制器 config.mapproxy-read-timeoutproxy-send-timeout 值至少增加到以下值:
  • proxy-read-timeout: "240"
  • proxy-send-timeout: "240"
根据环境,如果 IBM API Connect 服务未启动,可能需要进一步增加这些值。 如果工作程序节点之前存在负载均衡器,那么负载均衡器配置也可能需要具有延长的超时。

系统和软件需求

“软件产品兼容性”报告中描述了系统和软件需求。请参阅特定产品的详细系统需求

时间戳记图标 上次更新时间:2019-06-21