中国招商銀行における 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 のデータベースミドルウェア構築への道

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

推薦する

電子商取引事業を始めて10年近く経ちますが、まだ利益が出ていないというのは本当でしょうか?

8月中旬、電子商取引で儲けることの是非をめぐる議論が、一般的なB2C/C2B/C2Cの概念を覆すもの...

SEO担当者は言葉遣いに注意する必要がある

どの職業にも一定の職業倫理があり、SEO 担当者も例外ではありません。これは百度で検索すればわかりま...

ネットイースとテンセントは必然的に戦うことになる

NetEaseとTencentが戦ったらどうなるでしょうか?これまで、業界でインターネットの状況につ...

#3angfor# って何だかご存知ですか?

3月13日13時33分、50名を超えるITメディアおよび業界アナリストが北京に集まり、2019年Sa...

arkecx: ワシントン D.C. (首都) データセンターのクラウド サーバー評価

arkecxはどうですか?ワシントン DC の VPS やクラウド サーバーはめったに見られないよう...

マルチクラウドオーケストレーションがオープンソースのID管理を推進

1 つのクラウドですべてのアプリケーションを管理できるわけではありません。私たちのほとんどはマルチク...

クラウドコンピューティングの未来はどうなるのか

クラウド コンピューティングはデジタル変革の重要な部分であり、企業は柔軟性と効率性を実現するためにク...

シーンからシナリオまで、Juhaokan Technologyは「スクリーン・ネットワーク・クラウド」を接続してスマートライフの構築を支援します

ケビン・ケリーが予測した未来の生活は加速している。11月2日、ハイセンスは「1×3×N」という新たな...

ウェブサイトのコンテンツページの包含を増やすためのヒント

Baiduアルゴリズムの調整により、ますます多くのウェブサイトが、疑似オリジナルコンテンツや収集コン...

HarmonyOSが配布するTikTok風アプリ

[[430075]]詳細については、以下をご覧ください。 51CTOとHuaweiが共同で構築したH...

Huawei Cloud C3 クラウド サーバーのピーク パフォーマンスから他に何が期待できますか?

長い間、高性能クラウド ホストは IaaS 市場で人気商品でした。強力なパフォーマンスと安定した動作...

電子商取引代理業が新たな資本の出口となり、今後3年間で上場企業を見ることは困難

電子商取引分野における資本配置が、中核のB2C企業から電子商取引周辺サービス産業にまで拡大している事...

IaaS とは何ですか? PaaSとは何ですか? SaaS とは何ですか?

最近、友人から「IaaS とは何ですか?」と尋ねられました。 PaaSとは何ですか? SaaS とは...

エンタープライズSEOアウトソーシングのためのアウトソーシング会社の選び方

国内の多くの企業には、SEO プロモーションを行う専門のプロモーション チームが不足しています。一方...