mirror of
https://github.com/kubernetes-sigs/external-dns.git
synced 2025-08-06 09:36:58 +02:00
Merge branch 'master' into raffo/docs-v0.15.0
This commit is contained in:
commit
4117398643
14
README.md
14
README.md
@ -160,7 +160,7 @@ The following tutorials are provided:
|
|||||||
* AWS
|
* AWS
|
||||||
* [AWS Load Balancer Controller](docs/tutorials/aws-load-balancer-controller.md)
|
* [AWS Load Balancer Controller](docs/tutorials/aws-load-balancer-controller.md)
|
||||||
* [Route53](docs/tutorials/aws.md)
|
* [Route53](docs/tutorials/aws.md)
|
||||||
* [Same domain for public and private Route53 zones](docs/tutorials/public-private-route53.md)
|
* [Same domain for public and private Route53 zones](docs/tutorials/aws-public-private-route53.md)
|
||||||
* [Cloud Map](docs/tutorials/aws-sd.md)
|
* [Cloud Map](docs/tutorials/aws-sd.md)
|
||||||
* [Kube Ingress AWS Controller](docs/tutorials/kube-ingress-aws.md)
|
* [Kube Ingress AWS Controller](docs/tutorials/kube-ingress-aws.md)
|
||||||
* [Azure DNS](docs/tutorials/azure.md)
|
* [Azure DNS](docs/tutorials/azure.md)
|
||||||
@ -174,15 +174,13 @@ The following tutorials are provided:
|
|||||||
* [ExternalName Services](docs/tutorials/externalname.md)
|
* [ExternalName Services](docs/tutorials/externalname.md)
|
||||||
* Google Kubernetes Engine
|
* Google Kubernetes Engine
|
||||||
* [Using Google's Default Ingress Controller](docs/tutorials/gke.md)
|
* [Using Google's Default Ingress Controller](docs/tutorials/gke.md)
|
||||||
* [Using the Nginx Ingress Controller](docs/tutorials/nginx-ingress.md)
|
* [Using the Nginx Ingress Controller](docs/tutorials/gke-nginx.md)
|
||||||
* [Headless Services](docs/tutorials/hostport.md)
|
* [Headless Services](docs/tutorials/hostport.md)
|
||||||
* [Istio Gateway Source](docs/tutorials/istio.md)
|
* [Istio Gateway Source](docs/sources/istio.md)
|
||||||
* [Kubernetes Security Context](docs/tutorials/security-context.md)
|
|
||||||
* [Linode](docs/tutorials/linode.md)
|
* [Linode](docs/tutorials/linode.md)
|
||||||
* [Nginx Ingress Controller](docs/tutorials/nginx-ingress.md)
|
|
||||||
* [NS1](docs/tutorials/ns1.md)
|
* [NS1](docs/tutorials/ns1.md)
|
||||||
* [NS Record Creation with CRD Source](docs/tutorials/ns-record.md)
|
* [NS Record Creation with CRD Source](docs/sources/ns-record.md)
|
||||||
* [MX Record Creation with CRD Source](docs/tutorials/mx-record.md)
|
* [MX Record Creation with CRD Source](docs/sources/mx-record.md)
|
||||||
* [OpenStack Designate](docs/tutorials/designate.md)
|
* [OpenStack Designate](docs/tutorials/designate.md)
|
||||||
* [Oracle Cloud Infrastructure (OCI) DNS](docs/tutorials/oracle.md)
|
* [Oracle Cloud Infrastructure (OCI) DNS](docs/tutorials/oracle.md)
|
||||||
* [PowerDNS](docs/tutorials/pdns.md)
|
* [PowerDNS](docs/tutorials/pdns.md)
|
||||||
@ -195,7 +193,7 @@ The following tutorials are provided:
|
|||||||
* [GoDaddy](docs/tutorials/godaddy.md)
|
* [GoDaddy](docs/tutorials/godaddy.md)
|
||||||
* [Gandi](docs/tutorials/gandi.md)
|
* [Gandi](docs/tutorials/gandi.md)
|
||||||
* [IBM Cloud](docs/tutorials/ibmcloud.md)
|
* [IBM Cloud](docs/tutorials/ibmcloud.md)
|
||||||
* [Nodes as source](docs/tutorials/nodes.md)
|
* [Nodes as source](docs/sources/nodes.md)
|
||||||
* [TencentCloud](docs/tutorials/tencentcloud.md)
|
* [TencentCloud](docs/tutorials/tencentcloud.md)
|
||||||
* [Plural](docs/tutorials/plural.md)
|
* [Plural](docs/tutorials/plural.md)
|
||||||
* [Pi-hole](docs/tutorials/pihole.md)
|
* [Pi-hole](docs/tutorials/pihole.md)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Sources
|
# About
|
||||||
|
|
||||||
| Source | Resources | annotation-filter | label-filter |
|
| Source | Resources | annotation-filter | label-filter |
|
||||||
|---------------------------------|-------------------------------------------------------------------------------|-------------------|--------------|
|
|---------------------------------|-------------------------------------------------------------------------------|-------------------|--------------|
|
@ -1,4 +1,4 @@
|
|||||||
# Configuring ExternalDNS to use the F5 Networks VirtualServer Source
|
# F5 Networks VirtualServer Source
|
||||||
This tutorial describes how to configure ExternalDNS to use the F5 Networks VirtualServer Source. It is meant to supplement the other provider-specific setup tutorials.
|
This tutorial describes how to configure ExternalDNS to use the F5 Networks VirtualServer Source. It is meant to supplement the other provider-specific setup tutorials.
|
||||||
|
|
||||||
The F5 Networks VirtualServer CRD is part of [this](https://github.com/F5Networks/k8s-bigip-ctlr) project. See more in-depth info regarding the VirtualServer CRD [here](https://github.com/F5Networks/k8s-bigip-ctlr/blob/master/docs/config_examples/customResource/CustomResource.md#virtualserver).
|
The F5 Networks VirtualServer CRD is part of [this](https://github.com/F5Networks/k8s-bigip-ctlr) project. See more in-depth info regarding the VirtualServer CRD [here](https://github.com/F5Networks/k8s-bigip-ctlr/blob/master/docs/config_examples/customResource/CustomResource.md#virtualserver).
|
@ -1,4 +1,4 @@
|
|||||||
# Configuring ExternalDNS to use Gateway API Route Sources
|
# Gateway API Route Sources
|
||||||
|
|
||||||
This describes how to configure ExternalDNS to use Gateway API Route sources.
|
This describes how to configure ExternalDNS to use Gateway API Route sources.
|
||||||
It is meant to supplement the other provider-specific setup tutorials.
|
It is meant to supplement the other provider-specific setup tutorials.
|
@ -1,4 +1,4 @@
|
|||||||
# Configuring ExternalDNS to use the Gloo Proxy Source
|
# Gloo Proxy Source
|
||||||
This tutorial describes how to configure ExternalDNS to use the Gloo Proxy source.
|
This tutorial describes how to configure ExternalDNS to use the Gloo Proxy source.
|
||||||
It is meant to supplement the other provider-specific setup tutorials.
|
It is meant to supplement the other provider-specific setup tutorials.
|
||||||
|
|
@ -1,4 +1,5 @@
|
|||||||
# Configuring ExternalDNS to use the Istio Gateway and/or Istio Virtual Service Source
|
# Istio Gateway / Virtual Service Source
|
||||||
|
|
||||||
This tutorial describes how to configure ExternalDNS to use the Istio Gateway source.
|
This tutorial describes how to configure ExternalDNS to use the Istio Gateway source.
|
||||||
It is meant to supplement the other provider-specific setup tutorials.
|
It is meant to supplement the other provider-specific setup tutorials.
|
||||||
|
|
||||||
@ -43,6 +44,7 @@ spec:
|
|||||||
```
|
```
|
||||||
|
|
||||||
### Manifest (for clusters with RBAC enabled)
|
### Manifest (for clusters with RBAC enabled)
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: ServiceAccount
|
kind: ServiceAccount
|
||||||
@ -150,7 +152,9 @@ $ kubectl apply -f <(istioctl kube-inject -f https://raw.githubusercontent.com/i
|
|||||||
```
|
```
|
||||||
|
|
||||||
#### Using a Gateway as a source
|
#### Using a Gateway as a source
|
||||||
|
|
||||||
##### Create an Istio Gateway:
|
##### Create an Istio Gateway:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ cat <<EOF | kubectl apply -f -
|
$ cat <<EOF | kubectl apply -f -
|
||||||
apiVersion: networking.istio.io/v1alpha3
|
apiVersion: networking.istio.io/v1alpha3
|
||||||
@ -172,6 +176,7 @@ EOF
|
|||||||
```
|
```
|
||||||
|
|
||||||
##### Configure routes for traffic entering via the Gateway:
|
##### Configure routes for traffic entering via the Gateway:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ cat <<EOF | kubectl apply -f -
|
$ cat <<EOF | kubectl apply -f -
|
||||||
apiVersion: networking.istio.io/v1alpha3
|
apiVersion: networking.istio.io/v1alpha3
|
||||||
@ -200,6 +205,7 @@ EOF
|
|||||||
#### Using a VirtualService as a source
|
#### Using a VirtualService as a source
|
||||||
|
|
||||||
##### Create an Istio Gateway:
|
##### Create an Istio Gateway:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ cat <<EOF | kubectl apply -f -
|
$ cat <<EOF | kubectl apply -f -
|
||||||
apiVersion: networking.istio.io/v1alpha3
|
apiVersion: networking.istio.io/v1alpha3
|
||||||
@ -221,6 +227,7 @@ EOF
|
|||||||
```
|
```
|
||||||
|
|
||||||
##### Configure routes for traffic entering via the Gateway:
|
##### Configure routes for traffic entering via the Gateway:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ cat <<EOF | kubectl apply -f -
|
$ cat <<EOF | kubectl apply -f -
|
||||||
apiVersion: networking.istio.io/v1alpha3
|
apiVersion: networking.istio.io/v1alpha3
|
@ -1,8 +1,10 @@
|
|||||||
# Configuring ExternalDNS to use the Kong TCPIngress Source
|
# Kong TCPIngress Source
|
||||||
|
|
||||||
This tutorial describes how to configure ExternalDNS to use the Kong TCPIngress source.
|
This tutorial describes how to configure ExternalDNS to use the Kong TCPIngress source.
|
||||||
It is meant to supplement the other provider-specific setup tutorials.
|
It is meant to supplement the other provider-specific setup tutorials.
|
||||||
|
|
||||||
### Manifest (for clusters without RBAC enabled)
|
### Manifest (for clusters without RBAC enabled)
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
@ -1,4 +1,4 @@
|
|||||||
# Creating MX record with CRD source
|
# MX record with CRD source
|
||||||
|
|
||||||
You can create and manage MX records with the help of [CRD source](../contributing/crd-source.md)
|
You can create and manage MX records with the help of [CRD source](../contributing/crd-source.md)
|
||||||
and `DNSEndpoint` CRD. Currently, this feature is only supported by `aws`, `azure`, and `google` providers.
|
and `DNSEndpoint` CRD. Currently, this feature is only supported by `aws`, `azure`, and `google` providers.
|
@ -1,4 +1,4 @@
|
|||||||
# Configuring ExternalDNS to use Cluster Nodes as Source
|
# Cluster Nodes as Source
|
||||||
|
|
||||||
This tutorial describes how to configure ExternalDNS to use the cluster nodes as source.
|
This tutorial describes how to configure ExternalDNS to use the cluster nodes as source.
|
||||||
Using nodes (`--source=node`) as source is possible to synchronize a DNS zone with the nodes of a cluster.
|
Using nodes (`--source=node`) as source is possible to synchronize a DNS zone with the nodes of a cluster.
|
@ -1,4 +1,4 @@
|
|||||||
# Creating NS record with CRD source
|
# NS record with CRD source
|
||||||
|
|
||||||
You can create NS records with the help of [CRD source](../contributing/crd-source.md)
|
You can create NS records with the help of [CRD source](../contributing/crd-source.md)
|
||||||
and `DNSEndpoint` CRD.
|
and `DNSEndpoint` CRD.
|
@ -1,4 +1,5 @@
|
|||||||
# Configuring ExternalDNS to use the OpenShift Route Source
|
# OpenShift Route Source
|
||||||
|
|
||||||
This tutorial describes how to configure ExternalDNS to use the OpenShift Route source.
|
This tutorial describes how to configure ExternalDNS to use the OpenShift Route source.
|
||||||
It is meant to supplement the other provider-specific setup tutorials.
|
It is meant to supplement the other provider-specific setup tutorials.
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
# Configuring ExternalDNS to use the Traefik Proxy Source
|
# Traefik Proxy Source
|
||||||
|
|
||||||
This tutorial describes how to configure ExternalDNS to use the Traefik Proxy source.
|
This tutorial describes how to configure ExternalDNS to use the Traefik Proxy source.
|
||||||
It is meant to supplement the other provider-specific setup tutorials.
|
It is meant to supplement the other provider-specific setup tutorials.
|
||||||
@ -96,7 +96,9 @@ spec:
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Deploying a Traefik IngressRoute
|
## Deploying a Traefik IngressRoute
|
||||||
|
|
||||||
Create a IngressRoute file called 'traefik-ingress.yaml' with the following contents:
|
Create a IngressRoute file called 'traefik-ingress.yaml' with the following contents:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
apiVersion: traefik.io/v1alpha1
|
apiVersion: traefik.io/v1alpha1
|
||||||
kind: IngressRoute
|
kind: IngressRoute
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up External-DNS for Services on Akamai Edge DNS
|
# Akamai Edge DNS
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS for Services on Alibaba Cloud
|
# Alibaba Cloud
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster on Alibaba Cloud. Make sure to use **>=0.5.6** version of ExternalDNS for this tutorial
|
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster on Alibaba Cloud. Make sure to use **>=0.5.6** version of ExternalDNS for this tutorial
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Using ExternalDNS with aws-load-balancer-controller
|
# AWS Load Balancer Controller
|
||||||
|
|
||||||
This tutorial describes how to use ExternalDNS with the [aws-load-balancer-controller][1].
|
This tutorial describes how to use ExternalDNS with the [aws-load-balancer-controller][1].
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
# Setting up ExternalDNS using the same domain for public and private Route53 zones
|
# AWS Route53 with same domain for public and private zones
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS using the same domain for public and private Route53 zones and [nginx-ingress-controller](https://github.com/kubernetes/ingress-nginx). It also outlines how to use [cert-manager](https://github.com/jetstack/cert-manager) to automatically issue SSL certificates from [Let's Encrypt](https://letsencrypt.org/) for both public and private records.
|
This tutorial describes how to setup ExternalDNS using the same domain for public and private Route53 zones and [nginx-ingress-controller](https://github.com/kubernetes/ingress-nginx). It also outlines how to use [cert-manager](https://github.com/jetstack/cert-manager) to automatically issue SSL certificates from [Let's Encrypt](https://letsencrypt.org/) for both public and private records.
|
||||||
|
|
||||||
## Deploy public nginx-ingress-controller
|
## Deploy public nginx-ingress-controller
|
||||||
|
|
||||||
Consult [External DNS nginx ingress docs](nginx-ingress.md) for installation guidelines.
|
You may be interested with [GKE with nginx ingress](gke-nginx.md) for installation guidelines.
|
||||||
|
|
||||||
Specify `ingress-class` in nginx-ingress-controller container args:
|
Specify `ingress-class` in nginx-ingress-controller container args:
|
||||||
|
|
||||||
@ -107,8 +107,6 @@ spec:
|
|||||||
|
|
||||||
## Deploy private nginx-ingress-controller
|
## Deploy private nginx-ingress-controller
|
||||||
|
|
||||||
Consult [External DNS nginx ingress docs](nginx-ingress.md) for installation guidelines.
|
|
||||||
|
|
||||||
Make sure to specify `ingress-class` in nginx-ingress-controller container args:
|
Make sure to specify `ingress-class` in nginx-ingress-controller container args:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS using AWS Cloud Map API
|
# AWS Cloud Map API
|
||||||
|
|
||||||
This tutorial describes how to set up ExternalDNS for usage within a Kubernetes cluster with [AWS Cloud Map API](https://docs.aws.amazon.com/cloud-map/).
|
This tutorial describes how to set up ExternalDNS for usage within a Kubernetes cluster with [AWS Cloud Map API](https://docs.aws.amazon.com/cloud-map/).
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS for Services on AWS
|
# AWS
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster on AWS. Make sure to use **>=0.15.0** version of ExternalDNS for this tutorial
|
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster on AWS. Make sure to use **>=0.15.0** version of ExternalDNS for this tutorial
|
||||||
|
|
||||||
@ -525,7 +525,7 @@ Annotations which are specific to AWS.
|
|||||||
|
|
||||||
### alias
|
### alias
|
||||||
|
|
||||||
`external-dns.alpha.kubernetes.io/alias` if set to `true` on an ingress, it will create an ALIAS record when the target is an ALIAS as well. To make the target an alias, the ingress needs to be configured correctly as described in [the docs](./nginx-ingress.md#with-a-separate-tcp-load-balancer). In particular, the argument `--publish-service=default/nginx-ingress-controller` has to be set on the `nginx-ingress-controller` container. If one uses the `nginx-ingress` Helm chart, this flag can be set with the `controller.publishService.enabled` configuration option.
|
`external-dns.alpha.kubernetes.io/alias` if set to `true` on an ingress, it will create an ALIAS record when the target is an ALIAS as well. To make the target an alias, the ingress needs to be configured correctly as described in [the docs](./gke-nginx.md#with-a-separate-tcp-load-balancer). In particular, the argument `--publish-service=default/nginx-ingress-controller` has to be set on the `nginx-ingress-controller` container. If one uses the `nginx-ingress` Helm chart, this flag can be set with the `controller.publishService.enabled` configuration option.
|
||||||
|
|
||||||
### target-hosted-zone
|
### target-hosted-zone
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Set up ExternalDNS for Azure Private DNS
|
# Azure Private DNS
|
||||||
|
|
||||||
This tutorial describes how to set up ExternalDNS for managing records in Azure Private DNS.
|
This tutorial describes how to set up ExternalDNS for managing records in Azure Private DNS.
|
||||||
|
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
|
# Azure DNS
|
||||||
# Setting up ExternalDNS for Services on Azure
|
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for [Azure DNS](https://azure.microsoft.com/services/dns/) with [Azure Kubernetes Service](https://docs.microsoft.com/azure/aks/).
|
This tutorial describes how to setup ExternalDNS for [Azure DNS](https://azure.microsoft.com/services/dns/) with [Azure Kubernetes Service](https://docs.microsoft.com/azure/aks/).
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS for Services on Civo
|
# Civo DNS
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using Civo DNS Manager.
|
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using Civo DNS Manager.
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS for Services on Cloudflare
|
# Cloudflare DNS
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using Cloudflare DNS.
|
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using Cloudflare DNS.
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up External DNS with Contour
|
# Contour HTTPProxy
|
||||||
|
|
||||||
This tutorial describes how to configure External DNS to use the Contour `HTTPProxy` source.
|
This tutorial describes how to configure External DNS to use the Contour `HTTPProxy` source.
|
||||||
Using the `HTTPProxy` resource with External DNS requires Contour version 1.5 or greater.
|
Using the `HTTPProxy` resource with External DNS requires Contour version 1.5 or greater.
|
||||||
|
@ -1,39 +1,56 @@
|
|||||||
# Setting up ExternalDNS for CoreDNS with minikube
|
# CoreDNS with minikube
|
||||||
|
|
||||||
|
:warning: This tutorial is out of date.
|
||||||
|
|
||||||
|
:information_source: PRs to update it are welcome !
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for usage within a [minikube](https://github.com/kubernetes/minikube) cluster that makes use of [CoreDNS](https://github.com/coredns/coredns) and [nginx ingress controller](https://github.com/kubernetes/ingress-nginx).
|
This tutorial describes how to setup ExternalDNS for usage within a [minikube](https://github.com/kubernetes/minikube) cluster that makes use of [CoreDNS](https://github.com/coredns/coredns) and [nginx ingress controller](https://github.com/kubernetes/ingress-nginx).
|
||||||
|
|
||||||
You need to:
|
You need to:
|
||||||
|
|
||||||
* install CoreDNS with [etcd](https://github.com/etcd-io/etcd) enabled
|
* install CoreDNS with [etcd](https://github.com/etcd-io/etcd) enabled
|
||||||
* install external-dns with coredns as a provider
|
* install external-dns with coredns as a provider
|
||||||
* enable ingress controller for the minikube cluster
|
* enable ingress controller for the minikube cluster
|
||||||
|
|
||||||
|
|
||||||
## Creating a cluster
|
## Creating a cluster
|
||||||
```
|
|
||||||
|
```shell
|
||||||
minikube start
|
minikube start
|
||||||
```
|
```
|
||||||
|
|
||||||
## Installing CoreDNS with etcd enabled
|
## Installing CoreDNS with etcd enabled
|
||||||
|
|
||||||
Helm chart is used to install etcd and CoreDNS.
|
Helm chart is used to install etcd and CoreDNS.
|
||||||
|
|
||||||
### Initializing helm chart
|
### Initializing helm chart
|
||||||
```
|
|
||||||
|
```shell
|
||||||
helm init
|
helm init
|
||||||
```
|
```
|
||||||
|
|
||||||
### Installing etcd
|
### Installing etcd
|
||||||
|
|
||||||
[etcd operator](https://github.com/coreos/etcd-operator) is used to manage etcd clusters.
|
[etcd operator](https://github.com/coreos/etcd-operator) is used to manage etcd clusters.
|
||||||
```
|
```
|
||||||
helm install stable/etcd-operator --name my-etcd-op
|
helm install stable/etcd-operator --name my-etcd-op
|
||||||
```
|
```
|
||||||
|
|
||||||
etcd cluster is installed with example yaml from etcd operator website.
|
etcd cluster is installed with example yaml from etcd operator website.
|
||||||
```
|
|
||||||
|
```shell
|
||||||
kubectl apply -f https://raw.githubusercontent.com/coreos/etcd-operator/HEAD/example/example-etcd-cluster.yaml
|
kubectl apply -f https://raw.githubusercontent.com/coreos/etcd-operator/HEAD/example/example-etcd-cluster.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
### Installing CoreDNS
|
### Installing CoreDNS
|
||||||
|
|
||||||
In order to make CoreDNS work with etcd backend, values.yaml of the chart should be changed with corresponding configurations.
|
In order to make CoreDNS work with etcd backend, values.yaml of the chart should be changed with corresponding configurations.
|
||||||
|
|
||||||
```
|
```
|
||||||
wget https://raw.githubusercontent.com/helm/charts/HEAD/stable/coredns/values.yaml
|
wget https://raw.githubusercontent.com/helm/charts/HEAD/stable/coredns/values.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
You need to edit/patch the file with below diff
|
You need to edit/patch the file with below diff
|
||||||
|
|
||||||
```diff
|
```diff
|
||||||
diff --git a/values.yaml b/values.yaml
|
diff --git a/values.yaml b/values.yaml
|
||||||
index 964e72b..e2fa934 100644
|
index 964e72b..e2fa934 100644
|
||||||
@ -68,23 +85,29 @@ index 964e72b..e2fa934 100644
|
|||||||
# Complete example with all the options:
|
# Complete example with all the options:
|
||||||
# - zones: # the `zones` block can be left out entirely, defaults to "."
|
# - zones: # the `zones` block can be left out entirely, defaults to "."
|
||||||
```
|
```
|
||||||
|
|
||||||
**Note**:
|
**Note**:
|
||||||
|
|
||||||
* IP address of etcd's endpoint should be get from etcd client service. It should be "example-etcd-cluster-client" in this example. This IP address is used through this document for etcd endpoint configuration.
|
* IP address of etcd's endpoint should be get from etcd client service. It should be "example-etcd-cluster-client" in this example. This IP address is used through this document for etcd endpoint configuration.
|
||||||
```
|
|
||||||
|
```shell
|
||||||
$ kubectl get svc example-etcd-cluster-client
|
$ kubectl get svc example-etcd-cluster-client
|
||||||
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
||||||
example-etcd-cluster-client ClusterIP 10.105.68.165 <none> 2379/TCP 16m
|
example-etcd-cluster-client ClusterIP 10.105.68.165 <none> 2379/TCP 16m
|
||||||
```
|
```
|
||||||
|
|
||||||
* Parameters should configure your own domain. "example.org" is used in this example.
|
* Parameters should configure your own domain. "example.org" is used in this example.
|
||||||
|
|
||||||
|
|
||||||
After configuration done in values.yaml, you can install coredns chart.
|
After configuration done in values.yaml, you can install coredns chart.
|
||||||
```
|
|
||||||
|
```shell
|
||||||
helm install --name my-coredns --values values.yaml stable/coredns
|
helm install --name my-coredns --values values.yaml stable/coredns
|
||||||
```
|
```
|
||||||
|
|
||||||
## Installing ExternalDNS
|
## Installing ExternalDNS
|
||||||
|
|
||||||
### Install external ExternalDNS
|
### Install external ExternalDNS
|
||||||
|
|
||||||
ETCD_URLS is configured to etcd client service address.
|
ETCD_URLS is configured to etcd client service address.
|
||||||
Optionally, you can configure ETCD_USERNAME and ETCD_PASSWORD for authenticating to etcd. It is also possible to connect to the etcd cluster via HTTPS using the following environment variables: ETCD_CA_FILE, ETCD_CERT_FILE, ETCD_KEY_FILE, ETCD_TLS_SERVER_NAME, ETCD_TLS_INSECURE.
|
Optionally, you can configure ETCD_USERNAME and ETCD_PASSWORD for authenticating to etcd. It is also possible to connect to the etcd cluster via HTTPS using the following environment variables: ETCD_CA_FILE, ETCD_CERT_FILE, ETCD_KEY_FILE, ETCD_TLS_SERVER_NAME, ETCD_TLS_INSECURE.
|
||||||
|
|
||||||
@ -187,13 +210,16 @@ spec:
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Enable the ingress controller
|
## Enable the ingress controller
|
||||||
|
|
||||||
You can use the ingress controller in minikube cluster. It needs to enable ingress addon in the cluster.
|
You can use the ingress controller in minikube cluster. It needs to enable ingress addon in the cluster.
|
||||||
```
|
|
||||||
|
```shell
|
||||||
minikube addons enable ingress
|
minikube addons enable ingress
|
||||||
```
|
```
|
||||||
|
|
||||||
## Testing ingress example
|
## Testing ingress example
|
||||||
```
|
|
||||||
|
```shell
|
||||||
$ cat ingress.yaml
|
$ cat ingress.yaml
|
||||||
apiVersion: networking.k8s.io/v1
|
apiVersion: networking.k8s.io/v1
|
||||||
kind: Ingress
|
kind: Ingress
|
||||||
@ -213,9 +239,9 @@ $ kubectl apply -f ingress.yaml
|
|||||||
ingress.extensions "nginx" created
|
ingress.extensions "nginx" created
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
Wait a moment until DNS has the ingress IP. The DNS service IP is from CoreDNS service. It is "my-coredns-coredns" in this example.
|
Wait a moment until DNS has the ingress IP. The DNS service IP is from CoreDNS service. It is "my-coredns-coredns" in this example.
|
||||||
```
|
|
||||||
|
```shell
|
||||||
$ kubectl get svc my-coredns-coredns
|
$ kubectl get svc my-coredns-coredns
|
||||||
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
||||||
my-coredns-coredns ClusterIP 10.100.4.143 <none> 53/UDP 12m
|
my-coredns-coredns ClusterIP 10.100.4.143 <none> 53/UDP 12m
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS for Services on OpenStack Designate
|
# Designate DNS from OpenStack
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using OpenStack Designate DNS.
|
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using OpenStack Designate DNS.
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS for Services on DigitalOcean
|
# DigitalOcean DNS
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using DigitalOcean DNS.
|
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using DigitalOcean DNS.
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS for Services on DNSimple
|
# DNSimple
|
||||||
|
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for usage with DNSimple.
|
This tutorial describes how to setup ExternalDNS for usage with DNSimple.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS for Exoscale
|
# Exoscale
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS for ExternalName Services
|
# ExternalName Services
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for usage in conjunction with an ExternalName service.
|
This tutorial describes how to setup ExternalDNS for usage in conjunction with an ExternalName service.
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS for Services on Gandi
|
# Gandi
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using Gandi.
|
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using Gandi.
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS on GKE with nginx-ingress-controller
|
# GKE with nginx-ingress-controller
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for usage within a GKE cluster that doesn't make use of Google's [default ingress controller](https://github.com/kubernetes/ingress-gce) but rather uses [nginx-ingress-controller](https://github.com/kubernetes/ingress-nginx) for that task.
|
This tutorial describes how to setup ExternalDNS for usage within a GKE cluster that doesn't make use of Google's [default ingress controller](https://github.com/kubernetes/ingress-gce) but rather uses [nginx-ingress-controller](https://github.com/kubernetes/ingress-nginx) for that task.
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS on Google Kubernetes Engine
|
# GKE with default controller
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for usage within a [GKE](https://cloud.google.com/kubernetes-engine) ([Google Kuberentes Engine](https://cloud.google.com/kubernetes-engine)) cluster. Make sure to use **>=0.11.0** version of ExternalDNS for this tutorial
|
This tutorial describes how to setup ExternalDNS for usage within a [GKE](https://cloud.google.com/kubernetes-engine) ([Google Kuberentes Engine](https://cloud.google.com/kubernetes-engine)) cluster. Make sure to use **>=0.11.0** version of ExternalDNS for this tutorial
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS for Services on GoDaddy
|
# GoDaddy
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for use within a
|
This tutorial describes how to setup ExternalDNS for use within a
|
||||||
Kubernetes cluster using GoDaddy DNS.
|
Kubernetes cluster using GoDaddy DNS.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS for Headless Services
|
# Headless Services
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for usage in conjunction with a Headless service.
|
This tutorial describes how to setup ExternalDNS for usage in conjunction with a Headless service.
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS for Services on IBMCloud
|
# IBMCloud
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using IBMCloud DNS.
|
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using IBMCloud DNS.
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# kOps dns-controller compatibility mode
|
# kOps dns-controller
|
||||||
|
|
||||||
kOps includes a dns-controller that is primarily used to bootstrap the cluster, but can also be used for provisioning DNS entries for Services and Ingress.
|
kOps includes a dns-controller that is primarily used to bootstrap the cluster, but can also be used for provisioning DNS entries for Services and Ingress.
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Using ExternalDNS with kube-ingress-aws-controller
|
# kube-ingress-aws-controller
|
||||||
|
|
||||||
This tutorial describes how to use ExternalDNS with the [kube-ingress-aws-controller][1].
|
This tutorial describes how to use ExternalDNS with the [kube-ingress-aws-controller][1].
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS for Services on Linode
|
# Linode
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using Linode DNS Manager.
|
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using Linode DNS Manager.
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS for Services on NS1
|
# NS1
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for use within a
|
This tutorial describes how to setup ExternalDNS for use within a
|
||||||
Kubernetes cluster using NS1 DNS.
|
Kubernetes cluster using NS1 DNS.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS for Oracle Cloud Infrastructure (OCI)
|
# Oracle Cloud Infrastructure
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using OCI DNS.
|
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using OCI DNS.
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS for Services on OVH
|
# OVHcloud
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for use within a
|
This tutorial describes how to setup ExternalDNS for use within a
|
||||||
Kubernetes cluster using OVH DNS.
|
Kubernetes cluster using OVH DNS.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS for PowerDNS
|
# PowerDNS
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS for Pi-hole
|
# Pi-hole
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS to sync records with Pi-hole's Custom DNS.
|
This tutorial describes how to setup ExternalDNS to sync records with Pi-hole's Custom DNS.
|
||||||
Pi-hole has an internal list it checks last when resolving requests. This list can contain any number of arbitrary A, AAAA or CNAME records.
|
Pi-hole has an internal list it checks last when resolving requests. This list can contain any number of arbitrary A, AAAA or CNAME records.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS for Services on Plural
|
# Plural
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using Plural DNS.
|
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using Plural DNS.
|
||||||
|
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
# Setting up ExternalDNS for RancherDNS(RDNS) with kubernetes
|
# RancherDNS
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for usage within a kubernetes cluster that makes use of [RDNS](https://github.com/rancher/rdns-server) and [nginx ingress controller](https://github.com/kubernetes/ingress-nginx).
|
This tutorial describes how to setup ExternalDNS for usage within a kubernetes cluster that makes use of [RDNS](https://github.com/rancher/rdns-server) and [nginx ingress controller](https://github.com/kubernetes/ingress-nginx).
|
||||||
|
|
||||||
You need to:
|
You need to:
|
||||||
|
|
||||||
* install RDNS with [etcd](https://github.com/etcd-io/etcd) enabled
|
* install RDNS with [etcd](https://github.com/etcd-io/etcd) enabled
|
||||||
* install external-dns with rdns as a provider
|
* install external-dns with rdns as a provider
|
||||||
|
|
||||||
|
@ -1,17 +1,21 @@
|
|||||||
# Configuring RFC2136 provider
|
# RFC2136 provider
|
||||||
|
|
||||||
This tutorial describes how to use the RFC2136 with either BIND or Windows DNS.
|
This tutorial describes how to use the RFC2136 with either BIND or Windows DNS.
|
||||||
|
|
||||||
## Using with BIND
|
## Using with BIND
|
||||||
|
|
||||||
To use external-dns with BIND: generate/procure a key, configure DNS and add a
|
To use external-dns with BIND: generate/procure a key, configure DNS and add a
|
||||||
deployment of external-dns.
|
deployment of external-dns.
|
||||||
|
|
||||||
### Server credentials:
|
### Server credentials:
|
||||||
|
|
||||||
- RFC2136 was developed for and tested with [BIND](https://www.isc.org/downloads/bind/) DNS server.
|
- RFC2136 was developed for and tested with [BIND](https://www.isc.org/downloads/bind/) DNS server.
|
||||||
This documentation assumes that you already have a configured and working server. If you don't,
|
This documentation assumes that you already have a configured and working server. If you don't,
|
||||||
please check BIND documents or tutorials.
|
please check BIND documents or tutorials.
|
||||||
- If your DNS is provided for you, ask for a TSIG key authorized to update and
|
- If your DNS is provided for you, ask for a TSIG key authorized to update and
|
||||||
transfer the zone you wish to update. The key will look something like below.
|
transfer the zone you wish to update. The key will look something like below.
|
||||||
Skip the next steps wrt BIND setup.
|
Skip the next steps wrt BIND setup.
|
||||||
|
|
||||||
```text
|
```text
|
||||||
key "externaldns-key" {
|
key "externaldns-key" {
|
||||||
algorithm hmac-sha256;
|
algorithm hmac-sha256;
|
||||||
@ -25,6 +29,7 @@ a key printed to standard out like above (or in the case of dnssec-keygen in a
|
|||||||
file called `Kexternaldns......key`).
|
file called `Kexternaldns......key`).
|
||||||
|
|
||||||
### BIND Configuration:
|
### BIND Configuration:
|
||||||
|
|
||||||
If you do not administer your own DNS, skip to RFC provider configuration
|
If you do not administer your own DNS, skip to RFC provider configuration
|
||||||
|
|
||||||
- Edit your named.conf file (or appropriate included file) and add/change the
|
- Edit your named.conf file (or appropriate included file) and add/change the
|
||||||
@ -75,9 +80,11 @@ following.
|
|||||||
|
|
||||||
|
|
||||||
### Using external-dns
|
### Using external-dns
|
||||||
|
|
||||||
To use external-dns add an ingress or a LoadBalancer service with a host that
|
To use external-dns add an ingress or a LoadBalancer service with a host that
|
||||||
is part of the domain-filter. For example both of the following would produce
|
is part of the domain-filter. For example both of the following would produce
|
||||||
A records.
|
A records.
|
||||||
|
|
||||||
```text
|
```text
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS for Services on Scaleway
|
# Scaleway
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using Scaleway DNS.
|
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using Scaleway DNS.
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# Setting up ExternalDNS for Tencent Cloud
|
# Tencent Cloud
|
||||||
|
|
||||||
## External Dns Version
|
## External Dns Version
|
||||||
|
|
||||||
* Make sure to use **>=0.13.1** version of ExternalDNS for this tutorial
|
* Make sure to use **>=0.13.1** version of ExternalDNS for this tutorial
|
||||||
|
|
||||||
## Set up PrivateDns or DNSPod
|
## Set up PrivateDns or DNSPod
|
||||||
@ -19,6 +20,7 @@ Tencent Cloud PrivateDNS Service is the domain name resolution and management se
|
|||||||
## Set up CAM for API Key
|
## Set up CAM for API Key
|
||||||
|
|
||||||
In Tencent CAM Console. you may get the secretId and secretKey pair. make sure the key pair has those Policy.
|
In Tencent CAM Console. you may get the secretId and secretKey pair. make sure the key pair has those Policy.
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"version": "2.0",
|
"version": "2.0",
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS for Services on TransIP
|
# TransIP
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using TransIP.
|
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using TransIP.
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Setting up ExternalDNS for Services on UltraDNS
|
# UltraDNS
|
||||||
|
|
||||||
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using UltraDNS.
|
This tutorial describes how to setup ExternalDNS for usage within a Kubernetes cluster using UltraDNS.
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ kind: Kustomization
|
|||||||
|
|
||||||
images:
|
images:
|
||||||
- name: registry.k8s.io/external-dns/external-dns
|
- name: registry.k8s.io/external-dns/external-dns
|
||||||
newTag: v0.14.2
|
newTag: v0.15.0
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
- ./external-dns-deployment.yaml
|
- ./external-dns-deployment.yaml
|
||||||
|
@ -2,7 +2,6 @@ site_name: external-dns
|
|||||||
site_author: external-dns maintainers
|
site_author: external-dns maintainers
|
||||||
repo_name: kubernetes-sigs/external-dns
|
repo_name: kubernetes-sigs/external-dns
|
||||||
repo_url: https://github.com/kubernetes-sigs/external-dns/
|
repo_url: https://github.com/kubernetes-sigs/external-dns/
|
||||||
trademark: https://www.linuxfoundation.org/legal/trademark-usage
|
|
||||||
|
|
||||||
docs_dir: .
|
docs_dir: .
|
||||||
|
|
||||||
@ -19,11 +18,7 @@ nav:
|
|||||||
- Tutorials: docs/tutorials/*
|
- Tutorials: docs/tutorials/*
|
||||||
- Annotations:
|
- Annotations:
|
||||||
- About: docs/annotations/annotations.md
|
- About: docs/annotations/annotations.md
|
||||||
- Sources:
|
- Sources: docs/sources/*
|
||||||
- About: docs/sources/sources.md
|
|
||||||
- Gateway: docs/sources/gateway.md
|
|
||||||
- Ingress: docs/sources/ingress.md
|
|
||||||
- Service: docs/sources/service.md
|
|
||||||
- Registries:
|
- Registries:
|
||||||
- About: docs/registry/registry.md
|
- About: docs/registry/registry.md
|
||||||
- TXT: docs/registry/txt.md
|
- TXT: docs/registry/txt.md
|
||||||
|
Loading…
Reference in New Issue
Block a user