mirror of
https://github.com/kubernetes-sigs/external-dns.git
synced 2025-08-12 12:36:57 +02:00
4061 lines
113 KiB
HTML
4061 lines
113 KiB
HTML
|
|
<!doctype html>
|
|
<html lang="en" class="no-js">
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
|
|
|
|
<meta name="author" content="external-dns maintainers">
|
|
|
|
|
|
|
|
<link rel="prev" href="../plural/">
|
|
|
|
|
|
<link rel="next" href="../scaleway/">
|
|
|
|
|
|
<link rel="icon" href="../../../assets/images/favicon.png">
|
|
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.17">
|
|
|
|
|
|
|
|
<title>RFC2136 provider - external-dns</title>
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../../../assets/stylesheets/main.bcfcd587.min.css">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
|
|
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
|
|
|
|
|
|
|
|
<script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
|
<body dir="ltr">
|
|
|
|
|
|
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
|
|
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
|
|
<label class="md-overlay" for="__drawer"></label>
|
|
<div data-md-component="skip">
|
|
|
|
|
|
<a href="#rfc2136-provider" class="md-skip">
|
|
Skip to content
|
|
</a>
|
|
|
|
</div>
|
|
<div data-md-component="announce">
|
|
|
|
</div>
|
|
|
|
<div data-md-color-scheme="default" data-md-component="outdated" hidden>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<header class="md-header md-header--shadow md-header--lifted" data-md-component="header">
|
|
<nav class="md-header__inner md-grid" aria-label="Header">
|
|
<a href="../../.." title="external-dns" class="md-header__button md-logo" aria-label="external-dns" data-md-component="logo">
|
|
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg>
|
|
|
|
</a>
|
|
<label class="md-header__button md-icon" for="__drawer">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
|
|
</label>
|
|
<div class="md-header__title" data-md-component="header-title">
|
|
<div class="md-header__ellipsis">
|
|
<div class="md-header__topic">
|
|
<span class="md-ellipsis">
|
|
external-dns
|
|
</span>
|
|
</div>
|
|
<div class="md-header__topic" data-md-component="header-topic">
|
|
<span class="md-ellipsis">
|
|
|
|
RFC2136 provider
|
|
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
|
|
|
|
|
|
|
|
<label class="md-header__button md-icon" for="__search">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
|
|
</label>
|
|
<div class="md-search" data-md-component="search" role="dialog">
|
|
<label class="md-search__overlay" for="__search"></label>
|
|
<div class="md-search__inner" role="search">
|
|
<form class="md-search__form" name="search">
|
|
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
|
|
<label class="md-search__icon md-icon" for="__search">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
|
|
</label>
|
|
<nav class="md-search__options" aria-label="Search">
|
|
|
|
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
|
</button>
|
|
</nav>
|
|
|
|
</form>
|
|
<div class="md-search__output">
|
|
<div class="md-search__scrollwrap" data-md-scrollfix>
|
|
<div class="md-search-result" data-md-component="search-result">
|
|
<div class="md-search-result__meta">
|
|
Initializing search
|
|
</div>
|
|
<ol class="md-search-result__list" role="presentation"></ol>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="md-header__source">
|
|
<a href="https://github.com/kubernetes-sigs/external-dns/" title="Go to repository" class="md-source" data-md-component="source">
|
|
<div class="md-source__icon md-icon">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
|
|
</div>
|
|
<div class="md-source__repository">
|
|
kubernetes-sigs/external-dns
|
|
</div>
|
|
</a>
|
|
</div>
|
|
|
|
</nav>
|
|
|
|
|
|
|
|
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
|
|
<div class="md-grid">
|
|
<ul class="md-tabs__list">
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-tabs__item">
|
|
<a href="../../.." class="md-tabs__link">
|
|
|
|
|
|
|
|
|
|
Home
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-tabs__item">
|
|
<a href="../../../charts/external-dns/" class="md-tabs__link">
|
|
|
|
|
|
|
|
|
|
Chart
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-tabs__item">
|
|
<a href="../../faq/" class="md-tabs__link">
|
|
|
|
|
|
|
|
|
|
About
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-tabs__item md-tabs__item--active">
|
|
<a href="../akamai-edgedns/" class="md-tabs__link">
|
|
|
|
|
|
|
|
|
|
Tutorials
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-tabs__item">
|
|
<a href="../../annotations/annotations/" class="md-tabs__link">
|
|
|
|
|
|
|
|
|
|
Annotations
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-tabs__item">
|
|
<a href="../../sources/about/" class="md-tabs__link">
|
|
|
|
|
|
|
|
|
|
Sources
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-tabs__item">
|
|
<a href="../../registry/registry/" class="md-tabs__link">
|
|
|
|
|
|
|
|
|
|
Registries
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-tabs__item">
|
|
<a href="../../initial-design/" class="md-tabs__link">
|
|
|
|
|
|
|
|
|
|
Advanced Topics
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-tabs__item">
|
|
<a href="../../../CONTRIBUTING/" class="md-tabs__link">
|
|
|
|
|
|
|
|
|
|
Contributing
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</div>
|
|
</nav>
|
|
|
|
|
|
</header>
|
|
|
|
<div class="md-container" data-md-component="container">
|
|
|
|
|
|
|
|
|
|
<main class="md-main" data-md-component="main">
|
|
<div class="md-main__inner md-grid">
|
|
|
|
|
|
|
|
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
|
|
<div class="md-sidebar__scrollwrap">
|
|
<div class="md-sidebar__inner">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
|
|
<label class="md-nav__title" for="__drawer">
|
|
<a href="../../.." title="external-dns" class="md-nav__button md-logo" aria-label="external-dns" data-md-component="logo">
|
|
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg>
|
|
|
|
</a>
|
|
external-dns
|
|
</label>
|
|
|
|
<div class="md-nav__source">
|
|
<a href="https://github.com/kubernetes-sigs/external-dns/" title="Go to repository" class="md-source" data-md-component="source">
|
|
<div class="md-source__icon md-icon">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
|
|
</div>
|
|
<div class="md-source__repository">
|
|
kubernetes-sigs/external-dns
|
|
</div>
|
|
</a>
|
|
</div>
|
|
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../.." class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Home
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
|
|
|
|
|
|
|
|
<div class="md-nav__link md-nav__container">
|
|
<a href="../../../charts/external-dns/" class="md-nav__link ">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Chart
|
|
</span>
|
|
|
|
|
|
</a>
|
|
|
|
|
|
<label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
</div>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_2">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Chart
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../../charts/external-dns/CHANGELOG/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Changelog
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
About
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_3">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
About
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../faq/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
FAQ
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../flags/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Flags
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../20190708-external-dns-incubator/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Out of Incubator
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../../code-of-conduct/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Code of Conduct
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../../LICENSE/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
License
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../providers/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Providers
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked>
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Tutorials
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true">
|
|
<label class="md-nav__title" for="__nav_4">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Tutorials
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../akamai-edgedns/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Akamai Edge DNS
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../alibabacloud/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Alibaba Cloud
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../aws-filters/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
AWS Filters
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../aws-load-balancer-controller/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
AWS Load Balancer Controller
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../aws-public-private-route53/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
AWS Route53 with same domain for public and private zones
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../aws-sd/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
AWS Cloud Map API
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../aws/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
AWS
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../azure-private-dns/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Azure Private DNS
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../azure/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Azure DNS
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../civo/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Civo DNS
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../cloudflare/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Cloudflare DNS
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../contour/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Contour HTTPProxy
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../coredns/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
CoreDNS with minikube
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../crd/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Using CRD Source for DNS Records
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../digitalocean/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
DigitalOcean DNS
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../dnsimple/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
DNSimple
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../exoscale/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Exoscale
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../externalname/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
ExternalName Services
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../gandi/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Gandi
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../gke-nginx/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
GKE with nginx-ingress-controller
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../gke/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
GKE with default controller
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../godaddy/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
GoDaddy
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../hostport/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Headless Services
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../ionoscloud/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
IONOS Cloud
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../kops-dns-controller/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
kOps dns-controller
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../kube-ingress-aws/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
kube-ingress-aws-controller
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../linode/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Linode
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../ns1/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
NS1
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../oracle/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Oracle Cloud Infrastructure
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../ovh/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
OVHcloud
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../pdns/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
PowerDNS
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../pihole/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Pi-hole
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../plural/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Plural
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--active">
|
|
|
|
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
|
|
|
|
|
|
|
|
|
|
|
|
<label class="md-nav__link md-nav__link--active" for="__toc">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
RFC2136 provider
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<a href="./" class="md-nav__link md-nav__link--active">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
RFC2136 provider
|
|
</span>
|
|
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<label class="md-nav__title" for="__toc">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Table of contents
|
|
</label>
|
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#using-with-bind" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Using with BIND
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Using with BIND">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#server-credentials" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Server credentials
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#bind-configuration" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
BIND Configuration
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#using-external-dns" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Using external-dns
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#custom-ttl" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Custom TTL
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#generate-reverse-dns-records" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Generate reverse DNS records
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#test-with-external-dns-installed-on-local-machine-optional" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Test with external-dns installed on local machine (optional)
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#rfc2136-provider-configuration" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
RFC2136 provider configuration
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#microsoft-dns" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Microsoft DNS
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Microsoft DNS">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#secure-updates-using-rfc3645-gss-tsig" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Secure Updates Using RFC3645 (GSS-TSIG)
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Secure Updates Using RFC3645 (GSS-TSIG)">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#dns-side-configuration" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
DNS-side configuration
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="DNS-side configuration">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#kerberos-configuration" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Kerberos Configuration
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#external-dns-configuration" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
external-dns configuration
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#insecure-updates" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Insecure Updates
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Insecure Updates">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#dns-side-configuration_1" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
DNS-side configuration
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#external-dns-configuration_1" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
external-dns configuration
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#dns-over-tls-rfcs-7858-and-9103" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
DNS Over TLS (RFCs 7858 and 9103)
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#configuring-rfc2136-provider-with-multiple-hosts-and-load-balancing" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Configuring RFC2136 Provider with Multiple Hosts and Load Balancing
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Configuring RFC2136 Provider with Multiple Hosts and Load Balancing">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#enhancements-overview" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Enhancements Overview
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#configuration-steps" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Configuration Steps
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#example-configuration" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Example Configuration
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#helm" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Helm
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Helm">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#secret-creation" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Secret creation
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#benefits" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Benefits
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../scaleway/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Scaleway
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../security-context/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Running ExternalDNS with limited privileges
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../transip/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
TransIP
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../webhook-provider/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Webhook provider
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Annotations
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_5">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Annotations
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../annotations/annotations/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
About
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Sources
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_6">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Sources
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../sources/about/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
About
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../sources/crd/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
CRD Source
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../sources/f5-transportserver/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
F5 Networks TransportServer Source
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../sources/f5-virtualserver/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
F5 Networks VirtualServer Source
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../sources/gateway-api/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Gateway API Route Sources
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../sources/gateway/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Gateway sources
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../sources/gloo-proxy/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Gloo Proxy Source
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../sources/ingress/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Ingress source
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../sources/istio/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Istio Gateway / Virtual Service Source
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../sources/kong/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Kong TCPIngress Source
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../sources/mx-record/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
MX record with CRD source
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../sources/nodes/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Cluster Nodes as Source
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../sources/ns-record/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
NS record with CRD source
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../sources/openshift/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
OpenShift Route Source
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../sources/pod/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Pod Source
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../sources/service/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Service source
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../sources/traefik-proxy/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Traefik Proxy Source
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../sources/txt-record/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Creating TXT record with CRD source
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Registries
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_7">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Registries
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../registry/registry/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
About
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../registry/txt/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
TXT
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../registry/dynamodb/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
DynamoDB
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Advanced Topics
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_8">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Advanced Topics
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../initial-design/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Initial Design
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../proposal/001-leader-election/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Leader Election
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_3" >
|
|
|
|
|
|
|
|
<div class="md-nav__link md-nav__container">
|
|
<a href="../../monitoring/" class="md-nav__link ">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Monitoring
|
|
</span>
|
|
|
|
|
|
</a>
|
|
|
|
|
|
<label class="md-nav__link " for="__nav_8_3" id="__nav_8_3_label" tabindex="0">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
</div>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_8_3_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_8_3">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Monitoring
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../monitoring/metrics/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Available Metrics
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../proposal/multi-target/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
MultiTarget
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../advanced/nat64/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
NAT64
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../advanced/rate-limits/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Rate Limits
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../advanced/ttl/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
TTL
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../advanced/fqdn-templating/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
FQDN Templating
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_9" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_8_9" id="__nav_8_9_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Decisions
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_8_9_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_8_9">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Decisions
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../proposal/002-internal-ipv6-handling-rollback/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
002 internal ipv6 handling rollback
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../proposal/003-dnsendpoint-graduation-to-beta/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
003 dnsendpoint graduation to beta
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
|
|
|
|
|
|
|
|
<div class="md-nav__link md-nav__container">
|
|
<a href="../../contributing/" class="md-nav__link ">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Contributing
|
|
</span>
|
|
|
|
|
|
</a>
|
|
|
|
|
|
<label class="md-nav__link " for="__nav_9" id="__nav_9_label" tabindex="0">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
</div>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_9">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Contributing
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../../CONTRIBUTING/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Kubernetes Contributions
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../release/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Release
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deprecation/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Deprecation Policy
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../contributing/chart/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Helm Chart
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../contributing/design/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Design
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../contributing/dev-guide/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Developer Reference
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../contributing/sources-and-providers/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Sources and Providers
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
|
|
<div class="md-sidebar__scrollwrap">
|
|
<div class="md-sidebar__inner">
|
|
|
|
|
|
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<label class="md-nav__title" for="__toc">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Table of contents
|
|
</label>
|
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#using-with-bind" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Using with BIND
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Using with BIND">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#server-credentials" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Server credentials
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#bind-configuration" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
BIND Configuration
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#using-external-dns" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Using external-dns
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#custom-ttl" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Custom TTL
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#generate-reverse-dns-records" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Generate reverse DNS records
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#test-with-external-dns-installed-on-local-machine-optional" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Test with external-dns installed on local machine (optional)
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#rfc2136-provider-configuration" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
RFC2136 provider configuration
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#microsoft-dns" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Microsoft DNS
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Microsoft DNS">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#secure-updates-using-rfc3645-gss-tsig" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Secure Updates Using RFC3645 (GSS-TSIG)
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Secure Updates Using RFC3645 (GSS-TSIG)">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#dns-side-configuration" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
DNS-side configuration
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="DNS-side configuration">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#kerberos-configuration" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Kerberos Configuration
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#external-dns-configuration" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
external-dns configuration
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#insecure-updates" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Insecure Updates
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Insecure Updates">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#dns-side-configuration_1" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
DNS-side configuration
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#external-dns-configuration_1" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
external-dns configuration
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#dns-over-tls-rfcs-7858-and-9103" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
DNS Over TLS (RFCs 7858 and 9103)
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#configuring-rfc2136-provider-with-multiple-hosts-and-load-balancing" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Configuring RFC2136 Provider with Multiple Hosts and Load Balancing
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Configuring RFC2136 Provider with Multiple Hosts and Load Balancing">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#enhancements-overview" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Enhancements Overview
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#configuration-steps" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Configuration Steps
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#example-configuration" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Example Configuration
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#helm" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Helm
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Helm">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#secret-creation" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Secret creation
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#benefits" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Benefits
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="md-content" data-md-component="content">
|
|
<article class="md-content__inner md-typeset">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h1 id="rfc2136-provider">RFC2136 provider<a class="headerlink" href="#rfc2136-provider" title="Permanent link">¶</a></h1>
|
|
<p>This tutorial describes how to use the RFC2136 with either BIND or Windows DNS.</p>
|
|
<h2 id="using-with-bind">Using with BIND<a class="headerlink" href="#using-with-bind" title="Permanent link">¶</a></h2>
|
|
<p>To use external-dns with BIND: generate/procure a key, configure DNS and add a<br />
|
|
deployment of external-dns.</p>
|
|
<h3 id="server-credentials">Server credentials<a class="headerlink" href="#server-credentials" title="Permanent link">¶</a></h3>
|
|
<ul>
|
|
<li>RFC2136 was developed for and tested with <a href="https://www.isc.org/downloads/bind/">BIND</a> DNS server.<br />
|
|
This documentation assumes that you already have a configured and working server. If you don’t,<br />
|
|
please check BIND documents or tutorials.</li>
|
|
<li>If your DNS is provided for you, ask for a TSIG key authorized to update and<br />
|
|
transfer the zone you wish to update. The key will look something like below.<br />
|
|
Skip the next steps wrt BIND setup.</li>
|
|
</ul>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>key "externaldns-key" {
|
|
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a> algorithm hmac-sha256;
|
|
<a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a> secret "96Ah/a2g0/nLeFGK+d/0tzQcccf9hCEIy34PoXX2Qg8=";
|
|
<a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a>};
|
|
</code></pre></div>
|
|
<ul>
|
|
<li>If you are your own DNS administrator create a TSIG key. Use<br />
|
|
<code>tsig-keygen -a hmac-sha256 externaldns</code> or on older distributions<br />
|
|
<code>dnssec-keygen -a HMAC-SHA256 -b 256 -n HOST externaldns</code>. You will end up with<br />
|
|
a key printed to standard out like above (or in the case of dnssec-keygen in a<br />
|
|
file called <code>Kexternaldns......key</code>).</li>
|
|
</ul>
|
|
<h3 id="bind-configuration">BIND Configuration<a class="headerlink" href="#bind-configuration" title="Permanent link">¶</a></h3>
|
|
<p>If you do not administer your own DNS, skip to RFC provider configuration</p>
|
|
<ul>
|
|
<li>Edit your named.conf file (or appropriate included file) and add/change the<br />
|
|
following.</li>
|
|
<li>Make sure You are listening on the right interfaces. At least whatever<br />
|
|
interface external-dns will be communicating over and the interface that<br />
|
|
faces the internet.</li>
|
|
<li>Add the key that you generated/was given to you above. Copy paste the four<br />
|
|
lines that you got (not the same as the example key) into your file.</li>
|
|
<li>Create a zone for kubernetes. If you already have a zone, skip to the next<br />
|
|
step. (I put the zone in it’s own subdirectory because named,<br />
|
|
which shouldn’t be running as root, needs to create a journal file and the<br />
|
|
default zone directory isn’t writeable by named).</li>
|
|
</ul>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>zone "k8s.example.org" {
|
|
<a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a> type master;
|
|
<a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a> file "/etc/bind/pri/k8s/k8s.zone";
|
|
<a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a>};
|
|
</code></pre></div>
|
|
<ul>
|
|
<li>Add your key to both transfer and update. For instance with our previous<br />
|
|
zone.</li>
|
|
</ul>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>zone "k8s.example.org" {
|
|
<a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a> type master;
|
|
<a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a> file "/etc/bind/pri/k8s/k8s.zone";
|
|
<a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a> allow-transfer {
|
|
<a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a> key "externaldns-key";
|
|
<a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-6"></a> };
|
|
<a id="__codelineno-2-7" name="__codelineno-2-7" href="#__codelineno-2-7"></a> update-policy {
|
|
<a id="__codelineno-2-8" name="__codelineno-2-8" href="#__codelineno-2-8"></a> grant externaldns-key zonesub ANY;
|
|
<a id="__codelineno-2-9" name="__codelineno-2-9" href="#__codelineno-2-9"></a> };
|
|
<a id="__codelineno-2-10" name="__codelineno-2-10" href="#__codelineno-2-10"></a>};
|
|
</code></pre></div>
|
|
<ul>
|
|
<li>Create a zone file (k8s.zone):</li>
|
|
</ul>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>$TTL 60 ; 1 minute
|
|
<a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a>k8s.example.org IN SOA k8s.example.org. root.k8s.example.org. (
|
|
<a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a> 16 ; serial
|
|
<a id="__codelineno-3-4" name="__codelineno-3-4" href="#__codelineno-3-4"></a> 60 ; refresh (1 minute)
|
|
<a id="__codelineno-3-5" name="__codelineno-3-5" href="#__codelineno-3-5"></a> 60 ; retry (1 minute)
|
|
<a id="__codelineno-3-6" name="__codelineno-3-6" href="#__codelineno-3-6"></a> 60 ; expire (1 minute)
|
|
<a id="__codelineno-3-7" name="__codelineno-3-7" href="#__codelineno-3-7"></a> 60 ; minimum (1 minute)
|
|
<a id="__codelineno-3-8" name="__codelineno-3-8" href="#__codelineno-3-8"></a> )
|
|
<a id="__codelineno-3-9" name="__codelineno-3-9" href="#__codelineno-3-9"></a> NS ns.k8s.example.org.
|
|
<a id="__codelineno-3-10" name="__codelineno-3-10" href="#__codelineno-3-10"></a>ns A 123.456.789.012
|
|
</code></pre></div>
|
|
<ul>
|
|
<li>Reload (or restart) named</li>
|
|
</ul>
|
|
<h3 id="using-external-dns">Using external-dns<a class="headerlink" href="#using-external-dns" title="Permanent link">¶</a></h3>
|
|
<p>To use external-dns add an ingress or a LoadBalancer service with a host that<br />
|
|
is part of the domain-filter. For example both of the following would produce<br />
|
|
A records.</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>apiVersion: v1
|
|
<a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a>kind: Service
|
|
<a id="__codelineno-4-3" name="__codelineno-4-3" href="#__codelineno-4-3"></a>metadata:
|
|
<a id="__codelineno-4-4" name="__codelineno-4-4" href="#__codelineno-4-4"></a> name: nginx
|
|
<a id="__codelineno-4-5" name="__codelineno-4-5" href="#__codelineno-4-5"></a> annotations:
|
|
<a id="__codelineno-4-6" name="__codelineno-4-6" href="#__codelineno-4-6"></a> external-dns.alpha.kubernetes.io/hostname: svc.example.org
|
|
<a id="__codelineno-4-7" name="__codelineno-4-7" href="#__codelineno-4-7"></a>spec:
|
|
<a id="__codelineno-4-8" name="__codelineno-4-8" href="#__codelineno-4-8"></a> type: LoadBalancer
|
|
<a id="__codelineno-4-9" name="__codelineno-4-9" href="#__codelineno-4-9"></a> ports:
|
|
<a id="__codelineno-4-10" name="__codelineno-4-10" href="#__codelineno-4-10"></a> - port: 80
|
|
<a id="__codelineno-4-11" name="__codelineno-4-11" href="#__codelineno-4-11"></a> targetPort: 80
|
|
<a id="__codelineno-4-12" name="__codelineno-4-12" href="#__codelineno-4-12"></a> selector:
|
|
<a id="__codelineno-4-13" name="__codelineno-4-13" href="#__codelineno-4-13"></a> app: nginx
|
|
<a id="__codelineno-4-14" name="__codelineno-4-14" href="#__codelineno-4-14"></a>---
|
|
<a id="__codelineno-4-15" name="__codelineno-4-15" href="#__codelineno-4-15"></a>apiVersion: networking.k8s.io/v1
|
|
<a id="__codelineno-4-16" name="__codelineno-4-16" href="#__codelineno-4-16"></a>kind: Ingress
|
|
<a id="__codelineno-4-17" name="__codelineno-4-17" href="#__codelineno-4-17"></a>metadata:
|
|
<a id="__codelineno-4-18" name="__codelineno-4-18" href="#__codelineno-4-18"></a> name: my-ingress
|
|
<a id="__codelineno-4-19" name="__codelineno-4-19" href="#__codelineno-4-19"></a>spec:
|
|
<a id="__codelineno-4-20" name="__codelineno-4-20" href="#__codelineno-4-20"></a> rules:
|
|
<a id="__codelineno-4-21" name="__codelineno-4-21" href="#__codelineno-4-21"></a> - host: ingress.example.org
|
|
<a id="__codelineno-4-22" name="__codelineno-4-22" href="#__codelineno-4-22"></a> http:
|
|
<a id="__codelineno-4-23" name="__codelineno-4-23" href="#__codelineno-4-23"></a> paths:
|
|
<a id="__codelineno-4-24" name="__codelineno-4-24" href="#__codelineno-4-24"></a> - path: /
|
|
<a id="__codelineno-4-25" name="__codelineno-4-25" href="#__codelineno-4-25"></a> backend:
|
|
<a id="__codelineno-4-26" name="__codelineno-4-26" href="#__codelineno-4-26"></a> serviceName: my-service
|
|
<a id="__codelineno-4-27" name="__codelineno-4-27" href="#__codelineno-4-27"></a> servicePort: 8000
|
|
</code></pre></div>
|
|
<h3 id="custom-ttl">Custom TTL<a class="headerlink" href="#custom-ttl" title="Permanent link">¶</a></h3>
|
|
<p>The default DNS record TTL (Time-To-Live) is 0 seconds. You can customize this value by setting the annotation <code>external-dns.alpha.kubernetes.io/ttl</code>. e.g., modify the service manifest YAML file above:</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a><span class="nt">apiVersion</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">v1</span>
|
|
<a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a><span class="nt">kind</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Service</span>
|
|
<a id="__codelineno-5-3" name="__codelineno-5-3" href="#__codelineno-5-3"></a><span class="nt">metadata</span><span class="p">:</span>
|
|
<a id="__codelineno-5-4" name="__codelineno-5-4" href="#__codelineno-5-4"></a><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">nginx</span>
|
|
<a id="__codelineno-5-5" name="__codelineno-5-5" href="#__codelineno-5-5"></a><span class="w"> </span><span class="nt">annotations</span><span class="p">:</span>
|
|
<a id="__codelineno-5-6" name="__codelineno-5-6" href="#__codelineno-5-6"></a><span class="w"> </span><span class="nt">external-dns.alpha.kubernetes.io/hostname</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">nginx.external-dns-test.my-org.com</span>
|
|
<a id="__codelineno-5-7" name="__codelineno-5-7" href="#__codelineno-5-7"></a><span class="w"> </span><span class="nt">external-dns.alpha.kubernetes.io/ttl</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">60</span>
|
|
<a id="__codelineno-5-8" name="__codelineno-5-8" href="#__codelineno-5-8"></a><span class="nt">spec</span><span class="p">:</span>
|
|
<a id="__codelineno-5-9" name="__codelineno-5-9" href="#__codelineno-5-9"></a><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">...</span>
|
|
</code></pre></div>
|
|
<p>This will set the DNS record’s TTL to 60 seconds.</p>
|
|
<p>A default TTL for all records can be set using the the flag with a time in seconds, minutes or hours, such as <code>--rfc2136-min-ttl=60s</code></p>
|
|
<p>There are other annotation that can affect the generation of DNS records, but these are beyond the scope of this<br />
|
|
tutorial and are covered in the main documentation.</p>
|
|
<h3 id="generate-reverse-dns-records">Generate reverse DNS records<a class="headerlink" href="#generate-reverse-dns-records" title="Permanent link">¶</a></h3>
|
|
<p>If you want to generate reverse DNS records for your services, you have to enable the functionality using the <code>--rfc2136-create-ptr</code><br />
|
|
flag. You have also to add the zone to the list of zones managed by ExternalDNS via the <code>--rfc2136-zone</code> and <code>--domain-filter</code> flags.<br />
|
|
An example of a valid configuration is the following:</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a>--domain-filter<span class="o">=</span><span class="m">157</span>.168.192.in-addr.arpa<span class="w"> </span>--rfc2136-zone<span class="o">=</span><span class="m">157</span>.168.192.in-addr.arpa
|
|
</code></pre></div>
|
|
<p>PTR record tracking is managed by the A/AAAA record so you can’t create PTR records for already generated A/AAAA records.</p>
|
|
<h3 id="test-with-external-dns-installed-on-local-machine-optional">Test with external-dns installed on local machine (optional)<a class="headerlink" href="#test-with-external-dns-installed-on-local-machine-optional" title="Permanent link">¶</a></h3>
|
|
<p>You may install external-dns and test on a local machine by running:</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a>external-dns<span class="w"> </span>--txt-owner-id<span class="w"> </span>k8s<span class="w"> </span>--provider<span class="w"> </span>rfc2136<span class="w"> </span><span class="se">\</span>
|
|
<a id="__codelineno-7-2" name="__codelineno-7-2" href="#__codelineno-7-2"></a><span class="w"> </span>--rfc2136-host<span class="o">=</span><span class="m">192</span>.168.0.1<span class="w"> </span>--rfc2136-port<span class="o">=</span><span class="m">53</span><span class="w"> </span><span class="se">\</span>
|
|
<a id="__codelineno-7-3" name="__codelineno-7-3" href="#__codelineno-7-3"></a><span class="w"> </span>--rfc2136-zone<span class="o">=</span>k8s.example.org<span class="w"> </span><span class="se">\</span>
|
|
<a id="__codelineno-7-4" name="__codelineno-7-4" href="#__codelineno-7-4"></a><span class="w"> </span>--rfc2136-tsig-secret<span class="o">=</span>96Ah/a2g0/nLeFGK+d/0tzQcccf9hCEIy34PoXX2Qg8<span class="o">=</span><span class="w"> </span><span class="se">\</span>
|
|
<a id="__codelineno-7-5" name="__codelineno-7-5" href="#__codelineno-7-5"></a><span class="w"> </span>--rfc2136-tsig-secret-alg<span class="o">=</span>hmac-sha256<span class="w"> </span><span class="se">\</span>
|
|
<a id="__codelineno-7-6" name="__codelineno-7-6" href="#__codelineno-7-6"></a><span class="w"> </span>--rfc2136-tsig-keyname<span class="o">=</span>externaldns-key<span class="w"> </span><span class="se">\</span>
|
|
<a id="__codelineno-7-7" name="__codelineno-7-7" href="#__codelineno-7-7"></a><span class="w"> </span>--rfc2136-tsig-axfr<span class="w"> </span><span class="se">\</span>
|
|
<a id="__codelineno-7-8" name="__codelineno-7-8" href="#__codelineno-7-8"></a><span class="w"> </span>--source<span class="w"> </span>ingress<span class="w"> </span>--once<span class="w"> </span><span class="se">\</span>
|
|
<a id="__codelineno-7-9" name="__codelineno-7-9" href="#__codelineno-7-9"></a><span class="w"> </span>--domain-filter<span class="o">=</span>k8s.example.org<span class="w"> </span>--dry-run
|
|
</code></pre></div>
|
|
<ul>
|
|
<li>host should be the IP of your master DNS server.</li>
|
|
<li>tsig-secret should be changed to match your secret.</li>
|
|
<li>tsig-keyname needs to match the keyname you used (if you changed it).</li>
|
|
<li>domain-filter can be used as shown to filter the domains you wish to update.</li>
|
|
</ul>
|
|
<h3 id="rfc2136-provider-configuration">RFC2136 provider configuration<a class="headerlink" href="#rfc2136-provider-configuration" title="Permanent link">¶</a></h3>
|
|
<p>In order to use external-dns with your cluster you need to add a deployment<br />
|
|
with access to your ingress and service resources. The following are two<br />
|
|
example manifests with and without RBAC respectively.</p>
|
|
<ul>
|
|
<li>With RBAC:</li>
|
|
</ul>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a>apiVersion: v1
|
|
<a id="__codelineno-8-2" name="__codelineno-8-2" href="#__codelineno-8-2"></a>kind: Namespace
|
|
<a id="__codelineno-8-3" name="__codelineno-8-3" href="#__codelineno-8-3"></a>metadata:
|
|
<a id="__codelineno-8-4" name="__codelineno-8-4" href="#__codelineno-8-4"></a> name: external-dns
|
|
<a id="__codelineno-8-5" name="__codelineno-8-5" href="#__codelineno-8-5"></a> labels:
|
|
<a id="__codelineno-8-6" name="__codelineno-8-6" href="#__codelineno-8-6"></a> name: external-dns
|
|
<a id="__codelineno-8-7" name="__codelineno-8-7" href="#__codelineno-8-7"></a>---
|
|
<a id="__codelineno-8-8" name="__codelineno-8-8" href="#__codelineno-8-8"></a>apiVersion: rbac.authorization.k8s.io/v1
|
|
<a id="__codelineno-8-9" name="__codelineno-8-9" href="#__codelineno-8-9"></a>kind: ClusterRole
|
|
<a id="__codelineno-8-10" name="__codelineno-8-10" href="#__codelineno-8-10"></a>metadata:
|
|
<a id="__codelineno-8-11" name="__codelineno-8-11" href="#__codelineno-8-11"></a> name: external-dns
|
|
<a id="__codelineno-8-12" name="__codelineno-8-12" href="#__codelineno-8-12"></a> namespace: external-dns
|
|
<a id="__codelineno-8-13" name="__codelineno-8-13" href="#__codelineno-8-13"></a>rules:
|
|
<a id="__codelineno-8-14" name="__codelineno-8-14" href="#__codelineno-8-14"></a>- apiGroups:
|
|
<a id="__codelineno-8-15" name="__codelineno-8-15" href="#__codelineno-8-15"></a> - ""
|
|
<a id="__codelineno-8-16" name="__codelineno-8-16" href="#__codelineno-8-16"></a> resources:
|
|
<a id="__codelineno-8-17" name="__codelineno-8-17" href="#__codelineno-8-17"></a> - services
|
|
<a id="__codelineno-8-18" name="__codelineno-8-18" href="#__codelineno-8-18"></a> - endpoints
|
|
<a id="__codelineno-8-19" name="__codelineno-8-19" href="#__codelineno-8-19"></a> - pods
|
|
<a id="__codelineno-8-20" name="__codelineno-8-20" href="#__codelineno-8-20"></a> - nodes
|
|
<a id="__codelineno-8-21" name="__codelineno-8-21" href="#__codelineno-8-21"></a> verbs:
|
|
<a id="__codelineno-8-22" name="__codelineno-8-22" href="#__codelineno-8-22"></a> - get
|
|
<a id="__codelineno-8-23" name="__codelineno-8-23" href="#__codelineno-8-23"></a> - watch
|
|
<a id="__codelineno-8-24" name="__codelineno-8-24" href="#__codelineno-8-24"></a> - list
|
|
<a id="__codelineno-8-25" name="__codelineno-8-25" href="#__codelineno-8-25"></a>- apiGroups:
|
|
<a id="__codelineno-8-26" name="__codelineno-8-26" href="#__codelineno-8-26"></a> - extensions
|
|
<a id="__codelineno-8-27" name="__codelineno-8-27" href="#__codelineno-8-27"></a> - networking.k8s.io
|
|
<a id="__codelineno-8-28" name="__codelineno-8-28" href="#__codelineno-8-28"></a> resources:
|
|
<a id="__codelineno-8-29" name="__codelineno-8-29" href="#__codelineno-8-29"></a> - ingresses
|
|
<a id="__codelineno-8-30" name="__codelineno-8-30" href="#__codelineno-8-30"></a> verbs:
|
|
<a id="__codelineno-8-31" name="__codelineno-8-31" href="#__codelineno-8-31"></a> - get
|
|
<a id="__codelineno-8-32" name="__codelineno-8-32" href="#__codelineno-8-32"></a> - list
|
|
<a id="__codelineno-8-33" name="__codelineno-8-33" href="#__codelineno-8-33"></a> - watch
|
|
<a id="__codelineno-8-34" name="__codelineno-8-34" href="#__codelineno-8-34"></a>---
|
|
<a id="__codelineno-8-35" name="__codelineno-8-35" href="#__codelineno-8-35"></a>apiVersion: v1
|
|
<a id="__codelineno-8-36" name="__codelineno-8-36" href="#__codelineno-8-36"></a>kind: ServiceAccount
|
|
<a id="__codelineno-8-37" name="__codelineno-8-37" href="#__codelineno-8-37"></a>metadata:
|
|
<a id="__codelineno-8-38" name="__codelineno-8-38" href="#__codelineno-8-38"></a> name: external-dns
|
|
<a id="__codelineno-8-39" name="__codelineno-8-39" href="#__codelineno-8-39"></a> namespace: external-dns
|
|
<a id="__codelineno-8-40" name="__codelineno-8-40" href="#__codelineno-8-40"></a>---
|
|
<a id="__codelineno-8-41" name="__codelineno-8-41" href="#__codelineno-8-41"></a>apiVersion: rbac.authorization.k8s.io/v1
|
|
<a id="__codelineno-8-42" name="__codelineno-8-42" href="#__codelineno-8-42"></a>kind: ClusterRoleBinding
|
|
<a id="__codelineno-8-43" name="__codelineno-8-43" href="#__codelineno-8-43"></a>metadata:
|
|
<a id="__codelineno-8-44" name="__codelineno-8-44" href="#__codelineno-8-44"></a> name: external-dns-viewer
|
|
<a id="__codelineno-8-45" name="__codelineno-8-45" href="#__codelineno-8-45"></a> namespace: external-dns
|
|
<a id="__codelineno-8-46" name="__codelineno-8-46" href="#__codelineno-8-46"></a>roleRef:
|
|
<a id="__codelineno-8-47" name="__codelineno-8-47" href="#__codelineno-8-47"></a> apiGroup: rbac.authorization.k8s.io
|
|
<a id="__codelineno-8-48" name="__codelineno-8-48" href="#__codelineno-8-48"></a> kind: ClusterRole
|
|
<a id="__codelineno-8-49" name="__codelineno-8-49" href="#__codelineno-8-49"></a> name: external-dns
|
|
<a id="__codelineno-8-50" name="__codelineno-8-50" href="#__codelineno-8-50"></a>subjects:
|
|
<a id="__codelineno-8-51" name="__codelineno-8-51" href="#__codelineno-8-51"></a>- kind: ServiceAccount
|
|
<a id="__codelineno-8-52" name="__codelineno-8-52" href="#__codelineno-8-52"></a> name: external-dns
|
|
<a id="__codelineno-8-53" name="__codelineno-8-53" href="#__codelineno-8-53"></a> namespace: external-dns
|
|
<a id="__codelineno-8-54" name="__codelineno-8-54" href="#__codelineno-8-54"></a>---
|
|
<a id="__codelineno-8-55" name="__codelineno-8-55" href="#__codelineno-8-55"></a>apiVersion: apps/v1
|
|
<a id="__codelineno-8-56" name="__codelineno-8-56" href="#__codelineno-8-56"></a>kind: Deployment
|
|
<a id="__codelineno-8-57" name="__codelineno-8-57" href="#__codelineno-8-57"></a>metadata:
|
|
<a id="__codelineno-8-58" name="__codelineno-8-58" href="#__codelineno-8-58"></a> name: external-dns
|
|
<a id="__codelineno-8-59" name="__codelineno-8-59" href="#__codelineno-8-59"></a> namespace: external-dns
|
|
<a id="__codelineno-8-60" name="__codelineno-8-60" href="#__codelineno-8-60"></a>spec:
|
|
<a id="__codelineno-8-61" name="__codelineno-8-61" href="#__codelineno-8-61"></a> selector:
|
|
<a id="__codelineno-8-62" name="__codelineno-8-62" href="#__codelineno-8-62"></a> matchLabels:
|
|
<a id="__codelineno-8-63" name="__codelineno-8-63" href="#__codelineno-8-63"></a> app: external-dns
|
|
<a id="__codelineno-8-64" name="__codelineno-8-64" href="#__codelineno-8-64"></a> template:
|
|
<a id="__codelineno-8-65" name="__codelineno-8-65" href="#__codelineno-8-65"></a> metadata:
|
|
<a id="__codelineno-8-66" name="__codelineno-8-66" href="#__codelineno-8-66"></a> labels:
|
|
<a id="__codelineno-8-67" name="__codelineno-8-67" href="#__codelineno-8-67"></a> app: external-dns
|
|
<a id="__codelineno-8-68" name="__codelineno-8-68" href="#__codelineno-8-68"></a> spec:
|
|
<a id="__codelineno-8-69" name="__codelineno-8-69" href="#__codelineno-8-69"></a> serviceAccountName: external-dns
|
|
<a id="__codelineno-8-70" name="__codelineno-8-70" href="#__codelineno-8-70"></a> containers:
|
|
<a id="__codelineno-8-71" name="__codelineno-8-71" href="#__codelineno-8-71"></a> - name: external-dns
|
|
<a id="__codelineno-8-72" name="__codelineno-8-72" href="#__codelineno-8-72"></a> image: registry.k8s.io/external-dns/external-dns:v0.17.0
|
|
<a id="__codelineno-8-73" name="__codelineno-8-73" href="#__codelineno-8-73"></a> args:
|
|
<a id="__codelineno-8-74" name="__codelineno-8-74" href="#__codelineno-8-74"></a> - --registry=txt
|
|
<a id="__codelineno-8-75" name="__codelineno-8-75" href="#__codelineno-8-75"></a> - --txt-prefix=external-dns-
|
|
<a id="__codelineno-8-76" name="__codelineno-8-76" href="#__codelineno-8-76"></a> - --txt-owner-id=k8s
|
|
<a id="__codelineno-8-77" name="__codelineno-8-77" href="#__codelineno-8-77"></a> - --provider=rfc2136
|
|
<a id="__codelineno-8-78" name="__codelineno-8-78" href="#__codelineno-8-78"></a> - --rfc2136-host=192.168.0.1
|
|
<a id="__codelineno-8-79" name="__codelineno-8-79" href="#__codelineno-8-79"></a> - --rfc2136-port=53
|
|
<a id="__codelineno-8-80" name="__codelineno-8-80" href="#__codelineno-8-80"></a> - --rfc2136-zone=k8s.example.org
|
|
<a id="__codelineno-8-81" name="__codelineno-8-81" href="#__codelineno-8-81"></a> - --rfc2136-zone=k8s.your-zone.org
|
|
<a id="__codelineno-8-82" name="__codelineno-8-82" href="#__codelineno-8-82"></a> - --rfc2136-tsig-secret=96Ah/a2g0/nLeFGK+d/0tzQcccf9hCEIy34PoXX2Qg8=
|
|
<a id="__codelineno-8-83" name="__codelineno-8-83" href="#__codelineno-8-83"></a> - --rfc2136-tsig-secret-alg=hmac-sha256
|
|
<a id="__codelineno-8-84" name="__codelineno-8-84" href="#__codelineno-8-84"></a> - --rfc2136-tsig-keyname=externaldns-key
|
|
<a id="__codelineno-8-85" name="__codelineno-8-85" href="#__codelineno-8-85"></a> - --rfc2136-tsig-axfr
|
|
<a id="__codelineno-8-86" name="__codelineno-8-86" href="#__codelineno-8-86"></a> - --source=ingress
|
|
<a id="__codelineno-8-87" name="__codelineno-8-87" href="#__codelineno-8-87"></a> - --domain-filter=k8s.example.org
|
|
</code></pre></div>
|
|
<ul>
|
|
<li>Without RBAC:</li>
|
|
</ul>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a>apiVersion: v1
|
|
<a id="__codelineno-9-2" name="__codelineno-9-2" href="#__codelineno-9-2"></a>kind: Namespace
|
|
<a id="__codelineno-9-3" name="__codelineno-9-3" href="#__codelineno-9-3"></a>metadata:
|
|
<a id="__codelineno-9-4" name="__codelineno-9-4" href="#__codelineno-9-4"></a> name: external-dns
|
|
<a id="__codelineno-9-5" name="__codelineno-9-5" href="#__codelineno-9-5"></a> labels:
|
|
<a id="__codelineno-9-6" name="__codelineno-9-6" href="#__codelineno-9-6"></a> name: external-dns
|
|
<a id="__codelineno-9-7" name="__codelineno-9-7" href="#__codelineno-9-7"></a>---
|
|
<a id="__codelineno-9-8" name="__codelineno-9-8" href="#__codelineno-9-8"></a>apiVersion: apps/v1
|
|
<a id="__codelineno-9-9" name="__codelineno-9-9" href="#__codelineno-9-9"></a>kind: Deployment
|
|
<a id="__codelineno-9-10" name="__codelineno-9-10" href="#__codelineno-9-10"></a>metadata:
|
|
<a id="__codelineno-9-11" name="__codelineno-9-11" href="#__codelineno-9-11"></a> name: external-dns
|
|
<a id="__codelineno-9-12" name="__codelineno-9-12" href="#__codelineno-9-12"></a> namespace: external-dns
|
|
<a id="__codelineno-9-13" name="__codelineno-9-13" href="#__codelineno-9-13"></a>spec:
|
|
<a id="__codelineno-9-14" name="__codelineno-9-14" href="#__codelineno-9-14"></a> selector:
|
|
<a id="__codelineno-9-15" name="__codelineno-9-15" href="#__codelineno-9-15"></a> matchLabels:
|
|
<a id="__codelineno-9-16" name="__codelineno-9-16" href="#__codelineno-9-16"></a> app: external-dns
|
|
<a id="__codelineno-9-17" name="__codelineno-9-17" href="#__codelineno-9-17"></a> template:
|
|
<a id="__codelineno-9-18" name="__codelineno-9-18" href="#__codelineno-9-18"></a> metadata:
|
|
<a id="__codelineno-9-19" name="__codelineno-9-19" href="#__codelineno-9-19"></a> labels:
|
|
<a id="__codelineno-9-20" name="__codelineno-9-20" href="#__codelineno-9-20"></a> app: external-dns
|
|
<a id="__codelineno-9-21" name="__codelineno-9-21" href="#__codelineno-9-21"></a> spec:
|
|
<a id="__codelineno-9-22" name="__codelineno-9-22" href="#__codelineno-9-22"></a> containers:
|
|
<a id="__codelineno-9-23" name="__codelineno-9-23" href="#__codelineno-9-23"></a> - name: external-dns
|
|
<a id="__codelineno-9-24" name="__codelineno-9-24" href="#__codelineno-9-24"></a> image: registry.k8s.io/external-dns/external-dns:v0.17.0
|
|
<a id="__codelineno-9-25" name="__codelineno-9-25" href="#__codelineno-9-25"></a> args:
|
|
<a id="__codelineno-9-26" name="__codelineno-9-26" href="#__codelineno-9-26"></a> - --registry=txt
|
|
<a id="__codelineno-9-27" name="__codelineno-9-27" href="#__codelineno-9-27"></a> - --txt-prefix=external-dns-
|
|
<a id="__codelineno-9-28" name="__codelineno-9-28" href="#__codelineno-9-28"></a> - --txt-owner-id=k8s
|
|
<a id="__codelineno-9-29" name="__codelineno-9-29" href="#__codelineno-9-29"></a> - --provider=rfc2136
|
|
<a id="__codelineno-9-30" name="__codelineno-9-30" href="#__codelineno-9-30"></a> - --rfc2136-host=192.168.0.1
|
|
<a id="__codelineno-9-31" name="__codelineno-9-31" href="#__codelineno-9-31"></a> - --rfc2136-port=53
|
|
<a id="__codelineno-9-32" name="__codelineno-9-32" href="#__codelineno-9-32"></a> - --rfc2136-zone=k8s.example.org
|
|
<a id="__codelineno-9-33" name="__codelineno-9-33" href="#__codelineno-9-33"></a> - --rfc2136-zone=k8s.your-zone.org
|
|
<a id="__codelineno-9-34" name="__codelineno-9-34" href="#__codelineno-9-34"></a> - --rfc2136-tsig-secret=96Ah/a2g0/nLeFGK+d/0tzQcccf9hCEIy34PoXX2Qg8=
|
|
<a id="__codelineno-9-35" name="__codelineno-9-35" href="#__codelineno-9-35"></a> - --rfc2136-tsig-secret-alg=hmac-sha256
|
|
<a id="__codelineno-9-36" name="__codelineno-9-36" href="#__codelineno-9-36"></a> - --rfc2136-tsig-keyname=externaldns-key
|
|
<a id="__codelineno-9-37" name="__codelineno-9-37" href="#__codelineno-9-37"></a> - --rfc2136-tsig-axfr
|
|
<a id="__codelineno-9-38" name="__codelineno-9-38" href="#__codelineno-9-38"></a> - --source=ingress
|
|
<a id="__codelineno-9-39" name="__codelineno-9-39" href="#__codelineno-9-39"></a> - --domain-filter=k8s.example.org
|
|
</code></pre></div>
|
|
<h2 id="microsoft-dns">Microsoft DNS<a class="headerlink" href="#microsoft-dns" title="Permanent link">¶</a></h2>
|
|
<p>While <code>external-dns</code> was not developed or tested against Microsoft DNS, it can be configured to work against it. YMMV.</p>
|
|
<h3 id="secure-updates-using-rfc3645-gss-tsig">Secure Updates Using RFC3645 (GSS-TSIG)<a class="headerlink" href="#secure-updates-using-rfc3645-gss-tsig" title="Permanent link">¶</a></h3>
|
|
<h4 id="dns-side-configuration">DNS-side configuration<a class="headerlink" href="#dns-side-configuration" title="Permanent link">¶</a></h4>
|
|
<ol>
|
|
<li>Create a DNS zone</li>
|
|
<li>Enable <strong>secure</strong> dynamic updates for the zone</li>
|
|
<li>Enable Zone Transfers to all servers and/or other domains</li>
|
|
<li>Create a user with permissions to create/update/delete records in that zone</li>
|
|
</ol>
|
|
<p>If you see any error messages which indicate that <code>external-dns</code> was somehow not able to fetch<br />
|
|
existing DNS records from your DNS server, this could mean that you forgot about step 3.</p>
|
|
<h5 id="kerberos-configuration">Kerberos Configuration<a class="headerlink" href="#kerberos-configuration" title="Permanent link">¶</a></h5>
|
|
<p>DNS with secure updates relies upon a valid Kerberos configuration running within the <code>external-dns</code> container.<br />
|
|
At this time, you will need to create a ConfigMap for the <code>external-dns</code> container to use and mount it in your deployment.<br />
|
|
Below is an example of a working Kerberos configuration inside a ConfigMap definition. This may be different depending on many factors in your environment:</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a><span class="nt">apiVersion</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">v1</span>
|
|
<a id="__codelineno-10-2" name="__codelineno-10-2" href="#__codelineno-10-2"></a><span class="nt">kind</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">ConfigMap</span>
|
|
<a id="__codelineno-10-3" name="__codelineno-10-3" href="#__codelineno-10-3"></a><span class="nt">metadata</span><span class="p">:</span>
|
|
<a id="__codelineno-10-4" name="__codelineno-10-4" href="#__codelineno-10-4"></a><span class="w"> </span><span class="nt">creationTimestamp</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">null</span>
|
|
<a id="__codelineno-10-5" name="__codelineno-10-5" href="#__codelineno-10-5"></a><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">krb5.conf</span>
|
|
<a id="__codelineno-10-6" name="__codelineno-10-6" href="#__codelineno-10-6"></a><span class="nt">data</span><span class="p">:</span>
|
|
<a id="__codelineno-10-7" name="__codelineno-10-7" href="#__codelineno-10-7"></a><span class="w"> </span><span class="nt">krb5.conf</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span>
|
|
<a id="__codelineno-10-8" name="__codelineno-10-8" href="#__codelineno-10-8"></a><span class="w"> </span><span class="no">[logging]</span>
|
|
<a id="__codelineno-10-9" name="__codelineno-10-9" href="#__codelineno-10-9"></a><span class="w"> </span><span class="no">default = FILE:/var/log/krb5libs.log</span>
|
|
<a id="__codelineno-10-10" name="__codelineno-10-10" href="#__codelineno-10-10"></a><span class="w"> </span><span class="no">kdc = FILE:/var/log/krb5kdc.log</span>
|
|
<a id="__codelineno-10-11" name="__codelineno-10-11" href="#__codelineno-10-11"></a><span class="w"> </span><span class="no">admin_server = FILE:/var/log/kadmind.log</span>
|
|
<a id="__codelineno-10-12" name="__codelineno-10-12" href="#__codelineno-10-12"></a>
|
|
<a id="__codelineno-10-13" name="__codelineno-10-13" href="#__codelineno-10-13"></a><span class="w"> </span><span class="no">[libdefaults]</span>
|
|
<a id="__codelineno-10-14" name="__codelineno-10-14" href="#__codelineno-10-14"></a><span class="w"> </span><span class="no">dns_lookup_realm = false</span>
|
|
<a id="__codelineno-10-15" name="__codelineno-10-15" href="#__codelineno-10-15"></a><span class="w"> </span><span class="no">ticket_lifetime = 24h</span>
|
|
<a id="__codelineno-10-16" name="__codelineno-10-16" href="#__codelineno-10-16"></a><span class="w"> </span><span class="no">renew_lifetime = 7d</span>
|
|
<a id="__codelineno-10-17" name="__codelineno-10-17" href="#__codelineno-10-17"></a><span class="w"> </span><span class="no">forwardable = true</span>
|
|
<a id="__codelineno-10-18" name="__codelineno-10-18" href="#__codelineno-10-18"></a><span class="w"> </span><span class="no">rdns = false</span>
|
|
<a id="__codelineno-10-19" name="__codelineno-10-19" href="#__codelineno-10-19"></a><span class="w"> </span><span class="no">pkinit_anchors = /etc/pki/tls/certs/ca-bundle.crt</span>
|
|
<a id="__codelineno-10-20" name="__codelineno-10-20" href="#__codelineno-10-20"></a><span class="w"> </span><span class="no">default_ccache_name = KEYRING:persistent:%{uid}</span>
|
|
<a id="__codelineno-10-21" name="__codelineno-10-21" href="#__codelineno-10-21"></a>
|
|
<a id="__codelineno-10-22" name="__codelineno-10-22" href="#__codelineno-10-22"></a><span class="w"> </span><span class="no">default_realm = YOUR-REALM.COM</span>
|
|
<a id="__codelineno-10-23" name="__codelineno-10-23" href="#__codelineno-10-23"></a>
|
|
<a id="__codelineno-10-24" name="__codelineno-10-24" href="#__codelineno-10-24"></a><span class="w"> </span><span class="no">[realms]</span>
|
|
<a id="__codelineno-10-25" name="__codelineno-10-25" href="#__codelineno-10-25"></a><span class="w"> </span><span class="no">YOUR-REALM.COM = {</span>
|
|
<a id="__codelineno-10-26" name="__codelineno-10-26" href="#__codelineno-10-26"></a><span class="w"> </span><span class="no">kdc = dc1.yourdomain.com</span>
|
|
<a id="__codelineno-10-27" name="__codelineno-10-27" href="#__codelineno-10-27"></a><span class="w"> </span><span class="no">admin_server = dc1.yourdomain.com</span>
|
|
<a id="__codelineno-10-28" name="__codelineno-10-28" href="#__codelineno-10-28"></a><span class="w"> </span><span class="no">}</span>
|
|
<a id="__codelineno-10-29" name="__codelineno-10-29" href="#__codelineno-10-29"></a>
|
|
<a id="__codelineno-10-30" name="__codelineno-10-30" href="#__codelineno-10-30"></a><span class="w"> </span><span class="no">[domain_realm]</span>
|
|
<a id="__codelineno-10-31" name="__codelineno-10-31" href="#__codelineno-10-31"></a><span class="w"> </span><span class="no">yourdomain.com = YOUR-REALM.COM</span>
|
|
<a id="__codelineno-10-32" name="__codelineno-10-32" href="#__codelineno-10-32"></a><span class="w"> </span><span class="no">.yourdomain.com = YOUR-REALM.COM</span>
|
|
</code></pre></div>
|
|
<p>In most cases, the realm name will probably be the same as the domain name, so you can simply replace <code>YOUR-REALM.COM</code> with something like <code>YOURDOMAIN.COM</code>.</p>
|
|
<p>Once the ConfigMap is created, the container <code>external-dns</code> container needs to be told to mount that ConfigMap as a volume at the default Kerberos configuration location. The pod spec should include a similar configuration to the following:</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a><span class="nn">...</span>
|
|
<a id="__codelineno-11-2" name="__codelineno-11-2" href="#__codelineno-11-2"></a><span class="w"> </span><span class="nt">volumeMounts</span><span class="p">:</span>
|
|
<a id="__codelineno-11-3" name="__codelineno-11-3" href="#__codelineno-11-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">mountPath</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/etc/krb5.conf</span>
|
|
<a id="__codelineno-11-4" name="__codelineno-11-4" href="#__codelineno-11-4"></a><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">kerberos-config-volume</span>
|
|
<a id="__codelineno-11-5" name="__codelineno-11-5" href="#__codelineno-11-5"></a><span class="w"> </span><span class="nt">subPath</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">krb5.conf</span>
|
|
<a id="__codelineno-11-6" name="__codelineno-11-6" href="#__codelineno-11-6"></a><span class="nn">...</span>
|
|
<a id="__codelineno-11-7" name="__codelineno-11-7" href="#__codelineno-11-7"></a><span class="w"> </span><span class="nt">volumes</span><span class="p">:</span>
|
|
<a id="__codelineno-11-8" name="__codelineno-11-8" href="#__codelineno-11-8"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">configMap</span><span class="p">:</span>
|
|
<a id="__codelineno-11-9" name="__codelineno-11-9" href="#__codelineno-11-9"></a><span class="w"> </span><span class="nt">defaultMode</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">420</span>
|
|
<a id="__codelineno-11-10" name="__codelineno-11-10" href="#__codelineno-11-10"></a><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">krb5.conf</span>
|
|
<a id="__codelineno-11-11" name="__codelineno-11-11" href="#__codelineno-11-11"></a><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">kerberos-config-volume</span>
|
|
<a id="__codelineno-11-12" name="__codelineno-11-12" href="#__codelineno-11-12"></a><span class="nn">...</span>
|
|
</code></pre></div>
|
|
<h5 id="external-dns-configuration"><code>external-dns</code> configuration<a class="headerlink" href="#external-dns-configuration" title="Permanent link">¶</a></h5>
|
|
<p>You’ll want to configure <code>external-dns</code> similarly to the following:</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a>...
|
|
<a id="__codelineno-12-2" name="__codelineno-12-2" href="#__codelineno-12-2"></a> - --provider=rfc2136
|
|
<a id="__codelineno-12-3" name="__codelineno-12-3" href="#__codelineno-12-3"></a> - --rfc2136-gss-tsig
|
|
<a id="__codelineno-12-4" name="__codelineno-12-4" href="#__codelineno-12-4"></a> - --rfc2136-host=dns-host.yourdomain.com
|
|
<a id="__codelineno-12-5" name="__codelineno-12-5" href="#__codelineno-12-5"></a> - --rfc2136-port=53
|
|
<a id="__codelineno-12-6" name="__codelineno-12-6" href="#__codelineno-12-6"></a> - --rfc2136-zone=your-zone.com
|
|
<a id="__codelineno-12-7" name="__codelineno-12-7" href="#__codelineno-12-7"></a> - --rfc2136-zone=your-secondary-zone.com
|
|
<a id="__codelineno-12-8" name="__codelineno-12-8" href="#__codelineno-12-8"></a> - --rfc2136-kerberos-username=your-domain-account
|
|
<a id="__codelineno-12-9" name="__codelineno-12-9" href="#__codelineno-12-9"></a> - --rfc2136-kerberos-password=your-domain-password
|
|
<a id="__codelineno-12-10" name="__codelineno-12-10" href="#__codelineno-12-10"></a> - --rfc2136-kerberos-realm=your-domain.com
|
|
<a id="__codelineno-12-11" name="__codelineno-12-11" href="#__codelineno-12-11"></a> - --rfc2136-tsig-axfr # needed to enable zone transfers, which is required for deletion of records.
|
|
<a id="__codelineno-12-12" name="__codelineno-12-12" href="#__codelineno-12-12"></a>...
|
|
</code></pre></div>
|
|
<p>As noted above, the <code>--rfc2136-kerberos-realm</code> flag is completely optional and won’t be necessary in many cases.<br />
|
|
Most likely, you will only need it if you see errors similar to this: <code>KRB Error: (68) KDC_ERR_WRONG_REALM Reserved for future use</code>.</p>
|
|
<p>The flag <code>--rfc2136-host</code> can be set to the host’s domain name or IP address.<br />
|
|
However, it also determines the name of the Kerberos principal which is used during authentication.<br />
|
|
This means that Active Directory might only work if this is set to a specific domain name, possibly leading to errors like this:<br />
|
|
<code>KDC_ERR_S_PRINCIPAL_UNKNOWN Server not found in Kerberos database</code>.<br />
|
|
To fix this, try setting <code>--rfc2136-host</code> to the “actual” hostname of your DNS server.</p>
|
|
<h3 id="insecure-updates">Insecure Updates<a class="headerlink" href="#insecure-updates" title="Permanent link">¶</a></h3>
|
|
<h4 id="dns-side-configuration_1">DNS-side configuration<a class="headerlink" href="#dns-side-configuration_1" title="Permanent link">¶</a></h4>
|
|
<ol>
|
|
<li>Create a DNS zone</li>
|
|
<li>Enable insecure dynamic updates for the zone</li>
|
|
<li>Enable Zone Transfers to all servers and/or other domains</li>
|
|
</ol>
|
|
<h4 id="external-dns-configuration_1"><code>external-dns</code> configuration<a class="headerlink" href="#external-dns-configuration_1" title="Permanent link">¶</a></h4>
|
|
<p>You’ll want to configure <code>external-dns</code> similarly to the following:</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a>...
|
|
<a id="__codelineno-13-2" name="__codelineno-13-2" href="#__codelineno-13-2"></a> - --provider=rfc2136
|
|
<a id="__codelineno-13-3" name="__codelineno-13-3" href="#__codelineno-13-3"></a> - --rfc2136-host=192.168.0.1
|
|
<a id="__codelineno-13-4" name="__codelineno-13-4" href="#__codelineno-13-4"></a> - --rfc2136-port=53
|
|
<a id="__codelineno-13-5" name="__codelineno-13-5" href="#__codelineno-13-5"></a> - --rfc2136-zone=k8s.example.org
|
|
<a id="__codelineno-13-6" name="__codelineno-13-6" href="#__codelineno-13-6"></a> - --rfc2136-zone=k8s.your-zone.org
|
|
<a id="__codelineno-13-7" name="__codelineno-13-7" href="#__codelineno-13-7"></a> - --rfc2136-insecure
|
|
<a id="__codelineno-13-8" name="__codelineno-13-8" href="#__codelineno-13-8"></a> - --rfc2136-tsig-axfr # needed to enable zone transfers, which is required for deletion of records.
|
|
<a id="__codelineno-13-9" name="__codelineno-13-9" href="#__codelineno-13-9"></a>...
|
|
</code></pre></div>
|
|
<h2 id="dns-over-tls-rfcs-7858-and-9103">DNS Over TLS (RFCs 7858 and 9103)<a class="headerlink" href="#dns-over-tls-rfcs-7858-and-9103" title="Permanent link">¶</a></h2>
|
|
<p>If your DNS server does zone transfers over TLS, you can instruct <code>external-dns</code> to connect over TLS with the following flags:</p>
|
|
<ul>
|
|
<li><code>--rfc2136-use-tls</code> Will enable TLS for both zone transfers and for updates.</li>
|
|
<li><code>--tls-ca=<cert-file></code> Is the path to a file containing certificate(s) that can be used to verify the DNS server</li>
|
|
<li><code>--tls-client-cert=<client-cert-file></code> and</li>
|
|
<li><code>--tls-client-cert-key=<client-key-file></code> Set the client certificate and key for mutual verification</li>
|
|
<li><code>--rfc2136-skip-tls-verify</code> Disables verification of the certificate supplied by the DNS server.</li>
|
|
</ul>
|
|
<p>It is currently not supported to do only zone transfers over TLS, but not the updates. They are enabled and disabled together.</p>
|
|
<h2 id="configuring-rfc2136-provider-with-multiple-hosts-and-load-balancing">Configuring RFC2136 Provider with Multiple Hosts and Load Balancing<a class="headerlink" href="#configuring-rfc2136-provider-with-multiple-hosts-and-load-balancing" title="Permanent link">¶</a></h2>
|
|
<p>This section describes how to configure the RFC2136 provider in ExternalDNS to support multiple DNS servers and load balancing options.</p>
|
|
<h3 id="enhancements-overview">Enhancements Overview<a class="headerlink" href="#enhancements-overview" title="Permanent link">¶</a></h3>
|
|
<p>The RFC2136 provider now supports multiple DNS hosts and introduces load balancing options to distribute DNS update requests evenly across available DNS servers. This helps prevent a single server from becoming a bottleneck in environments with multiple DNS servers.</p>
|
|
<h3 id="configuration-steps">Configuration Steps<a class="headerlink" href="#configuration-steps" title="Permanent link">¶</a></h3>
|
|
<ol>
|
|
<li>
|
|
<p><strong>Allow Multiple Hosts for <code>--rfc2136-host</code></strong></p>
|
|
<ul>
|
|
<li>Modify the <code>--rfc2136-host</code> command-line option to accept multiple hosts.</li>
|
|
<li>Example: <code>--rfc2136-host="dns-host-1.yourdomain.com" --rfc2136-host="dns-host-2.yourdomain.com"</code></li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p><strong>Introduce Load Balancing Options</strong></p>
|
|
<ul>
|
|
<li>Add a new command-line option <code>--rfc2136-load-balancing-strategy</code> to specify the load balancing strategy.</li>
|
|
<li>Supported options:<ul>
|
|
<li><code>round-robin</code>: Distributes DNS updates evenly across all specified hosts in a round-robin manner.</li>
|
|
<li><code>random</code>: Randomly selects a host for each DNS update.</li>
|
|
<li><code>disabled</code> (default): Uses the first host in the list as the primary, only moving to the next host if a failure occurs.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ol>
|
|
<h3 id="example-configuration">Example Configuration<a class="headerlink" href="#example-configuration" title="Permanent link">¶</a></h3>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a>external-dns<span class="w"> </span><span class="se">\</span>
|
|
<a id="__codelineno-14-2" name="__codelineno-14-2" href="#__codelineno-14-2"></a><span class="w"> </span>--provider<span class="o">=</span>rfc2136<span class="w"> </span><span class="se">\</span>
|
|
<a id="__codelineno-14-3" name="__codelineno-14-3" href="#__codelineno-14-3"></a><span class="w"> </span>--rfc2136-host<span class="o">=</span><span class="s2">"dns-host-1.yourdomain.com"</span><span class="w"> </span><span class="se">\</span>
|
|
<a id="__codelineno-14-4" name="__codelineno-14-4" href="#__codelineno-14-4"></a><span class="w"> </span>--rfc2136-host<span class="o">=</span><span class="s2">"dns-host-2.yourdomain.com"</span><span class="w"> </span><span class="se">\</span>
|
|
<a id="__codelineno-14-5" name="__codelineno-14-5" href="#__codelineno-14-5"></a><span class="w"> </span>--rfc2136-host<span class="o">=</span><span class="s2">"dns-host-3.yourdomain.com"</span><span class="w"> </span><span class="se">\</span>
|
|
<a id="__codelineno-14-6" name="__codelineno-14-6" href="#__codelineno-14-6"></a><span class="w"> </span>--rfc2136-load-balancing-strategy<span class="o">=</span><span class="s2">"round-robin"</span><span class="w"> </span><span class="se">\</span>
|
|
<a id="__codelineno-14-7" name="__codelineno-14-7" href="#__codelineno-14-7"></a><span class="w"> </span>--rfc2136-port<span class="o">=</span><span class="m">53</span><span class="w"> </span><span class="se">\</span>
|
|
<a id="__codelineno-14-8" name="__codelineno-14-8" href="#__codelineno-14-8"></a><span class="w"> </span>--rfc2136-zone<span class="o">=</span>example.com<span class="w"> </span><span class="se">\</span>
|
|
<a id="__codelineno-14-9" name="__codelineno-14-9" href="#__codelineno-14-9"></a><span class="w"> </span>--rfc2136-tsig-secret-alg<span class="o">=</span>hmac-sha256<span class="w"> </span><span class="se">\</span>
|
|
<a id="__codelineno-14-10" name="__codelineno-14-10" href="#__codelineno-14-10"></a><span class="w"> </span>--rfc2136-tsig-keyname<span class="o">=</span>example-key<span class="w"> </span><span class="se">\</span>
|
|
<a id="__codelineno-14-11" name="__codelineno-14-11" href="#__codelineno-14-11"></a><span class="w"> </span>--rfc2136-tsig-secret<span class="o">=</span>example-secret<span class="w"> </span><span class="se">\</span>
|
|
<a id="__codelineno-14-12" name="__codelineno-14-12" href="#__codelineno-14-12"></a><span class="w"> </span>--rfc2136-insecure
|
|
</code></pre></div>
|
|
<h3 id="helm">Helm<a class="headerlink" href="#helm" title="Permanent link">¶</a></h3>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a><span class="nt">extraArgs</span><span class="p">:</span>
|
|
<a id="__codelineno-15-2" name="__codelineno-15-2" href="#__codelineno-15-2"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">--rfc2136-host="dns-host-1.yourdomain.com"</span>
|
|
<a id="__codelineno-15-3" name="__codelineno-15-3" href="#__codelineno-15-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">--rfc2136-port=53</span>
|
|
<a id="__codelineno-15-4" name="__codelineno-15-4" href="#__codelineno-15-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">--rfc2136-zone=example.com</span>
|
|
<a id="__codelineno-15-5" name="__codelineno-15-5" href="#__codelineno-15-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">--rfc2136-tsig-secret-alg=hmac-sha256</span>
|
|
<a id="__codelineno-15-6" name="__codelineno-15-6" href="#__codelineno-15-6"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">--rfc2136-tsig-axfr</span>
|
|
<a id="__codelineno-15-7" name="__codelineno-15-7" href="#__codelineno-15-7"></a>
|
|
<a id="__codelineno-15-8" name="__codelineno-15-8" href="#__codelineno-15-8"></a><span class="nt">env</span><span class="p">:</span>
|
|
<a id="__codelineno-15-9" name="__codelineno-15-9" href="#__codelineno-15-9"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="s">"EXTERNAL_DNS_RFC2136_TSIG_SECRET"</span>
|
|
<a id="__codelineno-15-10" name="__codelineno-15-10" href="#__codelineno-15-10"></a><span class="w"> </span><span class="nt">valueFrom</span><span class="p">:</span>
|
|
<a id="__codelineno-15-11" name="__codelineno-15-11" href="#__codelineno-15-11"></a><span class="w"> </span><span class="nt">secretKeyRef</span><span class="p">:</span>
|
|
<a id="__codelineno-15-12" name="__codelineno-15-12" href="#__codelineno-15-12"></a><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">rfc2136-keys</span>
|
|
<a id="__codelineno-15-13" name="__codelineno-15-13" href="#__codelineno-15-13"></a><span class="w"> </span><span class="nt">key</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">rfc2136-tsig-secret</span>
|
|
<a id="__codelineno-15-14" name="__codelineno-15-14" href="#__codelineno-15-14"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="s">"EXTERNAL_DNS_RFC2136_TSIG_KEYNAME"</span>
|
|
<a id="__codelineno-15-15" name="__codelineno-15-15" href="#__codelineno-15-15"></a><span class="w"> </span><span class="nt">valueFrom</span><span class="p">:</span>
|
|
<a id="__codelineno-15-16" name="__codelineno-15-16" href="#__codelineno-15-16"></a><span class="w"> </span><span class="nt">secretKeyRef</span><span class="p">:</span>
|
|
<a id="__codelineno-15-17" name="__codelineno-15-17" href="#__codelineno-15-17"></a><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">rfc2136-keys</span>
|
|
<a id="__codelineno-15-18" name="__codelineno-15-18" href="#__codelineno-15-18"></a><span class="w"> </span><span class="nt">key</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">rfc2136-tsig-keyname</span>
|
|
</code></pre></div>
|
|
<h4 id="secret-creation">Secret creation<a class="headerlink" href="#secret-creation" title="Permanent link">¶</a></h4>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a>kubectl<span class="w"> </span>create<span class="w"> </span>secret<span class="w"> </span>generic<span class="w"> </span>rfc2136-keys<span class="w"> </span>--from-literal<span class="o">=</span>rfc2136-tsig-secret<span class="o">=</span><span class="s1">'xxx'</span><span class="w"> </span>--from-literal<span class="o">=</span>rfc2136-tsig-keyname<span class="o">=</span><span class="s1">'k8s-external-dns-key'</span><span class="w"> </span>-n<span class="w"> </span>external-dns
|
|
</code></pre></div>
|
|
<h3 id="benefits">Benefits<a class="headerlink" href="#benefits" title="Permanent link">¶</a></h3>
|
|
<ul>
|
|
<li>Distributes the load of DNS updates across multiple data centers, preventing any single DC from becoming a bottleneck.</li>
|
|
<li>Provides flexibility to choose different load balancing strategies based on the environment and requirements.</li>
|
|
<li>Improves the resilience and reliability of DNS updates by introducing a retry mechanism with a list of hosts.</li>
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<aside class="md-source-file">
|
|
|
|
|
|
<span class="md-source-file__fact">
|
|
<span class="md-icon" title="Last update">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1-2.1-2M12.5 7v5.2l4 2.4-1 1L11 13V7h1.5M11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2v1.8Z"/></svg>
|
|
</span>
|
|
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date">May 14, 2025</span>
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
</aside>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
</div>
|
|
|
|
|
|
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
|
|
</div>
|
|
|
|
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg>
|
|
Back to top
|
|
</button>
|
|
|
|
</main>
|
|
|
|
<footer class="md-footer">
|
|
|
|
<div class="md-footer-meta md-typeset">
|
|
<div class="md-footer-meta__inner md-grid">
|
|
<!--
|
|
Copyright (c) 2016-2024 Martin Donath <martin.donath@squidfunk.com>
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files (the "Software"), to
|
|
deal in the Software without restriction, including without limitation the
|
|
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
|
sell copies of the Software, and to permit persons to whom the Software is
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in
|
|
all copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
IN THE SOFTWARE.
|
|
-->
|
|
|
|
<!-- Copyright and theme information -->
|
|
<div class="md-copyright">
|
|
|
|
|
|
Made with
|
|
<a
|
|
href="https://squidfunk.github.io/mkdocs-material/"
|
|
target="_blank" rel="noopener"
|
|
>
|
|
Material for MkDocs
|
|
</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
|
|
</div>
|
|
<div class="md-dialog" data-md-component="dialog">
|
|
<div class="md-dialog__inner md-typeset"></div>
|
|
</div>
|
|
|
|
|
|
<script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "navigation.top", "navigation.tracking", "navigation.indexes", "navigation.instant", "navigation.tabs", "navigation.tabs.sticky"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
|
|
|
|
|
|
<script src="../../../assets/javascripts/bundle.1e8ae164.min.js"></script>
|
|
|
|
|
|
</body>
|
|
</html> |