When using the Apache APISIX Ingress Controller declarative configuration, often use the kubectl apply
command. Only if the configuration was verified by its Open API V3 Schema definition and its validation webhooks (if any), can the configuration be accepted by Kubernetes.
When the Apache APISIX Ingress Controller watches the resource change, the logic unit of the Apache APISIX Ingress Controller has just started to work. In various operations of the Apache APISIX Ingress Controller, object conversion and more verification will be performed. When the verification fails, the Apache APISIX Ingress Controller will log an error message and will continue to retry until the declared state is successfully synchronized to APISIX.
Therefore, after the declarative configuration is accepted by Kubernetes, it does not mean that the configuration is synchronized to APISIX.
In this practice, we will show how to check the status of CRD.
e.g.
kubectl apply -f - <<EOF apiVersion: apisix.apache.org/v2beta1 kind: ApisixRoute metadata: name: httpbin-route spec: http: - name: rule1 match: hosts: - httpbin.com paths: - /ip backend: serviceName: httpbin-service-e2e-test servicePort: 80 EOF
kubectl describe ar -n test httpbin-route
Then, will see the status of httpbin-route
resource.
... Status: Conditions: Last Transition time: 2021-06-06T09:50:22Z Message: Sync Successfully Reason: ResourceSynced Status: True Type: ReousrceReady ...
ApisixUpstream
ApisixTls
ApisixClusterConfig
ApisixConsumer
If can not see the Status information, please check the following points: