概要
コンポーネントの紹介
DNSAutoscalerはDNS自動水平スケーリングコンポーネントです。1つのdeploymentによってクラスターのノード数およびコア数を取得し、あらかじめ設定されたスケーリングポリシーに基づき、DNSのレプリカ数を自動水平スケーリングします。現在のスケーリングモードは2種類に分かれ、それぞれLinear線形モードおよびLadder段階モードです。 Linear Mode
data:
linear: |-
{
"coresPerReplica": 2,
"nodesPerReplica": 1,
"min": 1,
"max": 100,
"preventSinglePointFailure": true
}
目標レプリカの計算公式:
replicas = max( ceil( cores _ 1/coresPerReplica ) , ceil( nodes _ 1/nodesPerReplica ) )
replicas = min(replicas, max)
replicas = max(replicas, min)
Ladder Mode
data:
ladder: |-
{
"coresToReplicas":
[
[ 1, 1 ],
[ 64, 3 ],
[ 512, 5 ],
[ 1024, 7 ],
[ 2048, 10 ],
[ 4096, 15 ]
],
"nodesToReplicas":
[
[ 1, 1 ],
[ 2, 2 ]
]
}
目標レプリカの計算:
100nodes/400coresのクラスター内で、上記の設定に従い、nodesToReplicasが2(100>2)、coresToReplicasが3(64<400<512)と仮定すると、両者の大きい方の値は3であり、最終replicaは3です。
クラスター内にデプロイされたKubernetesオブジェクト
制限条件
バージョン1.8以上のkubernetesクラスターのみサポートしています。
クラスター内のdns serverのワークロードはdeployment/corednsです。
特記事項
CoreDNSの水平スケーリングによって一部のレプリカが一定時間内使用できなくなる可能性があるため、このコンポーネントをインストールする前に、関連する最適化設定を行い、DNSサービスの可用性を最大限保証することを強くお勧めします。具体的にはCoreDNSのスムーズアップグレードを設定するをご参照ください。 利用方法
1. TKEコンソールにログインし、左側ナビゲーションバーでクラスターを選択します 2. 「クラスター管理」ページで目標のクラスターIDをクリックし、クラスター詳細ページに進みます。
3. 左側メニューバーのコンポーネント管理を選択し、「コンポーネントリスト」ページに進みます。
4. 「コンポーネントリスト」ページで新規作成を選択し、「コンポーネントの新規作成」ページでDNSAutoscalerにチェックを入れます。
このコンポーネントのデフォルトのスケーリング設定ポリシーは次のとおりです。
data:
ladder: |-
{
"coresToReplicas":
[
[ 1, 1 ],
[ 128, 3 ],
[ 512,4 ],
],
"nodesToReplicas":
[
[ 1, 1 ],
[ 2, 2 ]
]
}
コンポーネント作成の拡張に成功すると、kube-systemネームスペース下のconfigmap/tke-dns-autoscalerを変更することによって設定を変更することができます。詳細な設定については、公式ドキュメントをご参照ください。 5. 完了をクリックすれば、コンポーネントの作成は完了です。