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 传递并配置注释:
您可以使用以下样本 ingress-config.yml 文件来配置入口控制器:controller:
config:
ssl-protocols: TLSv1.2
extraArgs:
annotations-prefix: ingress.kubernetes.io
enable-ssl-passthrough: true
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.map 中 proxy-read-timeout 和 proxy-send-timeout 值至少增加到以下值:
- proxy-read-timeout: "240"
- proxy-send-timeout: "240"
系统和软件需求
“软件产品兼容性”报告中描述了系统和软件需求。请参阅特定产品的详细系统需求