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

View File

@ -1,4 +1,4 @@
# Sources
# About
| 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.
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).

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

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.
It is meant to supplement the other provider-specific setup tutorials.
### Manifest (for clusters without RBAC enabled)
```yaml
apiVersion: apps/v1
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)
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.
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)
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.
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.
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

View File

@ -1,4 +1,4 @@
# Setting up External-DNS for Services on Akamai Edge DNS
# Akamai Edge DNS
## 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

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

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

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

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

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.

View File

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

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.

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.

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

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.

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.

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.

View File

@ -1,4 +1,4 @@
# Setting up ExternalDNS for Exoscale
# Exoscale
## 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.

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.

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.

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

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

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.

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.

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

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.

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

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
Kubernetes cluster using OVH DNS.

View File

@ -1,4 +1,4 @@
# Setting up ExternalDNS for PowerDNS
# PowerDNS
## 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.
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.

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).
You need to:
* install RDNS with [etcd](https://github.com/etcd-io/etcd) enabled
* 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.
## 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

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.

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
* Make sure to use **>=0.13.1** version of ExternalDNS for this tutorial
## 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
In Tencent CAM Console. you may get the secretId and secretKey pair. make sure the key pair has those Policy.
```json
{
"version": "2.0",

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.

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.

View File

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