mirror of
https://github.com/kubernetes-sigs/external-dns.git
synced 2025-08-05 09:06: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 Load Balancer Controller](docs/tutorials/aws-load-balancer-controller.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)
|
||||
* [Kube Ingress AWS Controller](docs/tutorials/kube-ingress-aws.md)
|
||||
* [Azure DNS](docs/tutorials/azure.md)
|
||||
@ -174,15 +174,13 @@ The following tutorials are provided:
|
||||
* [ExternalName Services](docs/tutorials/externalname.md)
|
||||
* Google Kubernetes Engine
|
||||
* [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)
|
||||
* [Istio Gateway Source](docs/tutorials/istio.md)
|
||||
* [Kubernetes Security Context](docs/tutorials/security-context.md)
|
||||
* [Istio Gateway Source](docs/sources/istio.md)
|
||||
* [Linode](docs/tutorials/linode.md)
|
||||
* [Nginx Ingress Controller](docs/tutorials/nginx-ingress.md)
|
||||
* [NS1](docs/tutorials/ns1.md)
|
||||
* [NS Record Creation with CRD Source](docs/tutorials/ns-record.md)
|
||||
* [MX Record Creation with CRD Source](docs/tutorials/mx-record.md)
|
||||
* [NS Record Creation with CRD Source](docs/sources/ns-record.md)
|
||||
* [MX Record Creation with CRD Source](docs/sources/mx-record.md)
|
||||
* [OpenStack Designate](docs/tutorials/designate.md)
|
||||
* [Oracle Cloud Infrastructure (OCI) DNS](docs/tutorials/oracle.md)
|
||||
* [PowerDNS](docs/tutorials/pdns.md)
|
||||
@ -195,7 +193,7 @@ The following tutorials are provided:
|
||||
* [GoDaddy](docs/tutorials/godaddy.md)
|
||||
* [Gandi](docs/tutorials/gandi.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)
|
||||
* [Plural](docs/tutorials/plural.md)
|
||||
* [Pi-hole](docs/tutorials/pihole.md)
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Sources
|
||||
# About
|
||||
|
||||
| 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.
|
||||
|
||||
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).
|
||||
@ -30,4 +30,4 @@ Note that, in case you're not installing via Helm, you'll need the following in
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
```
|
||||
```
|
@ -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.
|
||||
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.
|
||||
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.
|
||||
It is meant to supplement the other provider-specific setup tutorials.
|
||||
|
||||
@ -43,6 +44,7 @@ spec:
|
||||
```
|
||||
|
||||
### Manifest (for clusters with RBAC enabled)
|
||||
|
||||
```yaml
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
@ -58,7 +60,7 @@ rules:
|
||||
resources: ["services","endpoints","pods"]
|
||||
verbs: ["get","watch","list"]
|
||||
- apiGroups: ["extensions","networking.k8s.io"]
|
||||
resources: ["ingresses"]
|
||||
resources: ["ingresses"]
|
||||
verbs: ["get","watch","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
@ -134,7 +136,7 @@ kubectl patch clusterrole external-dns --type='json' \
|
||||
|
||||
### Verify that Istio Gateway/VirtualService Source works
|
||||
|
||||
Follow the [Istio ingress traffic tutorial](https://istio.io/docs/tasks/traffic-management/ingress/)
|
||||
Follow the [Istio ingress traffic tutorial](https://istio.io/docs/tasks/traffic-management/ingress/)
|
||||
to deploy a sample service that will be exposed outside of the service mesh.
|
||||
The following are relevant snippets from that tutorial.
|
||||
|
||||
@ -150,7 +152,9 @@ $ kubectl apply -f <(istioctl kube-inject -f https://raw.githubusercontent.com/i
|
||||
```
|
||||
|
||||
#### Using a Gateway as a source
|
||||
|
||||
##### Create an Istio Gateway:
|
||||
|
||||
```bash
|
||||
$ cat <<EOF | kubectl apply -f -
|
||||
apiVersion: networking.istio.io/v1alpha3
|
||||
@ -172,6 +176,7 @@ EOF
|
||||
```
|
||||
|
||||
##### Configure routes for traffic entering via the Gateway:
|
||||
|
||||
```bash
|
||||
$ cat <<EOF | kubectl apply -f -
|
||||
apiVersion: networking.istio.io/v1alpha3
|
||||
@ -200,6 +205,7 @@ EOF
|
||||
#### Using a VirtualService as a source
|
||||
|
||||
##### Create an Istio Gateway:
|
||||
|
||||
```bash
|
||||
$ cat <<EOF | kubectl apply -f -
|
||||
apiVersion: networking.istio.io/v1alpha3
|
||||
@ -221,6 +227,7 @@ EOF
|
||||
```
|
||||
|
||||
##### Configure routes for traffic entering via the Gateway:
|
||||
|
||||
```bash
|
||||
$ cat <<EOF | kubectl apply -f -
|
||||
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.
|
||||
It is meant to supplement the other provider-specific setup tutorials.
|
||||
|
||||
### Manifest (for clusters without RBAC enabled)
|
||||
|
||||
```yaml
|
||||
apiVersion: apps/v1
|
||||
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)
|
||||
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.
|
||||
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)
|
||||
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.
|
||||
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.
|
||||
It is meant to supplement the other provider-specific setup tutorials.
|
||||
@ -96,7 +96,9 @@ spec:
|
||||
```
|
||||
|
||||
## Deploying a Traefik IngressRoute
|
||||
|
||||
Create a IngressRoute file called 'traefik-ingress.yaml' with the following contents:
|
||||
|
||||
```yaml
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: IngressRoute
|
@ -1,4 +1,4 @@
|
||||
# Setting up External-DNS for Services on Akamai Edge DNS
|
||||
# Akamai Edge DNS
|
||||
|
||||
## 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
|
||||
|
||||
|
@ -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].
|
||||
|
||||
|
@ -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.
|
||||
|
||||
## 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:
|
||||
|
||||
@ -107,8 +107,6 @@ spec:
|
||||
|
||||
## 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:
|
||||
|
||||
```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/).
|
||||
|
||||
|
@ -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
|
||||
|
||||
@ -525,7 +525,7 @@ Annotations which are specific to AWS.
|
||||
|
||||
### 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
|
||||
|
||||
|
@ -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.
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
|
||||
# Setting up ExternalDNS for Services on Azure
|
||||
# Azure DNS
|
||||
|
||||
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.
|
||||
|
||||
@ -183,4 +183,4 @@ Now that we have verified that ExternalDNS will automatically manage Civo DNS re
|
||||
```
|
||||
$ kubectl delete service -f nginx.yaml
|
||||
$ kubectl delete service -f externaldns.yaml
|
||||
```
|
||||
```
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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.
|
||||
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).
|
||||
|
||||
You need to:
|
||||
|
||||
* install CoreDNS with [etcd](https://github.com/etcd-io/etcd) enabled
|
||||
* install external-dns with coredns as a provider
|
||||
* enable ingress controller for the minikube cluster
|
||||
|
||||
|
||||
## Creating a cluster
|
||||
```
|
||||
|
||||
```shell
|
||||
minikube start
|
||||
```
|
||||
|
||||
## Installing CoreDNS with etcd enabled
|
||||
|
||||
Helm chart is used to install etcd and CoreDNS.
|
||||
|
||||
### Initializing helm chart
|
||||
```
|
||||
|
||||
```shell
|
||||
helm init
|
||||
```
|
||||
|
||||
### Installing etcd
|
||||
|
||||
[etcd operator](https://github.com/coreos/etcd-operator) is used to manage etcd clusters.
|
||||
```
|
||||
helm install stable/etcd-operator --name my-etcd-op
|
||||
```
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
### Installing CoreDNS
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
You need to edit/patch the file with below diff
|
||||
|
||||
```diff
|
||||
diff --git a/values.yaml b/values.yaml
|
||||
index 964e72b..e2fa934 100644
|
||||
@ -68,23 +85,29 @@ index 964e72b..e2fa934 100644
|
||||
# Complete example with all the options:
|
||||
# - zones: # the `zones` block can be left out entirely, defaults to "."
|
||||
```
|
||||
|
||||
**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.
|
||||
```
|
||||
|
||||
```shell
|
||||
$ kubectl get svc example-etcd-cluster-client
|
||||
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
||||
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.
|
||||
|
||||
|
||||
After configuration done in values.yaml, you can install coredns chart.
|
||||
```
|
||||
|
||||
```shell
|
||||
helm install --name my-coredns --values values.yaml stable/coredns
|
||||
```
|
||||
|
||||
## Installing ExternalDNS
|
||||
|
||||
### Install external ExternalDNS
|
||||
|
||||
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.
|
||||
|
||||
@ -187,13 +210,16 @@ spec:
|
||||
```
|
||||
|
||||
## Enable the ingress controller
|
||||
|
||||
You can use the ingress controller in minikube cluster. It needs to enable ingress addon in the cluster.
|
||||
```
|
||||
|
||||
```shell
|
||||
minikube addons enable ingress
|
||||
```
|
||||
|
||||
## Testing ingress example
|
||||
```
|
||||
|
||||
```shell
|
||||
$ cat ingress.yaml
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
@ -213,9 +239,9 @@ $ kubectl apply -f ingress.yaml
|
||||
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.
|
||||
```
|
||||
|
||||
```shell
|
||||
$ kubectl get svc my-coredns-coredns
|
||||
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
||||
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.
|
||||
|
||||
|
@ -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.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Setting up ExternalDNS for Services on DNSimple
|
||||
# DNSimple
|
||||
|
||||
|
||||
This tutorial describes how to setup ExternalDNS for usage with DNSimple.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Setting up ExternalDNS for Exoscale
|
||||
# Exoscale
|
||||
|
||||
## 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.
|
||||
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Setting up ExternalDNS for Services on GoDaddy
|
||||
# GoDaddy
|
||||
|
||||
This tutorial describes how to setup ExternalDNS for use within a
|
||||
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.
|
||||
|
||||
|
@ -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.
|
||||
|
||||
@ -259,4 +259,4 @@ Using the `external-dns.alpha.kubernetes.io/ibmcloud-proxied: "true"` annotation
|
||||
|
||||
By default, IBMCloud DNS Services don't active your private zone with new zone added, with externale DNS, you can use `external-dns.alpha.kubernetes.io/ibmcloud-vpc: "crn:v1:bluemix:public:is:us-south:a/bcf1865e99742d38d2d5fc3fb80a5496::vpc:r006-74353823-a60d-42e4-97c5-5e2551278435"` annotation on your ingress or service, it will active your private zone with in specific VPC for that record created in. this setting won't work if the private zone was active already.
|
||||
|
||||
Note: the annotaion value is the VPC CRN, every IBM Cloud service have a valid CRN.
|
||||
Note: the annotaion value is the VPC CRN, every IBM Cloud service have a valid CRN.
|
||||
|
@ -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.
|
||||
|
||||
@ -34,4 +34,4 @@ Annotations added to Pods will always result in an A record being created.
|
||||
* For a Service of Type=LoadBalancer, ExternalDNS looks at Status.LoadBalancer.Ingress. It will create CNAMEs to hostnames,
|
||||
and A records for IP addresses. It will do this for both internal and external names
|
||||
|
||||
* For a Service of Type=NodePort, ExternalDNS will create A records for the Node's internal/external IP addresses, as appropriate.
|
||||
* For a Service of Type=NodePort, ExternalDNS will create A records for the Node's internal/external IP addresses, as appropriate.
|
||||
|
@ -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].
|
||||
|
||||
|
@ -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.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Setting up ExternalDNS for Services on NS1
|
||||
# NS1
|
||||
|
||||
This tutorial describes how to setup ExternalDNS for use within a
|
||||
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.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Setting up ExternalDNS for Services on OVH
|
||||
# OVHcloud
|
||||
|
||||
This tutorial describes how to setup ExternalDNS for use within a
|
||||
Kubernetes cluster using OVH DNS.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Setting up ExternalDNS for PowerDNS
|
||||
# PowerDNS
|
||||
|
||||
## 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.
|
||||
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.
|
||||
|
||||
|
@ -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).
|
||||
|
||||
You need to:
|
||||
|
||||
* install RDNS with [etcd](https://github.com/etcd-io/etcd) enabled
|
||||
* 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.
|
||||
|
||||
## Using with BIND
|
||||
|
||||
To use external-dns with BIND: generate/procure a key, configure DNS and add a
|
||||
deployment of external-dns.
|
||||
|
||||
### Server credentials:
|
||||
|
||||
- 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,
|
||||
please check BIND documents or tutorials.
|
||||
- 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.
|
||||
Skip the next steps wrt BIND setup.
|
||||
|
||||
```text
|
||||
key "externaldns-key" {
|
||||
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`).
|
||||
|
||||
### BIND 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
|
||||
@ -75,9 +80,11 @@ following.
|
||||
|
||||
|
||||
### Using external-dns
|
||||
|
||||
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
|
||||
A records.
|
||||
|
||||
```text
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
@ -133,8 +140,8 @@ tutorial and are covered in the main documentation.
|
||||
|
||||
### Generate reverse DNS records
|
||||
|
||||
If you want to generate reverse DNS records for your services, you have to enable the functionality using the `--rfc2136-create-ptr`
|
||||
flag. You have also to add the zone to the list of zones managed by ExternalDNS via the `--rfc2136-zone` and `--domain-filter` flags.
|
||||
If you want to generate reverse DNS records for your services, you have to enable the functionality using the `--rfc2136-create-ptr`
|
||||
flag. You have also to add the zone to the list of zones managed by ExternalDNS via the `--rfc2136-zone` and `--domain-filter` flags.
|
||||
An example of a valid configuration is the following:
|
||||
|
||||
```--domain-filter=157.168.192.in-addr.arpa --rfc2136-zone=157.168.192.in-addr.arpa```
|
||||
|
@ -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.
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
# Setting up ExternalDNS for Tencent Cloud
|
||||
# Tencent Cloud
|
||||
|
||||
## External Dns Version
|
||||
|
||||
* Make sure to use **>=0.13.1** version of ExternalDNS for this tutorial
|
||||
|
||||
## Set up PrivateDns or DNSPod
|
||||
@ -8,17 +9,18 @@
|
||||
Tencent Cloud DNSPod Service is the domain name resolution and management service for public access.
|
||||
Tencent Cloud PrivateDNS Service is the domain name resolution and management service for VPC internal access.
|
||||
|
||||
* If you want to use internal dns service in Tencent Cloud.
|
||||
1. Set up the args `--tencent-cloud-zone-type=private`
|
||||
* If you want to use internal dns service in Tencent Cloud.
|
||||
1. Set up the args `--tencent-cloud-zone-type=private`
|
||||
2. Create a DNS domain in PrivateDNS console. DNS domain which will contain the managed DNS records.
|
||||
|
||||
* If you want to use public dns service in Tencent Cloud.
|
||||
1. Set up the args `--tencent-cloud-zone-type=public`
|
||||
1. Set up the args `--tencent-cloud-zone-type=public`
|
||||
2. Create a Domain in DnsPod console. DNS domain which will contain the managed DNS records.
|
||||
|
||||
## 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.
|
||||
|
||||
```json
|
||||
{
|
||||
"version": "2.0",
|
||||
@ -72,7 +74,7 @@ rules:
|
||||
resources: ["services","endpoints","pods"]
|
||||
verbs: ["get","watch","list"]
|
||||
- apiGroups: ["extensions","networking.k8s.io"]
|
||||
resources: ["ingresses"]
|
||||
resources: ["ingresses"]
|
||||
verbs: ["get","watch","list"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
@ -99,7 +101,7 @@ data:
|
||||
tencent-cloud.json: |
|
||||
{
|
||||
"regionId": "ap-shanghai",
|
||||
"secretId": "******",
|
||||
"secretId": "******",
|
||||
"secretKey": "******",
|
||||
"vpcId": "vpc-******",
|
||||
"internetEndpoint": false # Default: false. Access the Tencent API through the intranet. If you need to deploy on the public network, you need to change to true
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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.
|
||||
|
||||
|
@ -3,7 +3,7 @@ kind: Kustomization
|
||||
|
||||
images:
|
||||
- name: registry.k8s.io/external-dns/external-dns
|
||||
newTag: v0.14.2
|
||||
newTag: v0.15.0
|
||||
|
||||
resources:
|
||||
- ./external-dns-deployment.yaml
|
||||
|
@ -2,7 +2,6 @@ site_name: external-dns
|
||||
site_author: external-dns maintainers
|
||||
repo_name: kubernetes-sigs/external-dns
|
||||
repo_url: https://github.com/kubernetes-sigs/external-dns/
|
||||
trademark: https://www.linuxfoundation.org/legal/trademark-usage
|
||||
|
||||
docs_dir: .
|
||||
|
||||
@ -19,11 +18,7 @@ nav:
|
||||
- Tutorials: docs/tutorials/*
|
||||
- Annotations:
|
||||
- About: docs/annotations/annotations.md
|
||||
- Sources:
|
||||
- About: docs/sources/sources.md
|
||||
- Gateway: docs/sources/gateway.md
|
||||
- Ingress: docs/sources/ingress.md
|
||||
- Service: docs/sources/service.md
|
||||
- Sources: docs/sources/*
|
||||
- Registries:
|
||||
- About: docs/registry/registry.md
|
||||
- TXT: docs/registry/txt.md
|
||||
|
Loading…
Reference in New Issue
Block a user