Commit b9100f2d authored by Marco Lorini's avatar Marco Lorini
Browse files

2020-10-14 ML: add ExternalDNS field details

parent 7f8c6495
......@@ -14,7 +14,7 @@ If you want create the Kubernetes clusters on Openstack and you use Juju tool to
## Environment configuration
Before starting it is necessary create several Kubernetes clusters to make the federation. One cluster will be the Host (Host Cluster), in which will be install the KubeFed (Control Plane), and the remaining clusters will be the Members (Member Cluster).
To create the clusters on Openstack, it is possible to use the follow Juju bundle: https://jaas.ai/u/csd-garr/kubernetes-openstack-integrator/bundle.
To create the clusters on Openstack, it is possible to use the follow Juju bundle in the Documention section.
Once all the clusters for federation have been created, it is useful to collect all cluster access configurations (.kube/config) in a single config file. In this way you can easily switch from one cluster to another.
Below is an example:
......@@ -150,14 +150,14 @@ $ kubefedctl join fed-cluster-member1 --cluster-context k8s-context-member1 --ho
$ kubefedctl join fed-cluster-member2 --cluster-context k8s-context-member2 --host-cluster-context k8s-context-host --v=2
```
Remove cluster to the federation, `unjoin` command:
Remove cluster to the federation, use the `unjoin` command:
```bash
$ kubefedctl unjoin fed-cluster-member1 --cluster-context k8s-context-member1 --host-cluster-context k8s-context-host --v=2
$ kubefedctl unjoin fed-cluster-member2 --cluster-context k8s-context-member2 --host-cluster-context k8s-context-host --v=2
```
Command to show federated clusters:
Command to show the federated clusters:
```bash
$ kubectl -n kube-federation-system get kubefedclusters
......@@ -344,6 +344,21 @@ spec:
$ kubectl --context=<host-cluster-context> create -f resource/externaldns.yaml
```
The previous configuration is specific to integrate ExternalDNS with the Ingress DNS Multi-Cluster, in this way it will be possible to obtain the information it needs through the "DNSEndpoint" object. The DNSEndpoint object will be created when the Multi-Cluster is configured (see below).
pdns-api-key
The main configuration are:
- **source**: the field represents the type of resources for which it is necessary create a DNS record. For example: service or ingress. In this case the source value is `crd` for Multi-Cluster Ingress DNS integration;
- **crd-source-apiversion**: the field specifies the api for the `crd` source (required to Multi-Cluster Ingress DNS);
- **crd-source-kind**: specifies the type of resource which will contain the service or ingress endpoint of the member clusters (required to Multi-Cluster Ingress DNS);
- **provider**: represents the DNS Provider (`pdns` for PowerDNS);
- **pdns-server**: it is the DNS server endpoint;
- **pdns-api-key**: the API key for server authentication;
- **registry**: specifies the type of the mechanism for safeguarding records that do not depend on ExternalDNS (required to Multi-Cluster Ingress DNS);
- **txt-prefix**: required to Multi-Cluster Ingress DNS;
- **domain-filter**: will make ExternalDNS see only the zones matching provided domain;
- **policy**: are the permissions with which External DNS can operate on PowerDNS.
### Federate deployment
Now create the federated deployment (for this example we used a simple "Hello World" image):
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment