DNS¶
マネージド DNS のゾーン及びレコードの設定を行います。
なお、External-DNSがデフォルトで有効となっているため、レコード登録は、本パッケージではなく自動で行うことが可能です。 (External-DNS:Istio Virtual Service, Gatewayを情報ソースとして参照し、DNSレコードを自動で登録する機能)
ゾーンはExternal-DNSでは作成されないためDNSパッケージにて作成します。
External-DNSにより以下を実施可能です。
本パッケージを利用してレコードを作成しなくても、別パッケージ(Deployment)からサービスの定義をしただけでレコードが登録されます。
レコードの更新にも対応しているため、エフェメラルIPを使っている場合でもドメインを使うことが可能です。(IPが変わってもレコードに自動反映します)
設定値 |
|
---|---|
Chart |
dns |
対応サービス¶
Azure: AzureDNS
Google Cloud: Google Cloud DNS
AWS: AWS Route 53
パッケージの機能¶
DNSゾーンの作成¶
ゾーン名をリスト形式で指定することで、一つもしくは複数のDNSゾーン、またはプライベートDNSゾーンを設定します。
DNSレコードの追加¶
レコード名をリスト形式で指定することで、一つもしくは複数のDNSゾーンを設定します。
作成可能なレコードタイプはAレコードのみとなります。
DNSリゾルバーの作成¶
プライベートDNSゾーンのDNSリゾルバー(インバウンドエンドポイント、アウトバンドエンドポイント)を作成できます。
Values¶
Default values¶
# Default values for dns.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
global:
vendor:
zone: []
records: []
keepOnDelete: true
alpine:
version: "3.19"
monitoring: {}
Schema reference¶
properties |
|||||||
|
追加するゾーン名のリスト |
||||||
type |
array |
||||||
items |
追加するゾーン名と公開設定 |
||||||
type |
object |
||||||
properties |
|||||||
|
追加するゾーン名 |
||||||
type |
string / null |
||||||
|
追加するゾーンの公開設定。指定しない場合にはパブリック |
||||||
enum |
public, Public, private, Private |
||||||
|
ロケーション |
||||||
type |
string / null |
||||||
|
VPCの設定。Azureの場合VNet |
||||||
type |
object / null |
||||||
properties |
|||||||
|
vpc名 |
||||||
type |
string |
||||||
|
type |
object |
|||||
properties |
|||||||
|
VNetのRGを指定する(CNAP 共有 Resource Groupである必要があります) |
||||||
type |
string |
||||||
|
type |
object |
|||||
properties |
|||||||
|
VPCのロケーション、指定しない場合クラスタと同一になる |
||||||
type |
string |
||||||
|
追加するレコードのリスト |
||||||
type |
array |
||||||
items |
|||||||
Aレコード |
|||||||
type |
object |
||||||
properties |
|||||||
|
レコードの名前 |
||||||
type |
string |
||||||
|
レコードのタイプ |
||||||
enum |
A, a, CNAME, cname |
||||||
|
レコードのTTL |
||||||
type |
integer |
||||||
|
レコードのゾーン名 |
||||||
type |
string |
||||||
|
ゾーンのタイプ |
||||||
enum |
public, Public, private, Private |
||||||
|
ロケーション(DNSゾーンのロケーション) |
||||||
type |
string / null |
||||||
|
レコードの値のリスト |
||||||
type |
array |
||||||
items |
type |
string |
|||||
|
追加するDNSリゾルバのリスト |
||||||
type |
array |
||||||
items |
|||||||
DNSリゾルバ |
|||||||
type |
object |
||||||
properties |
|||||||
|
DNSリゾルバの名前 |
||||||
type |
string |
||||||
|
ロケーション |
||||||
type |
string / null |
||||||
|
VPCの設定。Azureの場合VNet |
||||||
type |
object / null |
||||||
properties |
|||||||
|
vpc名 |
||||||
type |
string |
||||||
|
type |
object |
|||||
properties |
|||||||
|
type |
string |
|||||
|
type |
object |
|||||
properties |
|||||||
|
VPCのロケーション、指定しない場合クラスタと同一になる |
||||||
type |
string |
||||||
|
インバウンドエンドポイントの設定 |
||||||
type |
object / null |
||||||
properties |
|||||||
|
エンドポイントのリスト |
||||||
type |
array |
||||||
items |
エンドポイントのIPアドレス情報。AWSでは、2つ以上指定する必要があります。 |
||||||
type |
object |
||||||
properties |
|||||||
|
エンドポイントを作成するサブネット。 |
||||||
type |
string |
||||||
|
エンドポイントのIPアドレス。IPアドレスを指定しない場合にはサブネットから自動割り当てする |
||||||
type |
string |
||||||
|
アウトバウンドエンドポイントの設定 |
||||||
type |
object / null |
||||||
properties |
|||||||
|
エンドポイントのリスト |
||||||
type |
array |
||||||
items |
エンドポイントのIPアドレス情報。AWSでは、2つ以上指定する必要があります。 |
||||||
type |
object |
||||||
properties |
|||||||
|
エンドポイントを作成するサブネット。 |
||||||
type |
string |
||||||
|
エンドポイントのIPアドレス。IPアドレスを指定しない場合にはサブネットから自動割り当てする |
||||||
type |
string |
||||||
|
Helmのアンインストール時にDNSゾーンリソースを削除せすに残す場合は true |
||||||
type |
boolean |
||||||
default |
True |
Example¶
Example1. Azure ゾーンを作成¶
apiVersion: managed.msp.sbopsv/v1alpha1
kind: Application
metadata:
name: staging-dns
namespace: staging
spec:
chart:
name: dns
version: <latest>
settings:
zone:
- name: sample.com
Example2. Google Cloud ゾーンを作成、Aレコードを設定¶
apiVersion: managed.msp.sbopsv/v1alpha1
kind: Application
metadata:
name: staging-dns
namespace: staging
spec:
chart:
name: dns
version: <latest>
settings:
zone:
- name: sample.com
visibility: public
records:
- name: samplehost01
type: A
ttl: 300
zoneName: samplehost.com
rrdatas:
- 192.168.0.1
- name: samplehost02
type: A
ttl: 300
zoneName: samplehost.com
rrdatas:
- 192.168.0.2
Example3. AWS ゾーンを作成、Aレコードを設定¶
apiVersion: managed.msp.sbopsv/v1alpha1
kind: Application
metadata:
name: staging-dns
namespace: staging
spec:
chart:
name: dns
version: <latest>
settings:
zone:
- name: sample.com
visibility: public
records:
- name: samplehost01
type: A
ttl: 300
zoneName: samplehost.com
rrdatas:
- 192.168.0.1
- name: samplehost02
type: A
ttl: 300
zoneName: samplehost.com
rrdatas:
- 192.168.0.2
Example4. Azure プライベートゾーンを作成、Aレコードを設定、DNSリゾルバーを作成¶
apiVersion: managed.msp.sbopsv/v1alpha1
kind: Application
metadata:
name: staging-private-dns
namespace: staging
spec:
chart:
name: dns
version: <latest>
settings:
zone:
- name: private.sample.com
visibility: private
location: japaneast
vpc:
name: cnap-vnet-01
azure:
resourceGroup: cnap-stg-az-common-rg
records:
- name: sample
type: A
ttl: 300
zoneName: private.sample.com
zoneType: private
rrdatas:
- 192.168.0.1
resolvers:
- name: sample
location: japaneast
vpc:
name: cnap-vnet-01
azure:
resourceGroup: cnap-stg-az-common-rg
inboundEndpoint:
ipAddresses:
- subnet: resolver-inbound-subnet-01
ipAddress: 10.2.0.10
- subnet: resolver-inbound-subnet-02
ipAddress: 10.2.1.10
outboundEndpoint:
ipAddresses:
- subnet: resolver-outbound-subnet-01
- subnet: resolver-outbound-subnet-02
Example5. AWS プライベートゾーンを作成、Aレコードを設定、DNSリゾルバーを作成¶
apiVersion: managed.msp.sbopsv/v1alpha1
kind: Application
metadata:
name: staging-private-dns
namespace: staging
spec:
chart:
name: dns
version: <latest>
settings:
zone:
- name: private.sample.com
visibility: private
vpc:
name: vpc-0bf86a7332e493b89
aws:
location: ap-northeast-1
records:
- name: sample
type: A
ttl: 300
zoneName: private.sample.com
zoneType: private
rrdatas:
- 192.168.0.1
resolvers:
- name: sample
location: ap-northeast-1
vpc:
name: vpc-0bf86a7332e493b89
inboundEndpoint:
ipAddresses:
- subnet: subnet-069f6d04549a64e52
ipAddress: 10.0.128.10
- subnet: subnet-07c8aac5755088263
ipAddress: 10.0.144.10
outboundEndpoint:
ipAddresses:
- subnet: subnet-069f6d04549a64e52
ipAddress: 10.0.128.11
- subnet: subnet-07c8aac5755088263
ipAddress: 10.0.144.11
Change Log¶
0.5.25¶
Released on 2025-08-07
What's Changed
パッケージ内で利用しているライブラリの更新を行いました。
0.5.24¶
Released on 2025-05-15
What's Changed
パッケージ内で利用しているライブラリの更新を行いました。
0.5.23¶
Released on 2025-04-23
What's Changed
- 内部モジュールの更新を実施
0.5.22¶
Released on 2025-02-12
What's Changed
パッケージ内で利用しているライブラリの更新を行いました。