中国招商銀行における KubeVela オフライン導入の実践

中国招商銀行における KubeVela オフライン導入の実践

著者 |馬翔波

招商銀行クラウド プラットフォーム開発チームは 2021 年に KubeVela の使用を開始し、クラウド ネイティブ アプリケーションの配信および管理機能を改善するために、招商銀行クラウド プラットフォームへの KubeVela の実装を検討しました。同時に、金融保険業界の特殊性により、ネットワークセキュリティ管理措置は比較的厳格です。内部ネットワークは Docker Hub イメージを直接プルすることができず、現在バンク内に利用可能な Helm イメージ ソースはありません。したがって、業界内のプライベート環境に KubeVela を実装するには、完全なオフライン展開を実行する必要があります。

この記事では、KubeVela v1.2.5 を例に、China Merchants Bank の KubeVela のオフライン展開の実践を紹介し、他のユーザーがオフライン環境で KubeVela の展開をより便利に完了できるようにします。

1. KubeVela オフライン導入ソリューション

KubeVela のオフライン展開は、Vela Cli、Vela Core、および Addon オフライン展開の 3 つの部分に分かれています。各パートでは、主に関連する Docker イメージの読み込みと Helm の再パッケージ化が行われます。このオフライン展開ソリューションにより、オフライン環境での KubeVela の展開を大幅に加速できます。

オフライン展開の前に、Kubernetes クラスターのバージョンが >= v1.19 && < v1.22 であることを確認してください。 KubeVela コントロール プレーンは Kubernetes に依存しており、マネージド Kubernetes をベースとして使用する製品、または独自に構築した Kubernetes クラスターに配置できます。 kind または minikube を使用して、KubeVela をローカルにデプロイおよびテストすることもできます。

2. Vela Cli オフラインデプロイメント

  • まず、KubeVelaリリースログ[1]から必要なバージョンのvelaバイナリファイルをダウンロードする必要があります。
  • バイナリファイルを解凍し、$PATH内の対応する環境変数を設定します。

バイナリファイルを解凍する

  • tar -zxvf vela-v1.2.5-linux-amd64.tar.gz
  • mv ./linux-amd64/vela /usr/local/bin/vela

環境変数の設定

  • vi /etc/プロファイル
  • PATH="$PATH:/usr/local/bin" をエクスポートします。
  • ソース /etc/profile

vela versionを実行して出力を確認し、Vela Cliのインストールを確認します。

 CLI バージョン: v1.2.5
コアバージョン:
Gitリビジョン: git-ef80b66
Go言語バージョン: go1.17.7


  • この時点で、Vela Cli はオフラインで展開されています。

3. Vela Core オフライン展開

  • Vela Coreをオフラインでデプロイする前に、まずオフライン環境にHelm[2]をインストールする必要があり、Helmのバージョンはv3.2.0以上である必要があります。
  • Docker イメージを準備します。 Vela Core の展開には主に 5 つのイメージが含まれます。まずインターネットにアクセスして Docker Hub から対応するイメージをダウンロードし、それをオフライン環境にロードする必要があります。

Docker Hubからイメージを取得する

docker pull oamdev/vela-core:v1.2.5

docker pull oamdev/cluster-gateway:v1.1.7

docker pull oamdev/kube-webhook-certgen:v2.3

docker pull oamdev/alpine-k8s:1.18.2

docker pull oamdev/hello-world:v1

画像をローカルディスクに保存する

docker save -o vela-core.tar oamdev/vela-core:v1.2.5

docker save -o cluster-gateway.tar oamdev/cluster-gateway:v1.1.7

docker save -o kube-webhook-certgen.tar oamdev/kube-webhook-certgen:v2.3

docker save -o alpine-k8s.tar oamdev/alpine-k8s:1.18.2

docker save -o hello-world.tar oamdev/hello-world:v1

プライベート環境で画像を再読み込みする

docker で vela-core.tar をロードします

docker ロード cluster-gateway.tar

docker ロード kube-webhook-certgen.tar

docker で alpine-k8s.tar をロードします。

docker で hello-world.tar をロードします

  • KubeVelaのソースコード[3]をダウンロードし、オフライン環境にコピーし、Helmを使用して再パッケージ化する。

KubeVelaのソースコードをチャートパッケージに再パックし、チャートパッケージをオフラインでコントロールクラスターにインストールします。

helm パッケージ kubevela/charts/vela-core --destination kubevela/charts

helm をインストール --create-namespace -n vela-system kubevela kubevela/charts/vela-core-0.1.0.tgz --wait

出力を確認する

 KubeVela コントロール プレーンがクラスターに正常にセットアップされました。


  • この時点で、Vela Core はオフラインでデプロイされています。

4. アドオンのオフライン展開

  • まずカタログソースコード[4]をダウンロードし、それをプライベート環境にコピーします。
  • ここでは、VelaUX を例に、アドオンのオフライン展開を紹介します。まず、docker イメージを準備します。 VelaUX には主に 2 つの画像が含まれます。まずインターネットにアクセスして Docker Hub から対応するイメージをダウンロードし、それをオフライン環境にロードする必要があります。

Docker Hubからイメージを取得する

docker pull oamdev/vela-apiserver:v1.2.5

docker pull oamdev/velaux:v1.2.5

画像をローカルディスクに保存する

docker save -o vela-apiserver.tar oamdev/vela-apiserver:v1.2.5

docker save -o velaux.tar oamdev/velaux:v1.2.5

プライベート環境で画像を再読み込みする

docker で vela-apiserver.tar をロードします。

docker ロード velaux.tar

  • VelaUXをインストールする

Vela Cli経由でVelaUXをインストールする

vela アドオンを有効にする catalog-master/addons/velaux

出力を確認する

アドオン: velaux が正常に有効化されました。


クラスターにルート コントローラーまたは Nginx Ingress コントローラーがインストールされていて、ドメイン名が使用可能な場合は、VelaUX にアクセスするための外部ルートをデプロイできます。ここでは、openshift ルートを例として使用します。イングレスを選択することもできます

apiVersion: route.openshift.io/v1kind: Routemetadata:name: velaux-routenamespace: vela-systemspec:host: velaux.xxx.xxx.cnport: targetPort: 80to: kind: サービス名: velaux weight: 100wildcardPolicy: なし

インストールを確認する

 curl -I -m 10 -o /dev/null -s -w %{http_code}
http://velaux.xxx.xxx.cn/applications


この時点で、VelaUX はオフラインでデプロイされています。同時に、他の種類のアドオンをオフラインで展開する場合は、カタログ ソース コードの対応するディレクトリに移動して必要なイメージを決定し、上記の操作を繰り返すだけで、対応するアドオンのオフライン展開を完了できます。

V. 結論

オフライン展開の過程で、Vela Core と Addon をインターネット環境に展開した後に生成されたリソースインスタンスを yaml ファイルとして保存し、プライベート環境に再展開してオフライン展開を完了することも試みました。ただし、関係するリソース インスタンスの数が多く、サービス承認の問題があるため、この方法はより面倒です。

KubeVela オフライン デプロイメント プラクティスを使用すると、オフライン環境で KubeVela の完全なセットをより簡単に構築し、KubeVela の実装を探索できます。オフライン展開の一般的な問題に対処するために、KubeVelaコミュニティは、完全にオフラインで可用性の高いデータインストールツールであるvelad[5]という新しいツールをリリースしようとしています。 Velad は、クラスターの準備、パッケージ化されたイメージのダウンロード、オフライン環境へのインストールなどの一連の手順を自動化するのに役立ちます。サポート対象: Linux マシン (Alibaba Cloud ECS など) 上でローカルにクラスターを起動し、vela-core をインストールする。 KubeVela コントロール プレーンをすばやく起動する際に、マシンのシャットダウンなどによりコントロール プレーンのデータが失われることを心配する必要はありません。 velad は、すべてのコントロール プレーン データを従来のデータベース (RDS または別の ECS にデプロイされた MySQL など) に保存できます。

関連リンク: [1] リリースログ: https://github.com/oam-dev/kubevela/releases

[2] Helmをインストールする: https://helm.sh/docs/intro/install/

[3] KubeVela ソースコード: https://github.com/oam-dev/kubevela/releases

[4] カタログソースコード: https://github.com/oam-dev/catalog

[5] velad: https://github.com/oam-dev/velad

<<:  ハイブリッドクラウドへの適応、Huolala のデータベースミドルウェア構築への道

>>:  アクティブインテリジェンス、データ主導の文化の構築、データの潜在能力の刺激

推薦する

2018年中国モバイルゲーム産業調査レポート

近年の中国のモバイルゲーム産業の急速な成長は、国内のゲーム産業全体の急速な発展を促進してきました。 ...

5 分で gRPC を学びましょう。学びましたか?

導入長い間 Java を使ってきた開発者のほとんどは、gRPC に触れることはほとんどないと思います...

lisahostはどうですか? 3ネットワークCMIラインの香港VPSの詳細テスト

lisahost は香港の VPS サービスを新たに開始しました。公式発表によると、中国電信は発信ト...

MikroVPS-3.44 ユーロ/Xen/512 メモリ/2 コア/25G ハード ドライブ/1.5T トラフィック

MikroVPS は 年に設立され、もうすぐ 3 年になります。 SMTP は公式に「言葉では言い表...

ウェブサイト分析: Excel での高度なデータ分析 (パート 2)

前回のブログ投稿では、Excel の高度なデータ分析機能のインストール方法と回帰分析について紹介しま...

SEO最適化のワークフローの詳細説明パート2:実装

先ほど「SEO最適化作業トラフィックの準備」についてお話しましたが、今日は実装を開始する方法について...

ERP をクラウドに移行しますか?そんなに急がなくても!

Cloud Security Alliance (CSA) の調査データによると、多くの企業がクラウ...

IVF病院ウェブサイトの最適化に関する簡単な議論

私は数年間、民間病院のキーワードランキングとウェブサイトの最適化に携わってきました。近年、百度のアル...

推奨: globalfrag/CN2 ネットワーク/$10/512M メモリ/50g ハードディスク/500g トラフィック/ロサンゼルス

globalfrag.com の魔法の割引コードが再び登場しました。どの VPS を購入しても永久に...

テンセントの「デジタル変革指数レポート2021」が発表:全国351都市の18業界のデジタルとリアルの融合プロセスを詳細に分析

11月3日、テンセント研究所とテンセントクラウドは、2021年テンセントデジタルエコシステムカンファ...

speedykvm - Dallas KVM/SSD/VPS の簡単なレビュー、高性能

昨日、暇だったのでspeedykvmを推奨する記事「推奨:今年のベストKVM/SSD[raid10]...

セルフサービス型ウェブサイト構築のメリットとデメリットのまとめ

従来のセルフサービス Web サイト構築の利点は明らかで、便利で高速です。しかし、オープンソース コ...

インターネット製品は主に初心者、中級者、それとも専門家向けに設計されていますか?

インタラクション デザインの古典的な書籍「About Face」の中で、Alan Cooper はユ...