Rancher Kubernetes Engine(RKE)のCLIまたはRancher v2.xのプロビジョニングされたKubernetesクラスタでCoreDNS ConfigMapを更新する方法

Follow
Table of Contents

背景

例えば、query loggingupdate the resolver policyを有効にするために、kube-system Namespaceのcoredns ConfigMapで定義されたCoreDNSのCorefile構成を更新したい場合があります。 この記事では、このConfigMapを更新し、Rancher Kubernetes Engine (RKE) CLIまたはRancher v2.xのプロビジョニングされたクラスタで変更を永続化する方法を詳細に説明します。

事前準備

  • CoreDNS dns addon を使用して、Rancher Kubernetes Engine(RKE)CLIまたはRancher v2.xによってプロビジョニングされたKubernetesクラスタ。
  • global adminまたはcluster ownerのユーザーとしたkubeconfigによるクラスターへのkubectlアクセス。

Steps

  1. 次の kubectl コマンドで、現在の coredns ConfigMap 定義を取得します。

    kubectl -n kube-system get configmap coredns -o go-template={{.data.Corefile}}

    以下のような内容が出力されます。

    .:53 {
        errors
        health
        ready
        kubernetes cluster.local in-addr.arpa ip6.arpa {
          pods insecure
          fallthrough in-addr.arpa ip6.arpa
        }
        prometheus :9153
        forward . "/etc/resolv.conf" {
          policy random
        }
        cache 30
        loop
        reload
        loadbalance
    }
  2. クラスタ構成のYAMLを編集して、必要な変更を加えたcoredns ConfigMapを定義します。 RKE プロビジョニングされたクラスターの場合は、この内容を cluster.yml ファイルに追加します。 Rancherでプロビジョニングされたクラスターの場合、Rancher UIのクラスタービューに移動し、クラスタービューの編集を開き、Edit as YAMLをクリックします。

    以下の内容でアドオンを作成し、Corefileの定義を手順1で取得した既存の構成に置き換えます。その後、必要な変更を加えます。この例では、resolver policyを既存のrandomからsequentalに更新します。

    yaml addons: |- --- apiVersion: v1 kind: ConfigMap metadata: name: coredns namespace: kube-system data: Corefile: | .:53 { errors health ready kubernetes cluster.local in-addr.arpa ip6.arpa { pods insecure fallthrough in-addr.arpa ip6.arpa } prometheus :9153 forward . "/etc/resolv.conf" { policy sequential } cache 30 loop reload loadbalance }

  3. 新しい構成でクラスターを更新します。 RKEのプロビジョニングされたクラスターの場合、rke up --cluster.ymlを実行します(rke upを実行する際には、作業ディレクトリにcluster.rkestateファイルが存在することを確認してください)。 Rancherでプロビジョニングされたクラスターの場合は、Rancher UIの Edit as YAML ビューで Save をクリックします。

参考資料

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.