【クラウドネイティブ】K8s PodスケジュールドエラスティックスケーリングCronhpaの導入と実践運用

【クラウドネイティブ】K8s PodスケジュールドエラスティックスケーリングCronhpaの導入と実践運用

1. 概要

実際、ネイティブ HPA は時間ポイントに基づくスケーリングをサポートしていません。リソースに基づくスケーリングは正確に制御できないため、時間ポイントに基づくスケーリングは、いくつかのシナリオでは非常に実用的です。たとえば、ビッグデータの分野では、タスクを実行する期間は一般的に明確です。このように、タスクの実行期間に基づいてポッドをスケーリングできるため、リソースの使用量を非常に正確に制御できます。この記事では主にAlibabaのオープンソース製品であるkubernetes-cronhpa-controllerについて紹介します。 kubernetes-cronhpa-controller は、crontab のようなソリューションを使用する Kubernetes cron 水平 Pod 自動スケーリング コントローラーです。 CronHorizo​​ntalPodAutoscaler は、スケール サブリソース (Deployment や StatefulSet など) をサポートする Kubernetes で定義されたあらゆる種類のオブジェクトで使用できます。

GitHub アドレス: https://github.com/AliyunContainerService/kubernetes-cronhpa-controller

k8s 環境のデプロイメントについては、「クラウドネイティブ」Kubernetes (k8s) 環境デプロイメントの最も完全なバージョン (V1.24.1) を参照してください。

ネイティブ HPA とその使用方法の概要については、次の記事を参照してください: [クラウド ネイティブ] K8s ポッドの動的弾性拡張と収縮 HPA (metrics-server)

2. cronhpaのインストール

 # ダウンロード
https://github.com/AliyunContainerService/kubernetes-cronhpa-controller.gitをクローンします

# 1. CRDをインストールする
# k8s < v1.22
#kubectl apply -f config / crds / autoscaling .alibabacloud .com_cronhorizo ​​ntalpodautoscalers .yaml
# k8s >= v1.22
kubectl apply -f config / crds / autoscaling .alibabacloud .com_cronhorizo​​ntalpodautoscalers .v1 .22 .yaml

# 2. RBAC設定をインストールする
kubectl apply -f config / rbac / rbac_role.yaml
kubectl apply -f config / rbac / rbac_role_binding.yaml

# 3. Kubernetes - cronhpa -コントローラーをデプロイする
kubectl apply -f config /デプロイ/ deploy.yaml

# 4 、インストールの確認
kubectl get deploy kubernetes - cronhpa -コントローラー- n kube -システム- o ワイド

3. テスト検証

 ---
apiVersion : apps / v1 # 1.8.0より前のバージョンの場合は、apps / v1beta1 を使用します
種類:デプロイメント
メタデータ:
名前: nginx -デプロイメント-基本
ラベル:
アプリ: nginx
仕様:
レプリカ 2
セレクター:
マッチラベル:
アプリ: nginx
テンプレート
メタデータ:
ラベル:
アプリ: nginx
仕様:
コンテナ:
-名前: nginx
image : nginx : 1.7 .9 # 正確に< image_name : tags >に置き換えてください
ポート:
-コンテナポート: 80
---
apiバージョン: autoscaling .alibabacloud .com / v1beta1
種類: Cronhorizo​​ntalPodAutoscaler
メタデータ:
ラベル:
コントローラーツール.k8s.io : " 1.0 "
名前: cronhpa -サンプル
仕様:
スケールターゲット参照:
apiバージョン:アプリ/ v1
種類:デプロイメント
名前: nginx -デプロイメント-基本
求人:
-名前 「スケールダウン」
schedule : "30 */1 * * * *" # 秒、分、時間、日、月、週。Linux crontab よりも細かく、秒単位まで指定できます。容量は30秒ごとに減少します。
targetSize : 1 # 容量を1ポッドに減らす
-名前 「スケールアップ」
スケジュール: "01 */1 * * * *" # 毎分最初の1秒に1回容量を拡張します
targetSize : 3 # 3つのポッドに拡張

埋め込む

 kubectl apply -f/ deploy_cronhpa.yaml
kubectl ポッドを取得しデプロイする

# cronhpa を表示
kubectl describe cronhpa cronhpa -サンプル

導入と使用は非常に簡単で、理解するのも非常に簡単です。実際、実装するのは難しくありません。 crontab を自分で書くこともできますが、それほど良くはありません。機能はシンプルですが、非常に実用的です。

<<:  ガートナー分析: 2023 年の IT インフラストラクチャのトレンド

>>:  優れたクラウド戦略に関してCIOが犯しがちな間違い

推薦する

全国で合計2,859の共同購入サイトが閉鎖され、死亡率は48%となっている。

【はじめに】データによると、2012年6月末現在、中国の共同購入サイトの総数は6,069に達し、その...

百度の歴代Kステーションについての私の推測

みなさんこんにちは。私はHongtu Internetです。端午節の休暇以来、当社のウェブサイトのい...

SEOにおけるホームページのニュース、トップ、フッターの役割についての簡単な説明

みなさんこんにちは。私はハルビン仮想現実ウェブサイトのウェブサイトデザイナーです。最近はサーバーやビ...

エンタープライズクラウドサービスの選択: SaaS、PaaS、IaaSの比較分析

比較的簡単な比較から始めましょう。 今日、クラウド サービスはさらに重要になっています。ほぼすべての...

SEOにおける検索エンジンスパイダー技術の分析

検索エンジン技術は、インターネット上の膨大な量の情報をクロールします。情報が増えるにつれて、この技術...

ウェブサイトのユーザー エクスペリエンス分析: 視線の動きに関する 12 の誤解

視線追跡技術(以下、眼球運動)の応用については学界やビジネス界でも注目されており、時折白熱した議論が...

フォーラム投稿: 簡単そうに見えますが、うまく行うのは簡単ではありません

SEO 業界に初めて関わった頃を振り返ると、毎日同じことを機械的に繰り返して投稿するばかりでした。す...

friendhosting: 日本 VPS (Equinix 東京データセンター)、月額 5 ユーロ、1G メモリ/1 コア/10g SSD/1T トラフィック

friendhostingは日本の東京データセンターでVPSを正式に開始し、サーバーはEquinix...

ソソ百科事典の外部リンクの作り方を教えます

「コンテンツは王、外部リンクは皇帝」という時代は過ぎ去ったのかもしれないが、どんなに変化しても、ウェ...

クラウド コンピューティングが今後 1 年間で変化する 5 つの方法

調査会社 Forrester の調査レポートによると、クラウド コンピューティングはもはやまったく新...

Windows Vps: accuwebhosting-8.15 USD/1 GB RAM/35 GB HDD/150 GB 帯域幅

Accuwebhosting は 2003 年に設立されたホスティング会社で、米国ペンシルバニア州、...

百度キーワードランキングの停滞を解決する3つの方法

あなたのウェブサイトは、次のような状況に遭遇したことがありますか?さまざまな最適化方法を通じて、キー...

推奨: tmzvps - メモリ 2 倍、価格上昇なし、コア 8 個、1000M ポート / ロサンゼルス / ロンドン / フロリダ

tmzvps.com からプロモーション メールを送信しました。OpenVZ 仮想化に基づくすべての...

ウェブマスターネットワークからの毎日のレポート:24のクーポンがビジネスを停止し、電子証拠保存プラットフォームがリリースされました

1. 共同購入サイト「24quan」が営業停止、従業員は集団で「長期休暇」 20日、共同購入サイト「...

王同福氏による SEO に関する最初の会議を聞く (パート 1)

2012年5月25日午後8時、昨夜でした。筆者はYYのSutu Online Salon第11回に参...