DNS

マネージド DNS のゾーン及びレコードの設定を行います。

なお、External-DNSがデフォルトで有効となっているため、レコード登録は、本パッケージではなく自動で行うことが可能です。 (External-DNS:Istio Virtual Service, Gatewayを情報ソースとして参照し、DNSレコードを自動で登録する機能)

ゾーンはExternal-DNSでは作成されないためDNSパッケージにて作成します。

External-DNSにより以下を実施可能です。

  • 本パッケージを利用してレコードを作成しなくても、別パッケージ(Deployment)からサービスの定義をしただけでレコードが登録されます。

  • レコードの更新にも対応しているため、エフェメラルIPを使っている場合でもドメインを使うことが可能です。(IPが変わってもレコードに自動反映します)

設定値

Chart

dns

対応サービス

パッケージの機能

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

  • zone

追加するゾーン名のリスト

type

array

items

追加するゾーン名と公開設定

type

object

properties

  • name

追加するゾーン名

type

string / null

  • visibility

追加するゾーンの公開設定。指定しない場合にはパブリック

enum

public, Public, private, Private

  • location

ロケーション

type

string / null

  • vpc

VPCの設定。Azureの場合VNet

type

object / null

properties

  • name

vpc名

type

string

  • azure

type

object

properties

  • resourceGroup

VNetのRGを指定する(CNAP 共有 Resource Groupである必要があります)

type

string

  • aws

type

object

properties

  • location

VPCのロケーション、指定しない場合クラスタと同一になる

type

string

  • records

追加するレコードのリスト

type

array

items

Aレコード

type

object

properties

  • name

レコードの名前

type

string

  • type

レコードのタイプ

enum

A, a, CNAME, cname

  • ttl

レコードのTTL

type

integer

  • zoneName

レコードのゾーン名

type

string

  • zoneType

ゾーンのタイプ

enum

public, Public, private, Private

  • location

ロケーション(DNSゾーンのロケーション)

type

string / null

  • rrdatas

レコードの値のリスト

type

array

items

type

string

  • resolvers

追加するDNSリゾルバのリスト

type

array

items

DNSリゾルバ

type

object

properties

  • name

DNSリゾルバの名前

type

string

  • location

ロケーション

type

string / null

  • vpc

VPCの設定。Azureの場合VNet

type

object / null

properties

  • name

vpc名

type

string

  • azure

type

object

properties

  • resourceGroup

type

string

  • aws

type

object

properties

  • location

VPCのロケーション、指定しない場合クラスタと同一になる

type

string

  • inboundEndpoint

インバウンドエンドポイントの設定

type

object / null

properties

  • ipAddresses

エンドポイントのリスト

type

array

items

エンドポイントのIPアドレス情報。AWSでは、2つ以上指定する必要があります。

type

object

properties

  • subnet

エンドポイントを作成するサブネット。

type

string

  • ipAddress

エンドポイントのIPアドレス。IPアドレスを指定しない場合にはサブネットから自動割り当てする

type

string

  • outboundEndpoint

アウトバウンドエンドポイントの設定

type

object / null

properties

  • ipAddresses

エンドポイントのリスト

type

array

items

エンドポイントのIPアドレス情報。AWSでは、2つ以上指定する必要があります。

type

object

properties

  • subnet

エンドポイントを作成するサブネット。

type

string

  • ipAddress

エンドポイントのIPアドレス。IPアドレスを指定しない場合にはサブネットから自動割り当てする

type

string

  • keepOnDelete

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

パッケージ内で利用しているライブラリの更新を行いました。