kube-dns-manager

module
v0.0.0-...-5f3e536 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2024 License: Apache-2.0

README

kube-dns-manager

Manage DNS Record in kubernetes.

Description

Features:

  • Generate DNS Record by kubernetes resources, eg. Ingress, Service, Node
  • Sync DNS Record to DNS Providers, eg. alidns, cloudflare

Getting Started

Installation
Helm
  1. Run the following command to add the chart repository first:
helm repo add kube-dns-manager https://xzzpig.github.io/kube-dns-manager/
helm repo update
  1. Install the chart:
helm install kube-dns-manager kube-dns-manager/kube-dns-manager --namespace kube-dns-manager --create-namespace
Bundles
kubectl apply -f https://raw.githubusercontent.com/xzzpig/kube-dns-manager/main/dist/install.yaml
Uninstall
Helm
helm uninstall kube-dns-manager --namespace kube-dns-manager
Bundles
kubectl delete -f https://raw.githubusercontent.com/xzzpig/kube-dns-manager/main/dist/install.yaml --wait
Model

Model

Configure
  1. Create a Template/ClusterTemplate. This sample template is used for Ingress, and is a Record template with
  • label:dns.xzzpig.com/scope: public
  • domain: hosts in the Ingress
  • type: CNAME
  • value: sample.sample.com
  • extra: a comment if Provider is cloudflare
  1. Create a Generator/ClusterGenerator to generate DNS Record by kubernetes resources. This samele generator will match public Ingress and create a ResourceWatcher to watch the changes of the Ingress which is used in the Template(If other resources are used in the Template, they will also be watched by the ResourceWatcher). Then the ResourceWatcher will generate DNS Record via the Template.
  2. Create a Provider/ClusterProvider. This samele provider will match any Record with label dns.xzzpig.com/scope: public and domain is sample.com and then sync to DNS Providers.

License

Copyright 2024.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Directories

Path Synopsis
api
dns/v1
Package v1 contains API Schema definitions for the dns v1 API group +kubebuilder:object:generate=true +groupName=dns.xzzpig.com
Package v1 contains API Schema definitions for the dns v1 API group +kubebuilder:object:generate=true +groupName=dns.xzzpig.com
internal
test

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳