You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by "jinjianming (via GitHub)" <gi...@apache.org> on 2023/03/08 11:19:14 UTC

[GitHub] [apisix] jinjianming opened a new issue, #9038: Bug: deploy the decoupled architecture. When the upstream IP changes, the dp data level does not execute sync_ Data(): update the new address, resulting in a request for 502 Bad Gateway

jinjianming opened a new issue, #9038:
URL: https://github.com/apache/apisix/issues/9038

   ### Current Behavior
   
   我观察了control-plane日志当上游地址发生变化会触发如下操作进行地址刷新.
   ```
   2023/03/08 11:09:13 [info] 52#52: *685 [lua] config_etcd.lua:477: sync_data(): update data by key: 16690fc3, context: ngx.timer
   2023/03/08 11:09:13 [info] 52#52: *685 [lua] upstream.lua:566: filter(): filter upstream: {"key":"\/apisix\/upstreams\/16690fc3","createdIndex":48,"clean_handlers":"table: 0x7f35b40c1470","modifiedIndex":1808,"value":{"create_time":1678243899,"update_time":1678273753,"parent":{"key":"\/apisix\/upstreams\/16690fc3","createdIndex":48,"clean_handlers":{},"modifiedIndex":1808,"value":"table: 0x7f35886b63c0","has_domain":false},"name":"default_js-design-nginx_80","labels":{"managed-by":"apisix-ingress-controller"},"type":"roundrobin","id":"16690fc3",`"nodes":[{"host":"10.233.64.42","priority":0,"port":80,"weight":100}],`"hash_on":"vars","desc":"Created by apisix-ingress-controller, DO NOT modify it manually","scheme":"http","pass_host":"pass"},"has_domain":false}, context: ngx.timer
   ```
   我观察data-plane并没有刷新地址的操作;
   ```
   2023/03/08 11:13:56 [info] 48#48: *451808 [lua] config_etcd.lua:389: sync_data(): waitdir key: /apisix/protos prev_index: 1664, context: ngx.timer
   2023/03/08 11:13:56 [info] 48#48: *451808 [lua] config_etcd.lua:390: sync_data(): res: null, err: timeout, context: ngx.timer
   2023/03/08 11:13:56 [info] 48#48: *451808 [lua] v3.lua:76: choose_endpoint(): choose endpoint: https://apisix-control-plane-control-plane:9280, context: ngx.timer
   2023/03/08 11:13:56 [info] 48#48: *451808 [lua] client.lua:123: dns_parse(): dns resolve apisix-control-plane-control-plane, result: {"name":"apisix-control-plane-control-plane.ingress-apisix.svc.cluster.local","type":1,"ttl":30,"address":"10.233.32.253","section":1,"class":1}, context: ngx.timer
   2023/03/08 11:13:56 [info] 48#48: *451808 [lua] resolver.lua:84: parse_domain(): parse addr: {"name":"apisix-control-plane-control-plane.ingress-apisix.svc.cluster.local","type":1,"ttl":30,"address":"10.233.32.253","section":1,"class":1}, context: ngx.timer
   ```
   
   ### Expected Behavior
   
   _No response_
   
   ### Error Logs
   
   _No response_
   
   ### Steps to Reproduce
   
   1、通过helm install部署
   2、cp配置
   ```
       deployment:
         role: control_plane
         role_control_plane:
           config_provider: etcd
           conf_server:
             listen: 0.0.0.0:9280
             cert: "/conf-server-ssl/tls.crt"
             cert_key: "/conf-server-ssl/tls.key"
   ```
   3、dp配置
   ```
       apisix:    # universal configurations
         ssl:
           ssl_trusted_certificate: "/conf-ca-ssl/tls.crt"
       deployment:
         role: data_plane
         role_data_plane:
           config_provider: control_plane
           control_plane:
             host:
               - "https://apisix-control-plane-control-plane:9280"
             prefix: "/apisix"
             timeout: 30
         certs:
           cert: "/conf-client-ssl/tls.crt"
           cert_key: "/conf-client-ssl/tls.key"
   ```
   
   ### Environment
   
   - APISIX version (run `apisix version`): 3.2.0
   - Operating system (run `uname -a`):Ubuntu 18.06
   - OpenResty / Nginx version (run `openresty -V` or `nginx -V`): 
   - etcd version, if relevant (run `curl http://127.0.0.1:9090/v1/server_info`): {"etcdserver":"3.5.4","etcdcluster":"3.5.0"}
   - APISIX Dashboard version, if relevant:
   - Plugin runner version, for issues related to plugin runners:
   - LuaRocks version, for installation issues (run `luarocks --version`):
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] jinjianming commented on issue #9038: Bug: deploy the decoupled architecture. When the upstream IP changes, the dp data level does not execute sync_ Data(): update the new address, resulting in a request for 502 Bad Gateway

Posted by "jinjianming (via GitHub)" <gi...@apache.org>.
jinjianming commented on issue #9038:
URL: https://github.com/apache/apisix/issues/9038#issuecomment-1462016122

   I also use the same problem in the form of docker-compose deployment;
   
   # control_plane config:
   ```
   root@node1:/home/apisix/docker/apisix-docker/example# cat apisix_cp_conf/config.yaml 
   apisix:
     node_listen: 9280
     enable_ipv6: false
   
     allow_admin:
       - 0.0.0.0/0
   
     control:
       ip: "0.0.0.0"
       port: 9092
   
   deployment:
     role: control_plane
     role_control_plane:
       config_provider: etcd
       conf_server:
         listen: 0.0.0.0:9280
         cert: /certs/cp/apisix-cp.pem
         cert_key: /certs/cp/apisix-cp-key.pem
   
     admin:
       allow_admin:
         - 0.0.0.0/0
   
     etcd:
       host:                           # it's possible to define multiple etcd hosts addresses of the same etcd cluster.
         - "http://etcd:2379"          # multiple etcd address
       prefix: "/apisix"               # apisix configurations prefix
       timeout: 30                     # 30 seconds
   ```
   # data_plane config:
   
   ```
   root@node1:/home/apisix/docker/apisix-docker/example# cat apisix_dp_conf/config.yaml 
   apisix:
     ssl:
       ssl_trusted_certificate: /certs/ca/rootCA.pem
     enable_debug: true
              
     node_listen: 9080
     enable_ipv6: false
   
     enable_control: true
     control:
       ip: "0.0.0.0"
       port: 9092
   
   deployment:
     role: data_plane
     role_data_plane:
       config_provider: control_plane
       control_plane:
         host:
           - "https://apisix-control-plane-control-plane:9280"
         prefix: "/apisix"
         timeout: 30
         #tls:
         #  verify: false
     certs:
       cert: /certs/dp/apisix-dp.pem
       cert_key: /certs/dp/apisix-dp-key.pem
       trusted_ca_cert: /certs/ca/rootCA.pem
   
     admin:
       allow_admin:
         - 0.0.0.0/0
   
   plugin_attr:
     prometheus:
       export_addr:
         ip: "0.0.0.0"
         port: 9091
   ```
   # docker compose file:
   ```
   
   version: "3"
   
   services:
     apisix-dashboard:
       image: apache/apisix-dashboard:3.0.0-alpine
       restart: always
       volumes:
       - ./dashboard_conf/conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml
       ports:
       - "9000:9000"
       networks:
         apisix:
   
     apisix:
       image: apache/apisix:${APISIX_IMAGE_TAG:-3.2.0-debian}
       restart: always
       volumes:
         - ./apisix_dp_log:/usr/local/apisix/logs
         - ./apisix_dp_conf/config.yaml:/usr/local/apisix/conf/config.yaml:ro
         - ./certs/dp:/certs/dp
         - ./certs/ca:/certs/ca
       depends_on:
         - apisix-control-plane-control-plane
       ##network_mode: host
       ports:
         - "9080:9080/tcp"
       networks:
         apisix:
   
     etcd:
       image: bitnami/etcd:3.4.15
       restart: always
       volumes:
         - etcd_data:/bitnami/etcd
       environment:
         ETCD_ENABLE_V2: "true"
         ALLOW_NONE_AUTHENTICATION: "yes"
         ETCD_ADVERTISE_CLIENT_URLS: "http://etcd:2379"
         ETCD_LISTEN_CLIENT_URLS: "http://0.0.0.0:2379"
       ports:
         - "12379:2379/tcp"
       networks:
         apisix:
   
     apisix-control-plane-control-plane:
       image: apache/apisix:${APISIX_IMAGE_TAG:-3.2.0-debian}
       restart: always
       volumes:
         - ./apisix_cp_log:/usr/local/apisix/logs
         - ./apisix_cp_conf/config.yaml:/usr/local/apisix/conf/config.yaml:ro
         - ./certs/cp:/certs/cp
         - ./certs/ca:/certs/ca
       depends_on:
         - etcd
       ##network_mode: host
       ports:
         - "9180:9180/tcp"
         - "9280:9280/tcp"
       networks:
         apisix:
   
     web1:
       image: nginx:1.19.0-alpine
       restart: always
       volumes:
         - ./upstream/web1.conf:/etc/nginx/nginx.conf
       ports:
         - "9081:80/tcp"
       environment:
         - NGINX_PORT=80
       networks:
         apisix:
   
     web2:
       image: nginx:1.19.0-alpine
       restart: always
       volumes:
         - ./upstream/web2.conf:/etc/nginx/nginx.conf
       ports:
         - "9082:80/tcp"
       environment:
         - NGINX_PORT=80
       networks:
         apisix:
   
     prometheus:
       image: prom/prometheus:v2.25.0
       restart: always
       volumes:
         - ./prometheus_conf/prometheus.yml:/etc/prometheus/prometheus.yml
       ports:
         - "9090:9090"
       networks:
         apisix:
   
     grafana:
       image: grafana/grafana:7.3.7
       restart: always
       ports:
         - "3000:3000"
       volumes:
         - "./grafana_conf/provisioning:/etc/grafana/provisioning"
         - "./grafana_conf/dashboards:/var/lib/grafana/dashboards"
         - "./grafana_conf/config/grafana.ini:/etc/grafana/grafana.ini"
       networks:
         apisix:
   
   networks:
     apisix:
       driver: bridge
   
   volumes:
     etcd_data:
       driver: local
   ```
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] jinjianming commented on issue #9038: Bug: deploy the decoupled architecture. When the upstream IP changes, the dp data level does not execute sync_ Data(): update the new address, resulting in a request for 502 Bad Gateway

Posted by "jinjianming (via GitHub)" <gi...@apache.org>.
jinjianming commented on issue #9038:
URL: https://github.com/apache/apisix/issues/9038#issuecomment-1461527167

   > 你的配置肯定有问题,DP 不可能不同步上游更改,尝试不同的安装,例如 docker ?
   
   I can get the correct address from CP by restarting DP; This should prove that the DP connection CP should be successful. What is the key configuration or log for synchronization upstream.
   ```
       deployment:
         role: control_plane
         role_control_plane:
           config_provider: etcd
           conf_server:
             listen: 0.0.0.0:9280
             cert: "/conf-server-ssl/tls.crt"
             cert_key: "/conf-server-ssl/tls.key"
   
   
       apisix:    # universal configurations
         ssl:
           ssl_trusted_certificate: "/conf-ca-ssl/tls.crt"
       deployment:
         role: data_plane
         role_data_plane:
           config_provider: control_plane
           control_plane:
             host:
               - "https://apisix-control-plane-control-plane:9280"
             prefix: "/apisix"
             timeout: 30
         certs:
           cert: "/conf-client-ssl/tls.crt"
           cert_key: "/conf-client-ssl/tls.key"
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] jinjianming commented on issue #9038: Bug: deploy the decoupled architecture. When the upstream IP changes, the dp data level does not execute sync_ Data(): update the new address, resulting in a request for 502 Bad Gateway

Posted by "jinjianming (via GitHub)" <gi...@apache.org>.
jinjianming commented on issue #9038:
URL: https://github.com/apache/apisix/issues/9038#issuecomment-1504895556

   > > [example.zip](https://github.com/apache/apisix/files/10931626/example.zip) The attachment is my complete deployment file.
   > 
   > 你这解决了么,我们也遇到了类似的问题。
   
   没有解决,我在https://github.com/apache/apisix/issues/9049 重新打开了它


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] jinjianming closed issue #9038: Bug: deploy the decoupled architecture. When the upstream IP changes, the dp data level does not execute sync_ Data(): update the new address, resulting in a request for 502 Bad Gateway

Posted by "jinjianming (via GitHub)" <gi...@apache.org>.
jinjianming closed issue #9038: Bug: deploy the decoupled architecture. When the upstream IP changes, the dp data level does not execute sync_ Data(): update the new address, resulting in a request for 502 Bad Gateway
URL: https://github.com/apache/apisix/issues/9038


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] jinjianming commented on issue #9038: Bug: deploy the decoupled architecture. When the upstream IP changes, the dp data level does not execute sync_ Data(): update the new address, resulting in a request for 502 Bad Gateway

Posted by "jinjianming (via GitHub)" <gi...@apache.org>.
jinjianming commented on issue #9038:
URL: https://github.com/apache/apisix/issues/9038#issuecomment-1461589293

   > 这是apisix-ingress的配置文件吗?
   This is the full configuration file of CP and DP;
   
   1、CP-Config
   ```
   
       apisix:    # universal configurations
         enable_heartbeat: true
         enable_admin: true
         enable_admin_cors: true
         enable_debug: false
   
         enable_dev_mode: false                       # Sets nginx worker_processes to 1 if set to true
         enable_reuseport: true                       # Enable nginx SO_REUSEPORT switch if set to true.
         enable_ipv6: true # Enable nginx IPv6 resolver
         enable_server_tokens: true # Whether the APISIX version number should be shown in Server header
   
         admin_listen.
         #                                   # This port can only receive http request with proxy protocol, but node_listen & admin_listen
         #                                   # can only receive http request. If you enable proxy protocol, you must use this port to
         option
         #   enable_tcp_pp_to_upstream: true # Enables the proxy protocol to the upstream server
   
         proxy_cache:                         # Proxy Caching configuration
           cache_ttl: 10s                     # The default caching time if the upstream does not specify the cache time
           zones:                             # The parameters of a cache
           - name: disk_cache_one             # The name of the cache, administrator can be specify
                                              # which cache to use by name in the admin api
             memory_size: 50m                 # The size of shared memory, it's used to store the cache index
             disk_size: 1G                    # The size of disk, it's used to store the cache data
             disk_path: "/tmp/disk_cache_one" # The path to store the cache data
             cache_levels: "1:2"              # The hierarchy levels of a cache
   
   
         router:
           http: radixtree_uri  # radixtree_uri: match route by uri(base on radixtree)
                                       # radixtree_host_uri: match route by host + uri(base on radixtree)
                                       # radixtree_uri_with_parameter: match route by uri with parameters
           ssl: 'radixtree_sni'        # radixtree_sni: match route by SNI(base on radixtree)
         stream_proxy:                 # TCP/UDP proxy
           only: false
           tcp:                        # TCP proxy port list
             - 9100
           udp:                        # UDP proxy port list
             - 9200
         dns_resolver:
           - 10.233.0.3
         dns_resolver_valid: 30
         resolver_timeout: 5
         ssl:
           enable: true
           listen:
             - port: 9443
               enable_http2: true
           ssl_protocols: "TLSv1.2 TLSv1.3"
           ssl_ciphers: "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA"
   
       nginx_config:    # config for render the template to genarate nginx.conf
         error_log: "/dev/stderr"
         error_log_level: "debug"    # warn,error
         worker_processes: "auto"
         enable_cpu_affinity: true
         worker_rlimit_nofile: 20480  # the number of files a worker process can open, should be larger than worker_connections
         event:
           worker_connections: 10620
         http:
           enable_access_log: true
           access_log: "/dev/stdout"
           access_log_format: '$remote_addr - $remote_user [$time_local] $http_host \"$request\" $status $body_bytes_sent $request_time \"$http_referer\" \"$http_user_agent\" $upstream_addr $upstream_status $upstream_response_time \"$upstream_scheme://$upstream_host$upstream_uri\"'
           access_log_format_escape: default
           keepalive_timeout: 60s         # timeout during which a keep-alive client connection will stay open on the server side.
           client_header_timeout: 60s     # timeout for reading client request header, then 408 (Request Time-out) error is returned to the client
           client_body_timeout: 60s       # timeout for reading client request body, then 408 (Request Time-out) error is returned to the client
           send_timeout: 10s              # timeout for transmitting a response to the client.then the connection is closed
           underscores_in_headers: "on"   # default enables the use of underscores in client request header fields
           real_ip_header: "X-Real-IP"    # http://nginx.org/en/docs/http/ngx_http_realip_module.html#real_ip_header
           real_ip_from:                  # http://nginx.org/en/docs/http/ngx_http_realip_module.html#set_real_ip_from
             - 127.0.0.1
             - 10.233.0.0/16
             - 'unix:'
       plugins:    # plugin list
         - api-breaker
         - xxx
       stream_plugins:
         - mqtt-proxy
         - ip-restriction
         - limit-conn
   
       deployment:
         role: control_plane
         role_control_plane:
           config_provider: etcd
           conf_server:
             listen: 0.0.0.0:9280
             cert: "/conf-server-ssl/tls.crt"
             cert_key: "/conf-server-ssl/tls.key"
   
         admin:
           allow_admin:    # http://nginx.org/en/docs/http/ngx_http_access_module.html#allow
             - 127.0.0.1/24
             - 0.0.0.0/0
           #   - "::/64"
           admin_listen:
             ip: 0.0.0.0
             port: 9180
           # Default token when use API to call for Admin API.
           # *NOTE*: Highly recommended to modify this value to protect APISIX's Admin API.
           # Disabling this configuration item means that the Admin API does not
           # require any authentication.
           admin_key:
             # admin: can everything for configuration data
             - name: "admin"
               key: edd1c9f034335f136f87ad84b625c8f1
               role: admin
             # viewer: only can view configuration data
             - name: "viewer"
               key: 4054f7cf07e344346cd3f287985e76a2
               role: viewer
         etcd:
           host:                          # it's possible to define multiple etcd hosts addresses of the same etcd cluster.
             - "http://apisix-control-plane-etcd.ingress-apisix.svc.cluster.local:2379"
           prefix: "/apisix"    # configuration prefix in etcd
           timeout: 30    # 30 seconds
         certs:
           cert: "/conf-client-ssl/tls.crt"
           cert_key: "/conf-client-ssl/tls.key"
   ```
   2、DP-config
   ```
   
       apisix:    # universal configurations
         ssl:
           ssl_trusted_certificate: "/conf-ca-ssl/tls.crt"
         node_listen: 9080    # APISIX listening port
         enable_heartbeat: true
         enable_admin: false
         enable_admin_cors: true
         enable_debug: false
   
         enable_dev_mode: false                       # Sets nginx worker_processes to 1 if set to true
         enable_reuseport: true                       # Enable nginx SO_REUSEPORT switch if set to true.
         enable_ipv6: true # Enable nginx IPv6 resolver
         enable_server_tokens: true # Whether the APISIX version number should be shown in Server header
   
         # proxy_protocol:                   # Proxy Protocol configuration
         #   listen_http_port: 9181          # The port with proxy protocol for http, it differs from node_listen and admin_listen.
         #                                   # This port can only receive http request with proxy protocol, but node_listen & admin_listen
         #                                   # can only receive http request. If you enable proxy protocol, you must use this port to
         #                                   # receive http request with proxy protocol
         #   listen_https_port: 9182         # The port with proxy protocol for https
         #   enable_tcp_pp: true             # Enable the proxy protocol for tcp proxy, it works for stream_proxy.tcp option
         #   enable_tcp_pp_to_upstream: true # Enables the proxy protocol to the upstream server
   
         proxy_cache:                         # Proxy Caching configuration
           cache_ttl: 10s                     # The default caching time if the upstream does not specify the cache time
           zones:                             # The parameters of a cache
           - name: disk_cache_one             # The name of the cache, administrator can be specify
                                              # which cache to use by name in the admin api
             memory_size: 50m                 # The size of shared memory, it's used to store the cache index
             disk_size: 1G                    # The size of disk, it's used to store the cache data
             disk_path: "/tmp/disk_cache_one" # The path to store the cache data
             cache_levels: "1:2"              # The hierarchy levels of a cache
   
         router:
           http: radixtree_uri  # radixtree_uri: match route by uri(base on radixtree)
                                       # radixtree_host_uri: match route by host + uri(base on radixtree)
                                       # radixtree_uri_with_parameter: match route by uri with parameters
           ssl: 'radixtree_sni'        # radixtree_sni: match route by SNI(base on radixtree)
         dns_resolver:
           - 10.233.0.3
         dns_resolver_valid: 30
         resolver_timeout: 5
         ssl:
           enable: true
           listen:
             - port: 9443
               enable_http2: false
           ssl_protocols: "TLSv1.2 TLSv1.3"
           ssl_ciphers: "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA"
   
       nginx_config:    # config for render the template to genarate nginx.conf
         error_log: "/dev/stderr"
         error_log_level: "debug"    # warn,error
         worker_processes: "auto"
         enable_cpu_affinity: true
         worker_rlimit_nofile: 20480  # the number of files a worker process can open, should be larger than worker_connections
         event:
           worker_connections: 10620
         http:
           enable_access_log: true
           access_log: "/dev/stdout"
           access_log_format: '$remote_addr - $remote_user [$time_local] $http_host \"$request\" $status $body_bytes_sent $request_time \"$http_referer\" \"$http_user_agent\" $upstream_addr $upstream_status $upstream_response_time \"$upstream_scheme://$upstream_host$upstream_uri\"'
           access_log_format_escape: default
           keepalive_timeout: 60s         # timeout during which a keep-alive client connection will stay open on the server side.
           client_header_timeout: 60s     # timeout for reading client request header, then 408 (Request Time-out) error is returned to the client
           client_body_timeout: 60s       # timeout for reading client request body, then 408 (Request Time-out) error is returned to the client
           send_timeout: 10s              # timeout for transmitting a response to the client.then the connection is closed
           underscores_in_headers: "on"   # default enables the use of underscores in client request header fields
           real_ip_header: "X-Real-IP"    # http://nginx.org/en/docs/http/ngx_http_realip_module.html#real_ip_header
           real_ip_from:                  # http://nginx.org/en/docs/http/ngx_http_realip_module.html#set_real_ip_from
             - 127.0.0.1
             - 10.233.0.0/16
             - 'unix:'
       plugins:    # plugin list
         - api-breaker
         - xxx
       stream_plugins:
         - mqtt-proxy
         - ip-restriction
         - limit-conn
   
       deployment:
         role: data_plane
         role_data_plane:
           config_provider: control_plane
           control_plane:
             host:
               - "https://apisix-control-plane-control-plane:9280"
             prefix: "/apisix"
             timeout: 30
         certs:
           cert: "/conf-client-ssl/tls.crt"
           cert_key: "/conf-client-ssl/tls.key"
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] jinjianming commented on issue #9038: Bug: deploy the decoupled architecture. When the upstream IP changes, the dp data level does not execute sync_ Data(): update the new address, resulting in a request for 502 Bad Gateway

Posted by "jinjianming (via GitHub)" <gi...@apache.org>.
jinjianming commented on issue #9038:
URL: https://github.com/apache/apisix/issues/9038#issuecomment-1462022705

   [example.zip](https://github.com/apache/apisix/files/10931626/example.zip)
   The attachment is my complete deployment file.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] HouZhiHouJue commented on issue #9038: Bug: deploy the decoupled architecture. When the upstream IP changes, the dp data level does not execute sync_ Data(): update the new address, resulting in a request for 502 Bad Gateway

Posted by "HouZhiHouJue (via GitHub)" <gi...@apache.org>.
HouZhiHouJue commented on issue #9038:
URL: https://github.com/apache/apisix/issues/9038#issuecomment-1504890922

   > [example.zip](https://github.com/apache/apisix/files/10931626/example.zip) The attachment is my complete deployment file.
   
   你这解决了么,我们也遇到了类似的问题。


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] monkeyDluffy6017 commented on issue #9038: Bug: deploy the decoupled architecture. When the upstream IP changes, the dp data level does not execute sync_ Data(): update the new address, resulting in a request for 502 Bad Gateway

Posted by "monkeyDluffy6017 (via GitHub)" <gi...@apache.org>.
monkeyDluffy6017 commented on issue #9038:
URL: https://github.com/apache/apisix/issues/9038#issuecomment-1461480020

   There must be something wrong with your configuration, it is impossible for DP to not sync upstream changes, try a different installation, e.g. docker ?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] jinjianming commented on issue #9038: Bug: deploy the decoupled architecture. When the upstream IP changes, the dp data level does not execute sync_ Data(): update the new address, resulting in a request for 502 Bad Gateway

Posted by "jinjianming (via GitHub)" <gi...@apache.org>.
jinjianming commented on issue #9038:
URL: https://github.com/apache/apisix/issues/9038#issuecomment-1460026500

   1. In the decoupled mode, what kind of log is output by the dp to calculate whether the address update is successful or not;
   
   2. At present, I observe that dp only obtains the upstream address through the following method after the first startup, and dp does not act after the upstream address changes
   
   ```
   2023/03/08 11:29:49 [info] 49#49: *3 [lua] upstream.lua:566: filter(): filter upstream: {"createdIndex":48,"has_domain":false,"modifiedIndex":1895,"value":{"nodes":[{"weight":100,"host":"10.233.64.45","priority":0,"port":80}],"labels":{"managed-by":"apisix-ingress-controller"},"type":"roundrobin","scheme":"http","parent":{"createdIndex":48,"has_domain":false,"modifiedIndex":1895,"value":"table: 0x7f7984488aa8","clean_handlers":"table: 0x7f795174ab50","key":"/apisix/upstreams/16690fc3"},"update_time":1678274799,"name":"default_js-design-nginx_80","hash_on":"vars","desc":"Created by apisix-ingress-controller, DO NOT modify it manually","create_time":1678243899,"pass_host":"pass","id":"16690fc3"},"clean_handlers":{},"key":"/apisix/upstreams/16690fc3"}, context: init_worker_by_lua*
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] monkeyDluffy6017 commented on issue #9038: Bug: deploy the decoupled architecture. When the upstream IP changes, the dp data level does not execute sync_ Data(): update the new address, resulting in a request for 502 Bad Gateway

Posted by "monkeyDluffy6017 (via GitHub)" <gi...@apache.org>.
monkeyDluffy6017 commented on issue #9038:
URL: https://github.com/apache/apisix/issues/9038#issuecomment-1461539297

   Is this the configuration file for apisix-ingress?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] jinjianming commented on issue #9038: Bug: deploy the decoupled architecture. When the upstream IP changes, the dp data level does not execute sync_ Data(): update the new address, resulting in a request for 502 Bad Gateway

Posted by "jinjianming (via GitHub)" <gi...@apache.org>.
jinjianming commented on issue #9038:
URL: https://github.com/apache/apisix/issues/9038#issuecomment-1504896467

   可以到https://github.com/apache/apisix/issues/9049 留言


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org