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

[I] bug: Enabling discovery kubenetes services configuration doesn't list cluster existing endpoints in Dashboard Service list [apisix]

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

   ### Current Behavior
   
   The cluster existing endpoints in not getting listed in Dashboard Service list after providing the discovery kubenetes services configuration
   
   ### Expected Behavior
   
   My understanding is that existing cluster endpoints should get listed or available after search in Dashboard Service list
   
   ### Error Logs
   
   _No response_
   
   ### Steps to Reproduce
   
   1) Install APISIX with the apache / apisix-helm-chart  with discovery kubernetes services configuration
   
   discovery:
     kubernetes:
       client:
         token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
       default_weight: 50
       service:
         host: 10.43.0.1
         port: "443"
         schema: https
   
   
   ### Environment
   
   - APISIX version (run `apisix version`): - 3.8.0
   - Operating system (run `uname -a`): Linux apisix-647b4867df-79542 5.4.0-136-generic #153~18.04.1-Ubuntu SMP Wed Nov 30 15:47:57 UTC 2022 x86_64 GNU/Linux
   - OpenResty / Nginx version (run `openresty -V` or `nginx -V`):  
   	nginx version: openresty/1.21.4.2
   	built by gcc 10.2.1 20210110 (Debian 10.2.1-6)
   	built with OpenSSL 3.2.0 23 Nov 2023
   	TLS SNI support enabled
   
   - etcd version, if relevant (run `curl http://127.0.0.1:9090/v1/server_info`):  404 Not Found
   - APISIX Dashboard version, if relevant:  3.0.0 
   - Plugin runner version, for issues related to plugin runners:
   - LuaRocks version, for installation issues (run `luarocks --version`):   luarocks: command not found 


-- 
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


Re: [I] bug: Enabling discovery kubernetes services configuration doesn't list cluster existing endpoints in Dashboard Service list [apisix]

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

   >  Dashboard Service list
   
   What is Dashboard Service list? Please elaborate your problem and provide more details on reproduction steps. A set of steps containing self contained minimal configurations would be appreciated.


-- 
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


Re: [I] bug: Enabling discovery kubernetes services configuration doesn't list cluster existing endpoints in Dashboard Service list [apisix]

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

   @singhajitk ,  From view source code , I  don not find  dump_data interface in discovery kubernetes .


-- 
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


Re: [I] bug: Enabling discovery kubernetes services configuration doesn't list cluster existing endpoints in Dashboard Service list [apisix]

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

   > @singhajitk , I think you confuse about apisix service and Kubernetes service endpoints. The dashboard only show apisix service "A service consists of a combination of public plugin configuration and upstream target information in a route" I think maybe there is no admin api to list Kubernetes service endpoints yet .
   
   Hi @hanqingwu,  As per document apisix/discovery/kubernetes (https://apisix.apache.org/docs/apisix/discovery/kubernetes/) 
    documentation, It looks like kubernetes services should get listed.  The apisix services are getting listed without providing the discovery->kubernetes configuration. 
   
   @shreemaan-abhishek,  Please correct me if my understanding is wrong that "kubernetes services should get listed when discovery->kubernetes configuration" is enabled ?


-- 
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


Re: [I] bug: Enabling discovery kubernetes services configuration doesn't list cluster existing endpoints in Dashboard Service list [apisix]

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

   can you confirm if the admin api also returns an empty result? this information is key to identify if the issue is with APISIX or just the dashboard.


-- 
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


Re: [I] bug: Enabling discovery kubernetes services configuration doesn't list cluster existing endpoints in Dashboard Service list [apisix]

Posted by "moonming (via GitHub)" <gi...@apache.org>.
moonming closed issue #11057: bug: Enabling discovery kubernetes services configuration doesn't list cluster existing endpoints in Dashboard Service list
URL: https://github.com/apache/apisix/issues/11057


-- 
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


Re: [I] bug: Enabling discovery kubernetes services configuration doesn't list cluster existing endpoints in Dashboard Service list [apisix]

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

   > > Dashboard Service list
   > 
   > What is Dashboard Service list? Please elaborate your problem and provide more details on reproduction steps. A set of steps containing self contained minimal configurations would be appreciated.
   
   Hi @shreemaan-abhishek,  Thanks for looking into this issue.
   
   From the Dashboard Service list, I mean, in APISIX Dashboard UI,  service page is not listing any of existing Kubernetes endpoints after enabling "discovery kubernetes service"  configuration.  I have attached screenshot below.
   
   
   ![Screenshot 2024-03-20 150708](https://github.com/apache/apisix/assets/147015877/f2305e1d-5956-41fa-baf8-3a91ff786629)
   


-- 
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


Re: [I] bug: Enabling discovery kubernetes services configuration doesn't list cluster existing endpoints in Dashboard Service list [apisix]

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

   @singhajitk,   I add a  interface to dump k8s data , like this.
   
   `curl  http://127.0.0.1:9092/v1/discovery/kubernetes/dump`


-- 
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


Re: [I] bug: Enabling discovery kubernetes services configuration doesn't list cluster existing endpoints in Dashboard Service list [apisix]

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

   > @singhajitk, I add a interface to dump k8s data , like this.
   > 
   > `curl http://127.0.0.1:9092/v1/discovery/kubernetes/dump`
   
   @hanqingwu, Thank you for looking onto this.  I will upgrade and try.
   


-- 
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


Re: [I] bug: Enabling discovery kubernetes services configuration doesn't list cluster existing endpoints in Dashboard Service list [apisix]

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

   > can you confirm if the admin api also returns an empty result? this information is key to identify if the issue is with APISIX or just the dashboard.
   
   I did curl call for the admin api and it also returns empty list.  The screenshot is attached 
   ![Screenshot 2024-03-24 153016](https://github.com/apache/apisix/assets/147015877/8056f23f-2bd7-4a3d-97ff-2364ca3b3f87)
   
   
   The configurations used for apisix is as below:
   
   `#
   # Licensed to the Apache Software Foundation (ASF) under one or more
   # contributor license agreements.  See the NOTICE file distributed with
   # this work for additional information regarding copyright ownership.
   # The ASF licenses this file to You under the Apache License, Version 2.0
   # (the "License"); you may not use this file except in compliance with
   # the License.  You may obtain a copy of the License at
   #
   #     http://www.apache.org/licenses/LICENSE-2.0
   #
   # Unless required by applicable law or agreed to in writing, software
   # distributed under the License is distributed on an "AS IS" BASIS,
   # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   # See the License for the specific language governing permissions and
   # limitations under the License.
   #
   apisix:    # universal configurations
     node_listen:    # APISIX listening port
       - 9080
     enable_heartbeat: true
     enable_admin: true
     enable_admin_cors: true
     enable_debug: true
     extra_lua_path: /opts/custom_plugins/?.lua;
   
     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
     #  - name: disk_cache_two
     #    memory_size: 50m
     #    disk_size: 1G
     #    disk_path: "/tmp/disk_cache_two"
     #    cache_levels: "1:2"
   
     router:
       http: radixtree_host_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)
   
     proxy_mode: http
     stream_proxy:                 # TCP/UDP proxy
       tcp:                        # TCP proxy port list
         - 9100
       udp:                        # UDP proxy port list
         - 9200
     # dns_resolver:
     #
     #   - 127.0.0.1
     #
     #   - 172.20.0.10
     #
     #   - 114.114.114.114
     #
     #   - 223.5.5.5
     #
     #   - 1.1.1.1
     #
     #   - 8.8.8.8
     #
     dns_resolver_valid: 30
     resolver_timeout: 5
     ssl:
       enable: true
       listen:
         - port: 9443
           enable_http2: true
       ssl_protocols: "TLSv1.2 TLSv1.3"
       ssl_ciphers: "zzzzzzzzzzzzzzzzzzzzzzzzzzzz"
       ssl_trusted_certificate: "/usr/local/apisix/conf/ssl/ca.crt"
   
   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
     envs:
       - KUBERNETES_SERVICE_HOST=xx.xx.xx.xx
       - KUBERNETES_SERVICE_PORT=443
       - TZ=CST
     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"
       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
         - 'unix:'
   discovery:
     kubernetes:
       client:
         token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
       default_weight: 50
       service:
         host: xx.xx.xx.xx
         port: "443"
         schema: https
   plugin_attr:
     prometheus:
       export_addr:
         ip: 0.0.0.0
         port: 9091
       export_uri: /apisix/prometheus/metrics
       metric_prefix: apisix_
   
   deployment:
     role: traditional
     role_traditional:
       config_provider: etcd
     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: "zzzzzzzzz"
           role: admin
         # viewer: only can view configuration data
         - name: "viewer"
           key: "yyyyyyyyyy"
           role: viewer
     etcd:
       host:   # it's possible to define multiple etcd hosts addresses of the same etcd cluster.
         - "http://apisix-etcd.apisix.svc.cluster.local:2379"
       prefix: "/apisix"    # configuration prefix in etcd
       timeout: 30    # 30 seconds
       user: "root"
       password: "${{APISIX_ETCD_PASSWORD}}"
    `


-- 
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


Re: [I] bug: Enabling discovery kubernetes services configuration doesn't list cluster existing endpoints in Dashboard Service list [apisix]

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

   > @singhajitk , From view source code , I don not find dump_data interface in discovery kubernetes .
   
   @hanqingwu, Thank you for looking into it.  
   
   @shreemaan-abhishek , will this feature get added ?


-- 
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


Re: [I] bug: Enabling discovery kubernetes services configuration doesn't list cluster existing endpoints in Dashboard Service list [apisix]

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

   @singhajitk ,  I think you confuse about apisix service and Kubernetes service endpoints.  The dashboard only show apisix service "A service consists of a combination of public plugin configuration and upstream target information in a route" 
   I think maybe  there is no admin api  to list Kubernetes service endpoints yet . 


-- 
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