Coder Social home page Coder Social logo

apisix-helm-chart's Introduction

Apache APISIX Helm Charts

Apache APISIX Helm Charts provide the installation of Apache APISIX components for kubernetes.

Currently, APISIX Ingress Controller automatically manipulates some APISIX resources, which is not very compatible with APISIX Dashboard. In addition, users should not modify resources labeled managed-by: apisix-ingress-controllers via APISIX Dashboard.

Compatibility matrix

APISIX APISIX Ingress APISIX Dashboard
Chart v2.x v3.x v1.x v3.x
Chart v1.x v3.x v1.x v3.x
Chart v0.x v2.x v1.x v2.x

Changelogs

We have made numerous broken changes to the APISIX Helm chart between v1.x and v2.x. If you wish to continue using or updating the v1.x, please utilize the apisix/1.x branch available in the repository.

apisix-helm-chart's People

Contributors

alinsran avatar anjia0532 avatar bzp2010 avatar fengxsong avatar gallardot avatar gxthrj avatar haoxins avatar ikatlinsky avatar junnplus avatar kishanikandasamy avatar lingsamuel avatar litesun avatar lpiob avatar m33li5 avatar mkocsis-tg avatar mstefany avatar neil85 avatar nic-6443 avatar pgdream avatar qihonggang avatar revolyssup avatar shreemaan-abhishek avatar spacewander avatar starsz avatar tao12345666333 avatar tokers avatar tzssangglass avatar zaunist avatar zebradil avatar zhuoyang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

apisix-helm-chart's Issues

Etcd cluster with tls

etcd version:3.4.3
How can I configure an etcd cluster with tls, I know my certification path clearly。

proposal: restructure the apisix-helm-chart repo

Currently we provide three available charts:

  • apisix
  • apisix-dashboard
  • apisix-ingress-controller

But both apisix-dashboard and apisix-ingress depend on apisix to work properly (and apisix is the core).

Now in our documents, for example, in the installation steps of apisix-ingress, apisix needs to be deployed first, and then apisix-ingress needs to be deployed, which causes a certain amount of trouble for users.

With reference to many other open source projects, I suggest to adjust the Chart structure.

The goal is: users can use one helm command to complete the deployment (for example, one command to deploy apisix and apisix-ingress, apisix-dashboard is optional)

[request help]: 404 not found

hey, I have run this in my local k8s, and use online debuger to test 14.215.177.39 this ip in apisix dashboard, that's works! But, I defined one route named "/index", and linked to the above ip's upstream, That's failed, it tell me 404 not found.
here is my local svc:
image

Screen Shot 2021-03-25 at 19 04 38

Screen Shot 2021-03-25 at 19 06 19

add instruction on install apisix only and etcd cluster

  • install apisix only

    dashboard:
    enabled: false
    ingress-controller:
    enabled: false

    It seems by default install apisix would not install dashboard and ingress controller together, but when following the guidance, it still installs all three componenents. Tried to override with helm install apisix apisix/apisix --set dashboard.enabled=false --set ingress-controller.enabled=false but still failed.

  • install etcd cluster
    I think it's recommended to install a three-nodes etcd cluster rather than one. Besides, I'm not sure and also failed to find how to passing subchart parameters.

Hi @tao12345666333 could you help me on this

openresty 403

I installed it on k3s with helm.
I created a api with dashboard.
It raises an openresty 403 error when I call the api.

Configure configmap entirely

Now we use template to configure config.conf, hide a lot of judgment conditions.Configure configmap entirely may be better.

the pod is pending, just follow the official website steps

只是按照官网步骤,继续安装,没有正常运行 。
Just follow the official website steps, continue to install, did not work properly.

是不是需要自己创建pv,供etcd使用?
Do I need to create PV for etcd use?

image

image

kubectl describe pod apisix-etcd-1 -n gw-apisix
image

image

用helm install apisix-gw ./apisix命令安装后,dashboard访问etcd失败

When custom name used in helm install command is not same with the service name defined in values.yaml, the dashboard will fail to access etcd service.

Labels below must be vairables:

[root@master01 ~]# grep apisix-admin ./apisix -R
./apisix/templates/service-admin.yaml: - name: apisix-admin
./apisix/charts/apisix-ingress-controller/values.yaml: baseURL: "http://apisix-admin:9180/apisix/admin"

[root@master01 ~]# grep apisix-etcd ./apisix -R
./apisix/charts/apisix-dashboard/values.yaml: - apisix-etcd:2379

apisix error:failed to fetch data from etcd: xxxx could not be resolved

way to install

git clone https://github.com/apache/apisix-helm-chart.git
cd apisix-helm-chart/charts/apisix
helm dependency update .
helm install apisix . --set gateway.type=NodePort   --set allow.ipList="{0.0.0.0/0}"   --namespace ingress-apisix

apisix image tag : apache/apisix:2.3-alpine

apisix error log

2021/03/29 08:51:52 [error] 49#49: *282942 [lua] config_etcd.lua:530: failed to fetch data from etcd: apisix-etcd.ingress-apisix.svc.cluster.local could not be resolved (3: Host not found),  etcd key: /apisix/plugin_metadata, context: ngx.timer
2021/03/29 08:51:53 [error] 73#73: *285218 [lua] config_etcd.lua:530: failed to fetch data from etcd: apisix-etcd.ingress-apisix.svc.cluster.local could not be resolved (3: Host not found),  etcd key: /apisix/consumers, context: ngx.timer
2021/03/29 08:51:53 [error] 51#51: *272261 [lua] config_etcd.lua:530: failed to fetch data from etcd: apisix-etcd.ingress-apisix.svc.cluster.local could not be resolved (3: Host not found),  etcd key: /apisix/proto, context: ngx.timer
2021/03/29 08:51:53 [error] 43#43: *281732 [lua] config_etcd.lua:530: failed to fetch data from etcd: apisix-etcd.ingress-apisix.svc.cluster.local could not be resolved (3: Host not found),  etcd key: /apisix/upstreams, context: ngx.timer
2021/03/29 08:51:53 [error] 45#45: *283202 [lua] config_etcd.lua:530: failed to fetch data from etcd: apisix-etcd.ingress-apisix.svc.cluster.local could not be resolved (3: Host not found),  etcd key: /apisix/services, context: ngx.timer
2021/03/29 08:51:53 [error] 65#65: *277404 [lua] config_etcd.lua:530: failed to fetch data from etcd: apisix-etcd.ingress-apisix.svc.cluster.local could not be resolved (3: Host not found),  etcd key: /apisix/proto, context: ngx.timer
2021/03/29 08:51:53 [error] 55#55: *284742 [lua] config_etcd.lua:530: failed to fetch data from etcd: apisix-etcd.ingress-apisix.svc.cluster.local could not be resolved (3: Host not found),  etcd key: /apisix/plugin_metadata, context: ngx.timer
2021/03/29 08:51:53 [error] 59#59: *285624 [lua] config_etcd.lua:530: failed to fetch data from etcd: apisix-etcd.ingress-apisix.svc.cluster.local could not be resolved (3: Host not found),  etcd key: /apisix/upstreams, context: ngx.timer
2021/03/29 08:51:53 [error] 70#70: *282262 [lua] config_etcd.lua:530: failed to fetch data from etcd: apisix-etcd.ingress-apisix.svc.cluster.local could not be resolved (3: Host not found),  etcd key: /apisix/global_rules, context: ngx.timer
2021/03/29 08:51:53 [error] 67#67: *279198 [lua] config_etcd.lua:530: failed to fetch data from etcd: apisix-etcd.ingress-apisix.svc.cluster.local could not be resolved (3: Host not found),  etcd key: /apisix/routes, context: ngx.timer

But it can be connected through ETCDCTL.

I have no name!@apisix-etcd-0:/opt/bitnami/etcd$ etcdctl --endpoints=apisix-etcd.ingress-apisix.svc.cluster.local:2379 put /test  apisix 
OK
I have no name!@apisix-etcd-0:/opt/bitnami/etcd$ etcdctl --endpoints=apisix-etcd.ingress-apisix.svc.cluster.local:2379 get /test  apisix 
/test
apisix

Help me, Thanks!

How to set the PVC storage of etcd when deploying apisix-helm-chart?

When applying for a PVC, you need to meet the requirements of the cloud service provider, for example, Tencent Cloud requires that the storage size of the PVC applied for be a multiple of 10G, while the default storage size applied for etcd helm deployment is 8G, resulting in the failure of the PVC application.

Can an external etcd cluster be used to install dashboard using helm?

I use command
helm install apisix apisix/apisix \ --set ingress-controller.enabled=true \ --set dashboard.enabled=true \ --set etcd.enabled=false \ --set etcd.host={http://192.168.252.184:2379\,http://192.168.252.106:2379} \ --set admin.allow.ipList="" \ --namespace ingress-apisix
to install them.
apisix and apisix-controller is installed successfully,but dashboard is failed. The error logs is
image
How can I solved it ?

helm 安装apisix 启动tls 安装报错

  • env
    • azure k8s 1.18.14
    • apisix 2.4-alpine
    • dashboard 2.5
    • etcd 默认网上拉取的
    • controller 0.5.0
  • 修改配置
    apisix-helm-chart/charts/apisix/values.yaml
    22行:image.tag:2.4-alpine
    53行: gateway.tls.enabled: true
    60行: gateway.ingress.enabled: true
  • 执行过程
    1、helm dependency update charts/apisix/
    Getting updates for unmanaged Helm repositories...
    ...Successfully got an update from the "https://charts.bitnami.com/bitnami" chart repository
    Saving 3 charts
    Downloading etcd from repo https://charts.bitnami.com/bitnami
    2、helm install apisix charts/apisix --set gateway.type=LoadBalancer --set allow.ipList="{0.0.0.0/0}" --namespace ingress-apisix
    Error: unable to build kubernetes objects from release manifest: error validating "": error validating data: ValidationError(Ingress.spec.rules[0].http): missing required field "paths" in io.k8s.api.networking.v1beta1.HTTPIngressRuleValue

Liveness probe failed after helm install

Issue description

Liveness probe failed after helm install.

Run kubectl describe pods apisix-apisix-dashboard-5d45f878bb-5zgg6 -n ingress-apisix, I gor following output:

Name:         apisix-apisix-dashboard-5d45f878bb-5zgg6
Namespace:    ingress-apisix
Priority:     0
Node:         docker-desktop/192.168.65.4
Start Time:   Tue, 06 Apr 2021 10:48:30 +0800
Labels:       app.kubernetes.io/instance=apisix
              app.kubernetes.io/name=apisix-dashboard
              pod-template-hash=5d45f878bb
Annotations:  checksum/config: f10457ec1c68f9dc5d53e5945cc17790f290ba4fdb4e712b2f2acf6ac6cda42e
Status:       Running
IP:           10.1.1.70
IPs:
  IP:           10.1.1.70
Controlled By:  ReplicaSet/apisix-apisix-dashboard-5d45f878bb
Containers:
  apisix-dashboard:
    Container ID:   docker://0341a01a43518061b458a86ef0ba026847551afa9b7e1c60f900649baa9ad1b9
    Image:          apache/apisix-dashboard:2.3
    Image ID:       docker-pullable://apache/apisix-dashboard@sha256:724796cfd0abc842ef74ed92153fd5dcd720a3c4b1b03ed0066a77cec0e66131
    Port:           9000/TCP
    Host Port:      0/TCP
    State:          Running
      Started:      Tue, 06 Apr 2021 10:50:23 +0800
    Last State:     Terminated
      Reason:       Error
      Exit Code:    2
      Started:      Tue, 06 Apr 2021 10:49:33 +0800
      Finished:     Tue, 06 Apr 2021 10:49:38 +0800
    Ready:          True
    Restart Count:  4
    Liveness:       http-get http://:http/ping delay=0s timeout=1s period=10s #success=1 #failure=3
    Readiness:      http-get http://:http/ping delay=0s timeout=1s period=10s #success=1 #failure=3
    Environment:    <none>
    Mounts:
      /usr/local/apisix-dashboard/conf/conf.yaml from apisix-dashboard-config (rw,path="conf.yaml")
      /var/run/secrets/kubernetes.io/serviceaccount from apisix-apisix-dashboard-token-qpbc2 (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  apisix-dashboard-config:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      apisix-apisix-dashboard
    Optional:  false
  apisix-apisix-dashboard-token-qpbc2:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  apisix-apisix-dashboard-token-qpbc2
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason     Age                From               Message
  ----     ------     ----               ----               -------
  Normal   Scheduled  17m                default-scheduler  Successfully assigned ingress-apisix/apisix-apisix-dashboard-5d45f878bb-5zgg6 to docker-desktop
  Warning  Unhealthy  17m (x2 over 17m)  kubelet            Readiness probe failed: Get "http://10.1.1.70:9000/ping": dial tcp 10.1.1.70:9000: connect: connection refused
  Normal   Pulled     16m (x4 over 17m)  kubelet            Container image "apache/apisix-dashboard:2.3" already present on machine
  Normal   Created    16m (x4 over 17m)  kubelet            Created container apisix-dashboard
  Normal   Started    16m (x4 over 17m)  kubelet            Started container apisix-dashboard
  Warning  Unhealthy  16m (x2 over 17m)  kubelet            Liveness probe failed: Get "http://10.1.1.70:9000/ping": dial tcp 10.1.1.70:9000: connect: connection refused
  Warning  BackOff    16m (x9 over 17m)  kubelet            Back-off restarting failed container

Expected behavior

Liveness probe succeeds.

How to Reproduce

1.helm repo add bitnami https://charts.bitnami.com/bitnami
2.helm repo add apisix https://charts.apiseven.com
3.helm repo update
4.

helm install apisix apisix/apisix 
--set allow.ipList="{0.0.0.0/0}" 
--namespace ingress-apisix
  1. kubectl describe pods apisix-apisix-dashboard-5d45f878bb-5zgg6 -n ingress-apisix

Environment

  • apisix version (cmd: apisix version): 2.3
  • OS (cmd: uname -a): Windows 10 Home
  • OpenResty / Nginx version (cmd: nginx -V or openresty -V):
  • etcd version, if have (cmd: run curl http://127.0.0.1:9090/v1/server_info to get the info from server-info API):
  • apisix-dashboard version, if have: 2.3
  • Browser version, if have:

Additional context

PS C:\Users\Limbo> kubectl version
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.7", GitCommit:"1dd5338295409edcfff11505e7bb246f0d325d15", GitTreeState:"clean", BuildDate:"2021-01-13T13:23:52Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.3", GitCommit:"1e11e4a2108024935ecfcb2912226cedeafd99df", GitTreeState:"clean", BuildDate:"2020-10-14T12:41:49Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"linux/amd64"}
PS C:\Users\Limbo> kubectl get svc -n ingress-apisix
NAME                      TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)             AGE
apisix-admin              ClusterIP   10.109.116.93    <none>        9180/TCP            39m
apisix-apisix-dashboard   ClusterIP   10.100.179.190   <none>        80/TCP              39m
apisix-etcd               ClusterIP   10.108.91.193    <none>        2379/TCP,2380/TCP   39m
apisix-etcd-headless      ClusterIP   None             <none>        2379/TCP,2380/TCP   39m
apisix-gateway            NodePort    10.107.22.106    <none>        80:31333/TCP        39m

question: etcd can't start when enable securityContext

信息

version: 0.3.4

问题:

使用官网教程使用helm安装apisix时,出现etcd无法启动的问题,使用的命令如下:

helm install apisix apisix/apisix \
  --set admin.allow.ipList="{0.0.0.0/0}" \
  --namespace ingress-apisix

查看etcd日志错误如下:

etcdmain: cannot access data directory: mkdir /bitnami/etcd/data: permission denied

apisix-etcd-0 pod start error when use custom cluster domain on k3s

The apisix-etcd-0 pod failed to start when installing apisix-helm-chart on a k3s cluster deployed with a custom domain name.

apisix install command as follows:

helm install apisix ./charts/apisix --namespace ingress-apisix --set gateway.type=NodePort --set gateway.k8s_domain="custom.cluster.domain" --set allow.ipList="{10.42.0.0/16}" 

The error of apisix-etcd-0 pod is as follows:

failed to resolve http://apisix-etcd-0.apisix-etcd-headless.ingress-apisix.svc.cluster.local:2380 to match --initial-cluster=apisix-etcd-0=http://apisix-etcd-0.apisix-etcd-headless.ingress-apisix.svc.cluster.local:2380 (failed to resolve "http://apisix-etcd-0.apisix-etcd-headless.ingress-apisix.svc.cluster.local:2380" (lookup apisix-etcd-0.apisix-etcd-headless.ingress-apisix.svc.cluster.local on 10.43.0.10:53: no such host))

pod "apisix-5d7bc7ccdf-c8ftq" is waiting to start

This is my execution step :

  1. Use the following command to install
    helm install apisix ./chart/apisix -n default
    --set allow.ipList=""
    --set etcd.volumePermissions.enabled=true
    2. The phenomenon of complete installation:
    etcd pod status is running but apsix pod status is Init:0/1
    3.error logs
    about apisix pod describe info is : Started container wait-etcd
    apisix pod logs info is :Error from server (BadRequest): container "apisix" in pod "apisix-5d7bc7ccdf-c8ftq" is waiting to start: PodInitializing

PVC problems in etcd deployment

When applying for a PVC, you need to meet the requirements of the cloud service provider, for example, Tencent Cloud requires that the storage size of the PVC applied for be a multiple of 10G, while the default storage size applied for etcd helm deployment is 8G, resulting in the failure of the PVC application.

the apisixconsumers is missing which is resource of apiGroups defined as "apisix.apache.org" in the apisix-clusterrole object

Environment

apisix-ingress-controller version:
Version: 0.6.0
Git SHA: no-git-module
Go Version: go1.13.8
Building OS/Arch: linux/amd64
Running OS/Arch: linux/amd64

Kubernetes install by minkube v1.17.0

Kubernetes cluster version:

Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.4", GitCommit:"d360454c9bcd1634cf4cc52d1867af5491dc9c5f", GitTreeState:"clean", BuildDate:"2020-11-12T01:09:16Z", GoVersion:"go1.15.4", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.2", GitCommit:"faecb196815e248d3ecfb03c680a4507229c2a56", GitTreeState:"clean", BuildDate:"2021-01-13T13:20:00Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}

Minimal test code / Steps to reproduce the issue

  1. git clone https://github.com/apache/apisix-helm-chart
  2. kubectl create ns apisix
  3. helm install apisix charts/apisix --set ingress-controller.enabled=true --set dashboard.enabled=true --namespace apisix
  4. view cluster role use kubectl get clusterroles apisix-clusterrole -o yaml
- apiGroups:
  - apisix.apache.org
  resources:
  - apisixroutes
  - apisixroutes/status
  - apisixupstreams
  - apisixupstreams/status
  - apisixservices
  - apisixtlses
  - apisixtlses/status
  - apisixclusterconfigs
  verbs:
  - '*'

apisix-ingress-controller start logs :

Hope to provide some help

2021-07-19T19:27:58+08:00	�[34minfo�[0m	ingress/ingress.go:112	apisix ingress controller started
2021-07-19T19:27:58+08:00	�[34minfo�[0m	ingress/ingress.go:114	version:
Version: 0.6.0
Git SHA: no-git-module
Go Version: go1.13.8
Building OS/Arch: linux/amd64
Running OS/Arch: linux/amd64

2021-07-19T19:27:58+08:00	�[34minfo�[0m	ingress/ingress.go:120	use configuration
{
	"log_level": "info",
	"log_output": "stderr",
	"http_listen": ":8080",
	"enable_profiling": true,
	"kubernetes": {
		"kubeconfig": "",
		"resync_interval": "1m0s",
		"app_namespaces": [
			""
		],
		"election_id": "ingress-apisix-leader",
		"ingress_class": "apisix",
		"ingress_version": "networking/v1",
		"apisix_route_version": "apisix.apache.org/v2alpha1"
	},
	"apisix": {
		"default_cluster_name": "default",
		"default_cluster_base_url": "http://apisix-admin:9180/apisix/admin",
		"default_cluster_admin_key": "edd1c9f034335f136f87ad84b625c8f1",
		"base_url": "http://apisix-admin:9180/apisix/admin",
		"admin_key": "edd1c9f034335f136f87ad84b625c8f1"
	}
}
I0719 19:27:58.673638       1 leaderelection.go:243] attempting to acquire leader lease apisix/ingress-apisix-leader...
2021-07-19T19:27:58+08:00	�[33mwarn�[0m	ingress/controller.go:311	found a new leader apisix-ingress-controller-69564b5796-qwwmf
2021-07-19T19:27:58+08:00	�[34minfo�[0m	ingress/controller.go:313	controller now is running as a candidate	{"namespace": "apisix", "pod": "apisix-ingress-controller-69564b5796-4spcx"}
[GIN] 2021/07/19 - 19:28:00 | 200 |      66.785µs |      172.17.0.1 | GET      "/healthz"
[GIN] 2021/07/19 - 19:28:08 | 200 |     133.666µs |      172.17.0.1 | GET      "/healthz"
[GIN] 2021/07/19 - 19:28:10 | 200 |      34.725µs |      172.17.0.1 | GET      "/healthz"
2021-07-19T19:28:16+08:00	�[34minfo�[0m	ingress/controller.go:273	LeaderElection	{"message": "apisix-ingress-controller-69564b5796-4spcx became leader", "event_type": "Normal"}
I0719 19:28:16.148790       1 leaderelection.go:253] successfully acquired lease apisix/ingress-apisix-leader
2021-07-19T19:28:16+08:00	�[33mwarn�[0m	ingress/controller.go:311	found a new leader apisix-ingress-controller-69564b5796-4spcx
2021-07-19T19:28:16+08:00	�[34minfo�[0m	ingress/controller.go:353	controller tries to leading ...	{"namespace": "apisix", "pod": "apisix-ingress-controller-69564b5796-4spcx"}
2021-07-19T19:28:16+08:00	�[33mwarn�[0m	apisix/cluster.go:288	waiting cluster default to ready, it may takes a while
2021-07-19T19:28:16+08:00	�[34minfo�[0m	apisix/cluster.go:139	syncing cache	{"cluster": "default"}
2021-07-19T19:28:17+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:17+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
[GIN] 2021/07/19 - 19:28:18 | 200 |      34.551µs |      172.17.0.1 | GET      "/healthz"
2021-07-19T19:28:20+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:20+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
[GIN] 2021/07/19 - 19:28:20 | 200 |      36.592µs |      172.17.0.1 | GET      "/healthz"
2021-07-19T19:28:23+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:23+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:26+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:26+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
[GIN] 2021/07/19 - 19:28:28 | 200 |       41.81µs |      172.17.0.1 | GET      "/healthz"
2021-07-19T19:28:29+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:29+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:29+08:00	�[31merror�[0m	apisix/cluster.go:148	failed to sync cache	{"cost_time": "13.103280773s", "cluster": "default"}
2021-07-19T19:28:29+08:00	�[31merror�[0m	ingress/controller.go:379	failed to wait the default cluster to be ready: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:29+08:00	�[34minfo�[0m	ingress/controller.go:320	controller now is running as a candidate	{"namespace": "apisix", "pod": "apisix-ingress-controller-69564b5796-4spcx"}
I0719 19:28:29.252833       1 leaderelection.go:243] attempting to acquire leader lease apisix/ingress-apisix-leader...
2021-07-19T19:28:29+08:00	�[34minfo�[0m	apisix/cluster.go:139	syncing cache	{"cluster": "default"}
2021-07-19T19:28:29+08:00	�[34minfo�[0m	ingress/controller.go:273	LeaderElection	{"message": "apisix-ingress-controller-69564b5796-4spcx became leader", "event_type": "Normal"}
I0719 19:28:29.267984       1 leaderelection.go:253] successfully acquired lease apisix/ingress-apisix-leader
2021-07-19T19:28:29+08:00	�[34minfo�[0m	ingress/controller.go:353	controller tries to leading ...	{"namespace": "apisix", "pod": "apisix-ingress-controller-69564b5796-4spcx"}
2021-07-19T19:28:29+08:00	�[33mwarn�[0m	apisix/cluster.go:288	waiting cluster default to ready, it may takes a while
2021-07-19T19:28:30+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:30+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
[GIN] 2021/07/19 - 19:28:30 | 200 |     142.944µs |      172.17.0.1 | GET      "/healthz"
2021-07-19T19:28:33+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:33+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:36+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:36+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
[GIN] 2021/07/19 - 19:28:38 | 200 |     140.893µs |      172.17.0.1 | GET      "/healthz"
2021-07-19T19:28:39+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:39+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
[GIN] 2021/07/19 - 19:28:40 | 200 |      33.226µs |      172.17.0.1 | GET      "/healthz"
2021-07-19T19:28:42+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:42+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:42+08:00	�[31merror�[0m	apisix/cluster.go:148	failed to sync cache	{"cost_time": "13.055139905s", "cluster": "default"}
2021-07-19T19:28:42+08:00	�[31merror�[0m	ingress/controller.go:379	failed to wait the default cluster to be ready: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:42+08:00	�[34minfo�[0m	ingress/controller.go:320	controller now is running as a candidate	{"namespace": "apisix", "pod": "apisix-ingress-controller-69564b5796-4spcx"}
I0719 19:28:42.309218       1 leaderelection.go:243] attempting to acquire leader lease apisix/ingress-apisix-leader...
2021-07-19T19:28:42+08:00	�[34minfo�[0m	apisix/cluster.go:139	syncing cache	{"cluster": "default"}
2021-07-19T19:28:42+08:00	�[34minfo�[0m	ingress/controller.go:273	LeaderElection	{"message": "apisix-ingress-controller-69564b5796-4spcx became leader", "event_type": "Normal"}
I0719 19:28:42.320135       1 leaderelection.go:253] successfully acquired lease apisix/ingress-apisix-leader
2021-07-19T19:28:42+08:00	�[34minfo�[0m	ingress/controller.go:353	controller tries to leading ...	{"namespace": "apisix", "pod": "apisix-ingress-controller-69564b5796-4spcx"}
2021-07-19T19:28:42+08:00	�[33mwarn�[0m	apisix/cluster.go:288	waiting cluster default to ready, it may takes a while
2021-07-19T19:28:43+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:43+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:46+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:46+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
[GIN] 2021/07/19 - 19:28:48 | 200 |      34.895µs |      172.17.0.1 | GET      "/healthz"
2021-07-19T19:28:49+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:49+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
[GIN] 2021/07/19 - 19:28:50 | 200 |      39.779µs |      172.17.0.1 | GET      "/healthz"
2021-07-19T19:28:52+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:52+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:55+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:55+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:55+08:00	�[31merror�[0m	apisix/cluster.go:148	failed to sync cache	{"cost_time": "13.0561584s", "cluster": "default"}
2021-07-19T19:28:55+08:00	�[31merror�[0m	ingress/controller.go:379	failed to wait the default cluster to be ready: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:55+08:00	�[34minfo�[0m	apisix/cluster.go:139	syncing cache	{"cluster": "default"}
2021-07-19T19:28:55+08:00	�[34minfo�[0m	ingress/controller.go:320	controller now is running as a candidate	{"namespace": "apisix", "pod": "apisix-ingress-controller-69564b5796-4spcx"}
I0719 19:28:55.366688       1 leaderelection.go:243] attempting to acquire leader lease apisix/ingress-apisix-leader...
2021-07-19T19:28:55+08:00	�[34minfo�[0m	ingress/controller.go:273	LeaderElection	{"message": "apisix-ingress-controller-69564b5796-4spcx became leader", "event_type": "Normal"}
I0719 19:28:55.386098       1 leaderelection.go:253] successfully acquired lease apisix/ingress-apisix-leader
2021-07-19T19:28:55+08:00	�[34minfo�[0m	ingress/controller.go:353	controller tries to leading ...	{"namespace": "apisix", "pod": "apisix-ingress-controller-69564b5796-4spcx"}
2021-07-19T19:28:55+08:00	�[33mwarn�[0m	apisix/cluster.go:288	waiting cluster default to ready, it may takes a while
2021-07-19T19:28:56+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:56+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
[GIN] 2021/07/19 - 19:28:58 | 200 |       34.62µs |      172.17.0.1 | GET      "/healthz"
2021-07-19T19:28:59+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:28:59+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
[GIN] 2021/07/19 - 19:29:00 | 200 |      37.507µs |      172.17.0.1 | GET      "/healthz"
2021-07-19T19:29:02+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:29:02+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:29:05+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:29:05+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:29:08+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:29:08+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:29:08+08:00	�[31merror�[0m	apisix/cluster.go:148	failed to sync cache	{"cost_time": "13.056962042s", "cluster": "default"}
2021-07-19T19:29:08+08:00	�[31merror�[0m	ingress/controller.go:379	failed to wait the default cluster to be ready: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:29:08+08:00	�[34minfo�[0m	apisix/cluster.go:139	syncing cache	{"cluster": "default"}
2021-07-19T19:29:08+08:00	�[34minfo�[0m	ingress/controller.go:320	controller now is running as a candidate	{"namespace": "apisix", "pod": "apisix-ingress-controller-69564b5796-4spcx"}
I0719 19:29:08.423464       1 leaderelection.go:243] attempting to acquire leader lease apisix/ingress-apisix-leader...
2021-07-19T19:29:08+08:00	�[34minfo�[0m	ingress/controller.go:273	LeaderElection	{"message": "apisix-ingress-controller-69564b5796-4spcx became leader", "event_type": "Normal"}
I0719 19:29:08.440352       1 leaderelection.go:253] successfully acquired lease apisix/ingress-apisix-leader
2021-07-19T19:29:08+08:00	�[34minfo�[0m	ingress/controller.go:353	controller tries to leading ...	{"namespace": "apisix", "pod": "apisix-ingress-controller-69564b5796-4spcx"}
2021-07-19T19:29:08+08:00	�[33mwarn�[0m	apisix/cluster.go:288	waiting cluster default to ready, it may takes a while
[GIN] 2021/07/19 - 19:29:08 | 200 |      48.061µs |      172.17.0.1 | GET      "/healthz"
2021-07-19T19:29:09+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:29:09+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
[GIN] 2021/07/19 - 19:29:10 | 200 |       52.35µs |      172.17.0.1 | GET      "/healthz"
2021-07-19T19:29:12+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:29:12+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:29:15+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:29:15+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:29:18+08:00	�[31merror�[0m	apisix/route.go:117	failed to list routes: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
2021-07-19T19:29:18+08:00	�[31merror�[0m	apisix/cluster.go:181	failed to list route in APISIX: Get http://apisix-admin:9180/apisix/admin/routes: dial tcp 10.98.18.224:9180: connect: connection refused
[GIN] 2021/07/19 - 19:29:18 | 200 |      36.989µs |      172.17.0.1 | GET      "/healthz"
[GIN] 2021/07/19 - 19:29:20 | 200 |      50.857µs |      172.17.0.1 | GET      "/healthz"
2021-07-19T19:29:20+08:00	�[34minfo�[0m	apisix/cluster.go:143	cache synced	{"cost_time": "12.066283587s", "cluster": "default"}
2021-07-19T19:29:20+08:00	�[33mwarn�[0m	apisix/cluster.go:299	cluster default now is ready, cost time 12.047542292s
2021-07-19T19:29:20+08:00	�[34minfo�[0m	ingress/controller.go:454	controller now is running as leader	{"namespace": "apisix", "pod": "apisix-ingress-controller-69564b5796-4spcx"}
2021-07-19T19:29:20+08:00	�[34minfo�[0m	ingress/apisix_consumer.go:56	ApisixConsumer controller started
2021-07-19T19:29:20+08:00	�[34minfo�[0m	ingress/endpoint.go:60	endpoints controller started
2021-07-19T19:29:20+08:00	�[34minfo�[0m	ingress/apisix_upstream.go:58	ApisixUpstream controller started
2021-07-19T19:29:20+08:00	�[34minfo�[0m	ingress/ingress.go:58	ingress controller started
2021-07-19T19:29:20+08:00	�[34minfo�[0m	ingress/apisix_route.go:57	ApisixRoute controller started
2021-07-19T19:29:20+08:00	�[34minfo�[0m	ingress/apisix_cluster_config.go:57	ApisixClusterConfig controller started
2021-07-19T19:29:20+08:00	�[34minfo�[0m	ingress/apisix_tls.go:58	ApisixTls controller started
2021-07-19T19:29:20+08:00	�[34minfo�[0m	ingress/secret.go:62	secret controller started
2021-07-19T19:29:20+08:00	�[34minfo�[0m	ingress/pod.go:47	pod controller started
E0719 19:29:20.500040       1 reflector.go:138] pkg/mod/k8s.io/[email protected]/tools/cache/reflector.go:167: Failed to watch *v2alpha1.ApisixConsumer: failed to list *v2alpha1.ApisixConsumer: apisixconsumers.apisix.apache.org is forbidden: User "system:serviceaccount:apisix:apisix-ingress-controller" cannot list resource "apisixconsumers" in API group "apisix.apache.org" at the cluster scope

Can't visit other pod in one Node

Hey, I deploy a new grpc service in local k8s and this service can visit in my local, but when I use apisix's upstearm to visit it, this not works.
image
image
image

This is my depolyment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: grpc-node
  labels:
    app: grpc-node
spec:
  replicas: 1
  selector:
    matchLabels:
      app: grpc-node
  template:
    metadata:
      labels:
        app: grpc-node
    spec:
      containers:
      - name: grpc-node
        imagePullPolicy: IfNotPresent
        image: grpc-test-node
        ports:
        - containerPort: 50051

After apply the deployment successful, I run under commands

$ kubectl expose deployment/grpc-node
$ kubectl patch svc grpc-node -p '{"spec": {"type": “NodePort”}}’

need verification in CI

We should add a check in CI to determine whether the dependency in Chart.yaml is consistent with our cached dependency

failed to fetch data from etcd

2020/10/09 09:00:27 [error] 15#15: *8 [lua] config_etcd.lua:351: failed to fetch data from etcd: failed to read etcd dir, etcd key: /apisix/upstreams, context: ngx.timer
2020/10/09 09:00:27 [error] 16#16: *11 [lua] config_etcd.lua:351: failed to fetch data from etcd: failed to read etcd dir, etcd key: /apisix/consumers, context: ngx.timer
2020/10/09 09:00:27 [error] 15#15: *18 [lua] config_etcd.lua:351: failed to fetch data from etcd: failed to read etcd dir, etcd key: /apisix/proto, context: ngx.timer
2020/10/09 09:00:27 [error] 16#16: *10 [lua] config_etcd.lua:351: failed to fetch data from etcd: failed to read etcd dir, etcd key: /apisix/proto, context: ngx.timer
2020/10/09 09:00:27 [error] 16#16: *9 [lua] config_etcd.lua:351: failed to fetch data from etcd: failed to read etcd dir, etcd key: /apisix/services, context: ngx.timer
2020/10/09 09:00:27 [error] 15#15: *17 [lua] config_etcd.lua:351: failed to fetch data from etcd: failed to read etcd dir, etcd key: /apisix/services, context: ngx.timer
2020/10/09 09:00:27 [error] 15#15: *16 [lua] config_etcd.lua:351: failed to fetch data from etcd: failed to read etcd dir, etcd key: /apisix/global_rules, context: ngx.timer
2020/10/09 09:00:27 [error] 16#16: *5 [lua] config_etcd.lua:351: failed to fetch data from etcd: failed to read etcd dir, etcd key: /apisix/routes, context: ngx.timer
2020/10/09 09:00:27 [error] 15#15: *15 [lua] config_etcd.lua:351: failed to fetch data from etcd: failed to read etcd dir, etcd key: /apisix/ssl, context: ngx.timer
2020/10/09 09:00:27 [error] 16#16: *7 [lua] config_etcd.lua:351: failed to fetch data from etcd: failed to read etcd dir, etcd key: /apisix/global_rules, context: ngx.timer
2020/10/09 09:00:27 [error] 15#15: *14 [lua] config_etcd.lua:351: failed to fetch data from etcd: failed to read etcd dir, etcd key: /apisix/routes, context: ngx.timer
2020/10/09 09:00:27 [error] 16#16: *6 [lua] config_etcd.lua:351: failed to fetch data from etcd: failed to read etcd dir, etcd key: /apisix/ssl, context: ngx.timer
2020/10/09 09:00:27 [error] 15#15: *20 [lua] config_etcd.lua:351: failed to fetch data from etcd: failed to read etcd dir, etcd key: /apisix/consumers, context: ngx.timer
2020/10/09 09:00:27 [error] 16#16: *3 [lua] config_etcd.lua:351: failed to fetch data from etcd: failed to read etcd dir, etcd key: /apisix/upstreams, context: ngx.timer
2020/10/09 09:00:32 [error] 15#15: *19 [lua] heartbeat.lua:117: failed to report heartbeat information: timeout, context: ngx.timer

I try to deploy apisix using this chart, I have set “etcd.host" in values.yaml.
But I got the error log. Where is the problem?

CRD definition of ApisixRoute/v2alpha1 is missing from charts/apisix-ingress-control/crds

The newest version of ApisixRoute is v2alpha1.

apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  name: apisixroutes.apisix.apache.org
spec:
  group: apisix.apache.org
  versions:
    - name: v1
      served: true
      storage: false
    - name: v2alpha1
      served: true
      storage: true
  scope: Namespaced
  names:
    plural: apisixroutes
    singular: apisixroute
    kind: ApisixRoute
    shortNames:
      - ar

While the CRD definition in charts/apisix-ingress-controller/crds doesn't contain the v2alpha1, we should add it.

get "" from etcd

I deployed an ETCD outside the container ,apisix pod can not start . The error Info is I deployed an ETCD outside the container

The Charts deployment apisix with etcd error

When I run install directly, the container wait-etcd is always in the init state, and the log prompts bad address

waiting for etcd Wed Dec 30 08:33:51 UTC 2020
nc: bad address 'apisix-rax59c-etcd.helm-test.svc.cluster.local'
waiting for etcd Wed Dec 30 08:33:53 UTC 2020
nc: bad address 'apisix-rax59c-etcd.helm-test.svc.cluster.local'
waiting for etcd Wed Dec 30 08:33:55 UTC 2020
nc: bad address 'apisix-rax59c-etcd.helm-test.svc.cluster.local'

The configuration in the values.yaml file is as follows, without any modification, I am not sure if I need to modify the host?

etcd:
  enabled: true
  host: etcd.host
  prefix: "/apisix"
  timeout: 30

The current situation is that when enable is set to false and an external etcd address is configured, apisix can be deployed and run normally. What do I need to modify so that apisix and etcd can be deployed at the same time? and kubectl describe pod output is as follows

Name:         apisix-rax59c-bd7c7f8d6-2lclh
Namespace:    helm-test
Priority:     0
Node:         node04/10.10.16.242
Start Time:   Wed, 30 Dec 2020 16:29:12 +0800
Labels:       app.kubernetes.io/instance=apisix-rax59c
              app.kubernetes.io/name=apisix
              pod-template-hash=bd7c7f8d6
Annotations:  kubernetes.io/limit-ranger:
                LimitRanger plugin set: memory request for container apisix; memory limit for container apisix; cpu, memory request for init container wai...
Status:       Pending
IP:           10.20.4.107
IPs:
  IP:           10.20.4.107
Controlled By:  ReplicaSet/apisix-rax59c-bd7c7f8d6
Init Containers:
  wait-etcd:
    Container ID:  docker://da4dfc52a9dad093d903a7793a1bc532ff549d0bb4f644858a10c49d7c6728a4
    Image:         busybox:1.28
    Image ID:      docker-pullable://busybox@sha256:141c253bc4c3fd0a201d32dc1f493bcf3fff003b6df416dea4f41046e0f37d47
    Port:          <none>
    Host Port:     <none>
    Command:
      sh
      -c
      until nc -z apisix-rax59c-etcd.helm-test.svc.cluster.local 2379; do echo waiting for etcd `date`; sleep 2; done;
    State:          Running
      Started:      Wed, 30 Dec 2020 16:29:14 +0800
    Ready:          False
    Restart Count:  0
    Limits:
      cpu:     500m
      memory:  500Mi
    Requests:
      cpu:        10m
      memory:     10Mi
    Environment:  <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-mfwp4 (ro)
Containers:
  apisix:
    Container ID:   
    Image:          caelebs/apisix:2.1-1218
    Image ID:       
    Ports:          9080/TCP, 9443/TCP
    Host Ports:     0/TCP, 0/TCP
    State:          Waiting
      Reason:       PodInitializing
    Ready:          False
    Restart Count:  0
    Limits:
      cpu:     2
      memory:  500Mi
    Requests:
      cpu:        50m
      memory:     10Mi
    Readiness:    tcp-socket :9080 delay=10s timeout=1s period=10s #success=1 #failure=6
    Environment:  <none>
    Mounts:
      /usr/local/apisix/conf/config.yaml from apisix-config (rw,path="config.yaml")
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-mfwp4 (ro)
Conditions:
  Type              Status
  Initialized       False 
  Ready             False 
  ContainersReady   False 
  PodScheduled      True 
Volumes:
  apisix-config:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      apisix-rax59c
    Optional:  false
  default-token-mfwp4:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-mfwp4
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  node=node04
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type    Reason     Age        From               Message
  ----    ------     ----       ----               -------
  Normal  Scheduled  <unknown>  default-scheduler  Successfully assigned helm-test/apisix-rax59c-bd7c7f8d6-2lclh to node04
  Normal  Pulled     19m        kubelet, node04    Container image "busybox:1.28" already present on machine
  Normal  Created    19m        kubelet, node04    Created container wait-etcd
  Normal  Started    19m        kubelet, node04    Started container wait-etcd

k8s cluster information

[root@master01 mnt]# grep -A 1 'clusterDNS' /var/lib/kubelet/config.yaml
clusterDNS:
- 10.96.0.10
[root@master01 mnt]# kubectl get service
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   117d
[root@master01 mnt]# kubectl get nodes -o wide
NAME       STATUS   ROLES    AGE    VERSION   INTERNAL-IP    EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION              CONTAINER-RUNTIME
master01   Ready    master   117d   v1.16.9   10.10.16.250   <none>        CentOS Linux 7 (Core)   5.8.5-1.el7.elrepo.x86_64   docker://18.9.6
node01     Ready    node     117d   v1.16.9   10.10.16.251   <none>        CentOS Linux 7 (Core)   5.8.5-1.el7.elrepo.x86_64   docker://18.9.6
node02     Ready    node     117d   v1.16.9   10.10.16.252   <none>        CentOS Linux 7 (Core)   5.8.5-1.el7.elrepo.x86_64   docker://18.9.6
node03     Ready    node     115d   v1.16.9   10.10.16.241   <none>        CentOS Linux 7 (Core)   5.8.5-1.el7.elrepo.x86_64   docker://18.9.6
node04     Ready    node     117d   v1.16.9   10.10.16.242   <none>        CentOS Linux 7 (Core)   5.8.5-1.el7.elrepo.x86_64   docker://18.9.6
node05     Ready    node     117d   v1.16.9   10.10.16.243   <none>        CentOS Linux 7 (Core)   5.8.5-1.el7.elrepo.x86_64   docker://18.9.6
node06     Ready    node     117d   v1.16.9   10.10.16.244   <none>        CentOS Linux 7 (Core)   5.8.5-1.el7.elrepo.x86_64   docker://18.9.6
node07     Ready    node     117d   v1.16.9   10.10.16.245   <none>        CentOS Linux 7 (Core)   5.8.5-1.el7.elrepo.x86_64   docker://18.9.6
node08     Ready    node     117d   v1.16.9   10.10.16.246   <none>        CentOS Linux 7 (Core)   5.8.5-1.el7.elrepo.x86_64   docker://18.9.6
node09     Ready    node     116d   v1.16.9   10.10.16.247   <none>        CentOS Linux 7 (Core)   5.8.5-1.el7.elrepo.x86_64   docker://18.9.6
node10     Ready    node     116d   v1.16.9   10.10.16.248   <none>        CentOS Linux 7 (Core)   5.8.5-1.el7.elrepo.x86_64   docker://18.9.6

bug: RBAC insufficient permissions

Failed to watch *v2alpha1.ApisixClusterConfig: failed to list *v2alpha1.ApisixClusterConfig: apisixclusterconfigs.apisix.apache.org is forbidden: User "system:serviceaccount:apisix:apisix-ingress-controller" cannot list resource "apisixclusterconfigs" in API group "apisix.apache.org" at the cluster sco

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.