tencent cloud

Tencent Kubernetes Engine

ネイティブノードの新規作成

Download
フォーカスモード
フォントサイズ
最終更新日: 2023-05-08 18:28:50
ここでは、コンソールとYAMLからネイティブノードを作成する方法をご紹介します。

前提条件

TKEコンソールにログインしていることが必要です。
TKE 標準クラスターを作成済みであることが必要です。まだ作成していない場合は、標準クラスターのクイック作成をご参照ください。
説明
ネイティブノードは、ノードプールによる管理のみをサポートしています。

コンソールから作成

1. TKEコンソールにログインし、左側ナビゲーションバーからクラスターを選択します。
2. クラスターリストページで、クラスターIDをクリックし、このクラスターの詳細ページに進みます。
3. 左側メニューバーのノード管理 > ノードプールを選択し、「ノードプールリスト」ページに進みます。
4. ノードプールの新規作成をクリックし、「ノードプールの新規作成」ページに進みます。パラメータの作成の説明の注意事項を参考に、下図に示すとおり、設定を行ってください。

5. (オプション)その他の設定をクリックすると、下図に示すとおり、その他の情報を確認または設定することができます。

6. ノードプールの作成をクリックすれば完了です。

YAMLで作成します

ネイティブノードプールのkubernetesリソースは、下記のとおりです。YAMLフィールドについては、パラメータの作成の説明をご参照ください。
apiVersion: node.tke.cloud.tencent.com/v1beta1
kind: MachineSet
spec:
type: Native
displayName: mstest
replicas: 2
autoRepair: true
deletePolicy: Random
healthCheckPolicyName: test-all
instanceTypes:
- C3.LARGE8
subnetIDs:
- subnet-xxxxxxxx
- subnet-yyyyyyyy
scaling:
createPolicy: ZonePriority
maxReplicas: 100
template:
spec:
displayName: mtest
runtimeRootDir: /var/lib/containerd
unschedulable: false
metadata:
labels:
key1: "val1"
key2: "val2"
providerSpec:
type: Native
value:
instanceChargeType: PostpaidByHour
lifecycle:
preInit: "echo hello"
postInit: "echo world"
management:
hosts:
- Hostnames:
- lkongtest
IP: 22.22.22.22
nameservers:
- 183.60.83.19
- 183.60.82.98
- 8.8.8.8
metadata:
creationTimestamp: null
securityGroupIDs:
- sg-xxxxxxxx
systemDisk:
diskSize: 50
diskType: CloudPremium

パラメータの作成の説明

パラメータの所属モジュール
パラメータ項目
YAMLフィールド
説明
スタートアップコンフィギュレーション
ノードプールのタイプ
フィールド名:spec.type
フィールド値:Native
Nativeは、ネイティブノードプールを表しています。
ノードプールの名前
フィールド名:metadata.name
フィールド値:demo-machineset(カスタマイズ)
カスタマイズでは、業務上のニーズなどの情報に応じて命名することで、今後のリソース管理が便利になります。
課金モデル
フィールド名:spec.template.spec.providerSpec.value.instanceChargeType
フィールド値:PostpaidByHour(従量課金)
従量課金の課金モデルを提供します。実際のニーズに応じて選択してください。
モデルコンフィグレーション
モデル:
フィールド名:spec.instanceTypes
フィールド値:S2.MEDIUM4(コンソールを参考にしてその他のモデル仕様を取得することができます)

システムディスク:
フィールド名:spec.template.spec.providerSpec.value.systemDisk.diskSize/diskType
フィールド値:
diskSize: 50(システムディスクのサイズは、10の倍数でカスタマイズすることができ、最小で50Gです)
diskType: CloudPremium / CloudSSD(システムディスクのタイプで、高性能/SSDをサポートしています)
「モデルコンフィグレーション」ウィンドウで、下記の情報を参考に、必要に応じて選択してください。
アベイラビリティーゾーン:このオプションは、選択したアベイラビリティーゾーンで利用可能なインスタンスタイプのフィルタリングに用います。詳細については、ネイティブノードリージョンとアベイラビリティーゾーンをご参照ください。
モデル:CPUのコア数、メモリのサイズおよびインスタンスタイプによるフィルタリングをサポートしています。システムディスク:ストレージ制御、ノードの実行をスケジューリングするシステムの集まりで、ビルドサイズ > 100GB となっています。
セキュリティグループ
フィールド名:spec.template.spec.providerSpec.value.securityGroupIDs
フィールド値:sg-a7msxxx(セキュリティグループID)
デフォルトでクラスター作成時に設定したセキュリティグループです。実際のニーズに応じて、変更または追加してください。
数量
フィールド名:spec.replicas
フィールド値:7(カスタマイズ)
ノードプール内でメンテナンスをする際の必要なノード数量に対応します。実際のニーズに応じて、設定をしてください。例えば、この数量を5と入力した場合、ノードプールは、5台のノードメンテナンスを作成します。
コンテナネットワーク
フィールド名:spec.subnetIDs
フィールド値:subnet-i2ghxxxx(コンテナサブネットID)
実際のニーズに応じて、適切で利用可能なサブネットを選択してください。
1. ノードの数量を手動で調節すると、システムはサブネットリストの順序に従ってノードの作成を試みます。順序が上位のサブネットの作成に成功した場合、そのサブネットは常に作成されます。
2. ノードプールが自動スケーリングを有効化していた場合、設定した拡張ポリシーに従って適切なサブネットを選択し、ノードの作成を行ってください。
運用保守機能
故障時の自己回復
フィールド名:spec.autoRepair
フィールド値:true(オン)/ false(オフ)
オプション項目で、有効化することをお勧めします。この機能は、ネイティブノードにおいて、OS、Runtime、kubelet異常などを含む、さまざまな異常の状況をリアルタイムで検出し、自己回復の手段を提供します。
チェックおよび自己回復ルール
フィールド名:spec.healthCheckPolicyName
フィールド値:test-all(故障時の自己回復のCRの名前をバインドします)
現在のノードプールに対して異なる故障時の自己回復ルールを選択することができます。各ノードプールは、1つのルールのバインドをサポートしています。
自動アップグレード(alphaバージョン)
-
オプション項目で、この機能は現在ベータ版テスト中です。プラットフォームは、運用保守ウィンドウで自動アップグレード機能を提供することで、繫雑なバージョンの運用保守操作を簡素化することをサポートしています。アップグレード項目には、Kuberbetes、実行時、オペレーティングシステムのカーネルバージョンのイテレーションおよびメンテナンスが含まれています。また、Tencent Securityの情報を組み合わせることで、タイムリーにセキュリティ上の脆弱性に対処します。
アップグレード項目
-
システムは、選択したアップグレード項目に従ってバージョンメンテナンスを行います。異なるアップグレード項目については、単独のアップグレードパッケージに対応し、バージョンアップの少なくとも1週間前に、コンソールおよびドキュメントで、バージョンの更新の説明を提供します。
運用保守ウィンドウ
-
システムは、設定した運用保守ウィンドウで自動アップグレードを行います。
最大アップグレードノード数
-
メンテナンス時間のウィンドウで、最初にアップグレードされるノード数は1で、その後にアップグレードできるノード数は2の累乗で増加します。同時にアップグレードできるノード数は、設定した最大アップグレードノード数を超えることはできません。
オートスケーリング
フィールド名:spec.scaling
有効化後、CAコンポーネントは、このタイプのノードプールに対して自動スケーリングを行います。
備考:ネイティブノードの自動スケーリング機能は、コンテナプラットフォームの自社開発によって実現しました。通常ノードの自動スケーリング機能は、クラウド製品自動スケーリングに依存しています。
ノード数量の範囲
フィールド名:spec.scaling.maxReplicas / minReplicas
フィールド値:
maxReplicas: 7(カスタマイズ)
minReplicas: 2(カスタマイズ)
ノードプール内のノード数量は、この範囲内の最小値/最大値に制限されます。ノードプールの自動スケーリングを有効化した場合、ネイティブノードの数量は設定された範囲内で自動的に調節されます。
拡張ポリシー
フィールド名:spec.scaling.createPolicy
フィールド値:ZonePriority(最初に選択したアベイラビリティーゾーンの優先)/ ZoneEquality(マルチアベイラビリティーゾーンの分散)
1. 最初に選択したアベイラビリティーゾーンの優先:自動スケーリングは、最初に選択したアベイラビリティーゾーンに、優先してスケーリングを実行します。最初に選択したアベイラビリティーゾーンにスケーリングを実行できない場合に限って、その他のアベイラビリティーゾーンにスケーリングが行われます。
2. マルチアベイラビリティーゾーンの分散:スケーリンググループが指定したマルチアベイラビリティーゾーン(すなわち指定した複数のサブネット)に、ばらつきがないように最大限に努力してノードインスタンスを割り当てます。複数のサブネットを設定した場合に限って、このポリシーが有効化されます。
高度なパラメータ
Lables
フィールド名:spec.template.spec.metadata.labels
フィールド値: key1: 「value1”」(lableのkey/valueはカスタマイズです)
ノードの属性は、ノードに対してフィルタリングと管理を行うのに便利です。このノードプールで作成したノードは、すべて設定したLabelに自動的に追加されます。
Taints
フィールド名:spec.template.spec.metadata.taints
フィールド値:effect: NoSchedule/PreferNoSchedule/NoExecute(taintsタイプを入力します)
ノードの属性は、一般的にTolerationsと組み合わせて使用されます。条件と合致しないPodをこのノード上にスケジューリングしないようにするため、このノードプールで作成されたノードは、すべて設定したTaintsに自動的に追加されます。
コンテナディレクトリ
フィールド名:spec.template.spec.runtimeRootDir
フィールド値:/data/containerd(カスタマイズ)
チェックを入れると、例えば/var/lib/のように、すぐにコンテナとイメージストレージディレクトリを設定することができます
kubelet カスタマイズパラメータ
このフィールドはホワイトリストとして制御され、チケット/販売後から申請によって開放されます。
ホワイトリストによる制御は、kubelet一般パラメータによる設定をサポートしています。
Management
フィールド名:spec.template.spec.providerSpec.value.management.hosts/nameservers/KernelArgs
フィールド値:
hosts: Hostnames: [ 'test' ], IP: '22.22.22.22'nameservers: [ '183.60.83.19', '183.60.82.98']KernelArgs:このフィールドはホワイトリストとして制御されています。チケットを提出して、サポートを受けることができます。
Nameservers\\Hosts\\KernelArgsタイプのパラメータの設定をサポートしています。
カスタマイズスクリプト
フィールド名:spec.template.spec.providerSpec.value.lifecycle.preInit/postInit
フィールド値:
preInit: "echo hello"(ノードを初期化する前にスクリプトを実行し、カスタマイズします)
postInit: "echo world"(ノードを初期化した後にスクリプトを実行し、カスタマイズします)
カスタマイズデータを指定してノードを設定します。ノードの初期化前/ノードの初期化後の2段階による設定を提供します。スクリプトが再入可能であり、ロジックが再試行可能であることを確実にするため、スクリプトとそれが生成するログファイルは、ノードの/usr/local/qcloud/tke/userscriptパスで確認することができます。


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック