A kubernetes ingress controller based on apinto-gateway.
1.0K
Apinto-Ingress-Controller是Kubernetes集群中Apinto网关的Ingress控制器,使得Apinto能够作为Ingress资源在集群中运作。 该控制器的所有配置均参考Apinto网关的配置格式,并以Kubernetes CRDs(自定义资源)实现。支持配置诸如router、service、auth等Apinto已实现的模块,同时也支持配置插件。
备注:该镜像仅适用于k8s容器部署。
容器有两个需要挂载的目录:
/etc/ingress:
#目录结构如下
config.yaml #controller的配置文件
默认的config.yaml如下:
# config
config-path: "/etc/ingress" # configuration file path for apinto-ingress-controller
cert_file: "/etc/webhook/certs/server.crt"
key_file: "/etc/webhook/certs/server.key"
# log option
log:
log_level: "info" # error log level
log_output: "stdout" # error log output file
# 日志分割周期
log_period: day # error log file split period,day or hour or month
# 日志过期时间
log_expire: 1 # error log file after several days
# listen
http_listen: ":8080" # the HTTP Server listen address, default is ":8080"
https_listen: ":8443" # the HTTPS Server listen address, default is ":8443"
# profiling
enable_profiling: true # enable profiling via web interfaces
# host:port/debug/pprof, default is true.
# 竞选负责人使用的选举id
election_id: "ingress-apinto-leader"
# APINTO related configurations.
apinto:
# 调用管理接口的集群路径,此时填写到service的访问地址即可
default_cluster_base_url: "http://apinto-svc.default.svc:31094/api" # the base URL of admin api / manager api for the default APINTO cluster
# 调用管理接口时的默认管理密钥
default_cluster_admin_key: "" # admin key used for the authorization of admin api / manager api for the default APINTO cluster
# 默认是default
default_cluster_name: "default" # name of the default APINTO cluster.
证书配置目录默认为/etc/webhook/certs,具体挂载地址以config.yaml文件内的cert_file与key_file 的路径为准。
#该目录下存放证书文件
server.crt server.key
该默认证书配置的CN为:CN=apinto-admission-server.default.svc
注意:以上两个挂载目录,若不挂载则会使用默认的config.yaml以及默认的证书文件,证书文件是以openssl生成的自签证书,对应的ca证书(已用base64加密)为:
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURQekNDQWllZ0F3SUJBZ0lVVzJSNUhONWtMYjlDamdCaVB6c3ZUY3hQUG1vd0RRWUpLb1pJaHZjTkFRRUwKQlFBd0xqRXNNQ29HQTFVRUF3d2pZWEJwYm5SdkxXRmtiV2x6YzJsdmJpMXpaWEoyWlhJdVpHVm1ZWFZzZEM1egpkbU13SUJjTk1qSXdNekl5TURNek1EUTBXaGdQTXpBeU1UQTNNak13TXpNd05EUmFNQzR4TERBcUJnTlZCQU1NCkkyRndhVzUwYnkxaFpHMXBjM05wYjI0dGMyVnlkbVZ5TG1SbFptRjFiSFF1YzNaak1JSUJJakFOQmdrcWhraUcKOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXpWODNlRDdlMWlwZGMwSFlDaDIvamVjV0YyNENUbG9ydmFkVQp6R1hrRzA1QVU2T2NIOE1UNUlYaithaFpqYnBTTmVaTUNXNFZOZkZDNk1pOUxCZDBKc3o3TFErUThqTDFNY2loCjhud1FyLzFsSHhXL3Arb3cvLzJGWllwVXg0bFZxR3pPTlZ6aSsrRDJnOXBhVmU2bEdVZ0tLU053K0R4aWxYL1MKdEZrT2FjL3dBeW9WUDlTQlZDM3J4emtWRUdVRnFtREJJTkZkSWVjTEQwUlFzLzVYZkJzMEhiSExoTllrLzcvRQoxd3hUelUyT1hNMzJqUDVCcFpPK3dkajJGMjBVTTR3ZHp0TTVpdGFyRFQzOHhRUUpzem5QNHJyYmdqVlVkcHFOCkpTa21yeWsrREtpeGpYR2V1S0NvMGE3WEJXZW5laHhNZVh6MUZjMzZiYVNzUm9qekNRSURBUUFCbzFNd1VUQWQKQmdOVkhRNEVGZ1FVWks0QkFhdUw3a3lISlpOejBYeWdJN3BNdEx3d0h3WURWUjBqQkJnd0ZvQVVaSzRCQWF1TAo3a3lISlpOejBYeWdJN3BNdEx3d0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBTkJna3Foa2lHOXcwQkFRc0ZBQU9DCkFRRUFudDhxWW1waVpiWVhJMmp4NnpocnpBS2FCUVQrTjYycjBoZnFGNmUydGo5WVZaRUlvN0xCSmJRZmZia08KVGQ1bGFqc0piUzFLZFVTTndvTkxJZ2FqNmNMSkRTZFFWdTJSNUp2d2l4VXlxdnBDQU0vWWlSakVhdGVubzJ5cApFNElXUHVIdllpbnEydDI5K1ExZmR0Vkh2NEttazBGemlDSW4veVVqTjJma3JDdTFzTWt4V1hBbWhVKzlEWmF4CmF2ODVLay9aRWZEMlNlbkRUTjlaSS9oQWFxMUNCVHoyTGRwY1AvY2U4QXVGbm5RelNibHpTTjZFMHpZaWxSM3cKbTlvM2Uwb0RBTmdERldKbEg1SmMwVlpoQlVQcU9qemJ6dmIxckkrVUFLd21LNVZUY2lYZmV6N0NIMWtnbXk1SgpWelJkQkQ3Mitmb3ZqNHFGcG1LRUc2Z0JFQT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
上面的CA_Bundle可用于k8s的validatingwebhook配置。
docker run -td -p 8080:8080 -p 8443:8443 \
-v /{host}/ingress/config.yaml:/etc/ingress/config.yaml \
-v /{host}/ingress/certs:/etc/webhook/certs \
--name=apinto_ingress_controller eolinker/apinto-ingress-controller:latest
备注:证书挂载目录以具体的配置为准。
Content type
Image
Digest
Size
19 MB
Last updated
over 4 years ago
docker pull eolinker/apinto-ingress-controller