Closed bartelsielski closed 6 years ago
@bartelsielski I ran into the same issue as you. Did you figure out a workaround?
/cc @shashidharatd
@danehans As far as I've tested (which isn't that far), DNS records defined in the CRDs still get created. The status
field of the CRD object just won't get updated. So a possible workaround could be to just ignore the warning (I haven't done any in depth testing so this might not be a viable workaround in the long run).
In my case, I also ran into this issue, and I found that "CustomResourceSubresources" feature gate was set to default ("false") in my cluster. I set this to "true" and re-created CRD, then created CR again, then everything works.
minikube v0.28.2
still deploys kubernets v1.10. Try:
minikube start --kubernetes-version v1.11.3
So I verified both solutions mentioned above:
CustomResourceSubresources
feature gate in Kubernetes v1.10CustomResourceSubresources
feature gate is enabled by default in this version)Thanks for the help guys.
When using the new DNSEndpoint CRD, external-dns continuously logs
the server could not find the requested resource
. The DNS records defined in the CRDs are correctly created.Full logs:
Using minikube version v0.28.2 (default configuration). The cluster is set up with the following configuration:
RBAC yaml
```yaml apiVersion: v1 kind: ServiceAccount metadata: name: external-dns --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: external-dns roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: external-dns subjects: - kind: ServiceAccount name: external-dns namespace: default --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRole metadata: labels: app: external-dns heritage: Tiller release: external-dns chart: external-dns-0.7.6 name: external-dns rules: - apiGroups: - "" - extensions resources: - ingresses - services - pods - nodes verbs: - get - list - watch - apiGroups: - externaldns.k8s.io resources: - '*' verbs: - get - list - watch - apiGroups: - externaldns.k8s.io resources: - dnsendpoints/status verbs: - '*' ```
DNSEndpoint custom resource definition yaml
```yaml apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: dnsendpoints.externaldns.k8s.io labels: api: externaldns spec: version: v1alpha1 group: externaldns.k8s.io names: kind: DNSEndpoint plural: dnsendpoints scope: Namespaced subresources: status: {} validation: openAPIV3Schema: properties: apiVersion: type: string kind: type: string metadata: type: object spec: type: object properties: endpoints: type: array items: type: object properties: dnsName: type: string labels: type: object providerSpecific: type: object recordTTL: type: integer format: int64 recordType: type: string targets: type: array items: type: string status: type: object properties: observedGeneration: format: int64 type: integer ```
DNSEndpoint example record yaml
```yaml apiVersion: externaldns.k8s.io/v1alpha1 kind: DNSEndpoint metadata: name: examplednsrecord spec: endpoints: - dnsName: hello.example.com recordTTL: 180 recordType: A targets: - 127.0.0.1 ```
external-dns is installed using helm with the following values:
Helm values yaml
```yaml provider: inmemory sources: - crd extraArgs: crd-source-apiversion: externaldns.k8s.io/v1alpha1 rbac: create: false serviceAccountName: external-dns txtOwnerId: testing-crd logLevel: debug ```