Merge pull request #4726 from mloiseleur/docs/fix-title

docs: refactor title and organisation
This commit is contained in:
Kubernetes Prow Robot 2024-09-05 19:03:44 +01:00 committed by GitHub
commit 7bdb0f6070
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
52 changed files with 132 additions and 124 deletions

View File

@ -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)

View File

@ -1,4 +1,4 @@
# Sources # About
| Source | Resources | annotation-filter | label-filter | | Source | Resources | annotation-filter | label-filter |
|---------------------------------|-------------------------------------------------------------------------------|-------------------|--------------| |---------------------------------|-------------------------------------------------------------------------------|-------------------|--------------|

View File

@ -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).
@ -30,4 +30,4 @@ Note that, in case you're not installing via Helm, you'll need the following in
- get - get
- list - list
- watch - watch
``` ```

View File

@ -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.

View File

@ -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.

View File

@ -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
@ -58,7 +60,7 @@ rules:
resources: ["services","endpoints","pods"] resources: ["services","endpoints","pods"]
verbs: ["get","watch","list"] verbs: ["get","watch","list"]
- apiGroups: ["extensions","networking.k8s.io"] - apiGroups: ["extensions","networking.k8s.io"]
resources: ["ingresses"] resources: ["ingresses"]
verbs: ["get","watch","list"] verbs: ["get","watch","list"]
- apiGroups: [""] - apiGroups: [""]
resources: ["nodes"] resources: ["nodes"]
@ -134,7 +136,7 @@ kubectl patch clusterrole external-dns --type='json' \
### Verify that Istio Gateway/VirtualService Source works ### 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. to deploy a sample service that will be exposed outside of the service mesh.
The following are relevant snippets from that tutorial. 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 #### 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

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -1,4 +1,4 @@
# Setting up External-DNS for Services on Akamai Edge DNS # Akamai Edge DNS
## Prerequisites ## Prerequisites

View File

@ -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

View File

@ -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].

View File

@ -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

View File

@ -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/).

View File

@ -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

View File

@ -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.

View File

@ -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/).

View File

@ -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.
@ -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 nginx.yaml
$ kubectl delete service -f externaldns.yaml $ kubectl delete service -f externaldns.yaml
``` ```

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -1,4 +1,4 @@
# Setting up ExternalDNS for Exoscale # Exoscale
## Prerequisites ## Prerequisites

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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.
@ -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. 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.

View File

@ -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.
@ -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, * 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 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.

View File

@ -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].

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -1,4 +1,4 @@
# Setting up ExternalDNS for PowerDNS # PowerDNS
## Prerequisites ## Prerequisites

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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
@ -133,8 +140,8 @@ tutorial and are covered in the main documentation.
### Generate reverse DNS records ### 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` 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. 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: 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``` ```--domain-filter=157.168.192.in-addr.arpa --rfc2136-zone=157.168.192.in-addr.arpa```

View File

@ -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.

View File

@ -1,32 +0,0 @@
# Running ExternalDNS with limited privileges
You can run ExternalDNS with reduced privileges since `v0.5.6` using the following `SecurityContext`.
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: external-dns
spec:
strategy:
type: Recreate
selector:
matchLabels:
app: external-dns
template:
metadata:
labels:
app: external-dns
spec:
containers:
- name: external-dns
image: registry.k8s.io/external-dns/external-dns:v0.14.2
args:
- ... # your arguments here
securityContext:
runAsNonRoot: true
runAsUser: 65534
readOnlyRootFilesystem: true
capabilities:
drop: ["ALL"]
```

View File

@ -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
@ -8,17 +9,18 @@
Tencent Cloud DNSPod Service is the domain name resolution and management service for public access. 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. 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. * If you want to use internal dns service in Tencent Cloud.
1. Set up the args `--tencent-cloud-zone-type=private` 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. 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. * 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. 2. Create a Domain in DnsPod console. DNS domain which will contain the managed DNS records.
## 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",
@ -72,7 +74,7 @@ rules:
resources: ["services","endpoints","pods"] resources: ["services","endpoints","pods"]
verbs: ["get","watch","list"] verbs: ["get","watch","list"]
- apiGroups: ["extensions","networking.k8s.io"] - apiGroups: ["extensions","networking.k8s.io"]
resources: ["ingresses"] resources: ["ingresses"]
verbs: ["get","watch","list"] verbs: ["get","watch","list"]
- apiGroups: [""] - apiGroups: [""]
resources: ["nodes"] resources: ["nodes"]
@ -99,7 +101,7 @@ data:
tencent-cloud.json: | tencent-cloud.json: |
{ {
"regionId": "ap-shanghai", "regionId": "ap-shanghai",
"secretId": "******", "secretId": "******",
"secretKey": "******", "secretKey": "******",
"vpcId": "vpc-******", "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 "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

View File

@ -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.

View File

@ -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.

View File

@ -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