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

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

推薦する

食品安全ウェブサイトが窓から投げ捨てられる 呉恒:有毒な食品を窓から投げ捨てよう

5月22日、上海市徐家匯嘉善路に新しくオープンしたファーストフード店で、ウー・ヘンさんは「宮保鶏定食...

ウェブサイトの包含率を向上させる方法

Baiduが最近アルゴリズムを更新した後、含まれるウェブサイトの数が急減しました。著者のウェブサイト...

ケチなウェブマスターが、最小限の費用で最大限のプロモーションを行う方法を教えます

記事を書く前に、まずは私の個人的な状況についてお話しさせてください。私は大学卒業後5年間、一級都市で...

SEOサービス企業が今後勝ち残る方法

SEO サービス会社は、ターゲットとなる法人顧客に対して SEO サービスを提供し、ユーザーが We...

ウェブサイト最適化のための7つのヒント

ウェブサイトの速度に関して、著者はいくつかの実用的な方法をまとめました。ホームページを作成するときに...

EasyStack は、ガートナーの OpenStack 競争環境レポートで世界トップ 8 社にランクインしました。

最近、ガートナーは「競争環境: OpenStack ディストリビューションおよびサポート サービス市...

BlueVM 期間限定特別版 - 1GB メモリ KVM 月額 5.99 ドル/3 コア/30GB ハードディスク/2TB トラフィック

bluevm はニューヨーク州バッファローのデータセンターのハードウェアをアップグレードし、割引価格...

画像ショッピング検索Taotaosou:ゼロから1億円を儲けた負け組スタートアップ

文/Jincuodao(WeChat公式アカウント:ijincuodao)以前も似たような商品を手掛...

クラウド移行戦略に関する専門家のアドバイス

クラウド コンピューティングはビジネス運営に多大なメリットをもたらしますが、これらのメリットを実現す...

アップル共同創業者:クラウドコンピューティングの将来には恐ろしい問題が潜む

Appleの共同創業者スティーブ・ウォズニアック氏(写真提供:テンセントテクノロジー)テンセントテク...

#著作権なし: hostsolutions-6 ユーロ/kvm/1g メモリ/60g ハードディスク/10T トラフィック/G ポート

Hostsolutions は 2009 年 9 月に設立されました。仮想ホスティング、再販業者、V...

オンラインでビジネスを行うのは難しいのはなぜか?マーケティングのヒント

現在、インターネットの急速な発展に伴い、ますます多くの人々が電子商取引の巨大な将来の市場展望を目にす...

「いつも思っていた」ことが多すぎると、実際には初心者ウェブマスターのキャリアを台無しにすることになる

ウェブサイトを構築するのは簡単な作業ではありません。これは誰もが理解できると思います。しかし、インタ...

過去10年間の電子商取引の振り返り:春から冬にかけて、金の無駄遣いは続く

1999年に王俊濤が8848を設立し、ジャック・マーがアリババを設立して以来、2004年にアマゾンが...