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

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

推薦する

小規模地域の病院ウェブサイトは、百度の大再編の機会を捉えて「一挙に優勝」すべき

先雲さんは最近、地方の民間病院のネットワーク部門で編集者と最適化担当者として働いていた。6月から現在...

新たな状況下で、中国の VMware になれるのは誰か?

11月25日、Sangfor傘下のクラウドコンピューティングブランドであるSangfor Cloud...

個人ブログコンテンツの最適化について話す

ブログは現在、最も人気のある Web2.0 モデルの 1 つです。ブログから派生したマイクロブログは...

成外全:製品プロモーションの専門家である小紅書には、どのような小紅書のプロモーションノートが適していますか?

月給5,000~50,000のこれらのプロジェクトはあなたの将来です成外全は、小紅書プロモーションノ...

バイトダンスのTo B戦争

著者はTo BでByteDanceの具体的な行動、レイアウトロジック、業界への影響について説明してい...

[更新] 安くて使いやすいシンガポールのクラウドサーバーの推奨事項、議論や補足を歓迎します

シンガポールは中国に近く、速度も速く、登録も不要なので、アジアのクラウドサーバーの中でもシンガポール...

医療業界のウェブサイトのSEO最適化の第一歩:ターゲット顧客を特定する

ウェブサイトの最適化に関しては、どの業界でもうまくやることができますが、顧客層を理解し、顧客が何を求...

ウェブサイトのランキングを上げたいなら、外部リンクをしっかり張ってください。

私の友人の多くは、「ランキングは外部リンクを作ることだ」という一文を聞いたことがあるか、見たことがあ...

年間3ドルの料金でVirmachの低価格VPSレビューを体験

Virmach の VPS は特別な時期に特別なプロモーションを行っており、価格も非常に安く、たとえ...

SEO担当者は、共有し感謝する心を持つべきだ

筆者も80年代以降の人間ですが、今の若者は物事に対して衝動的になっていると感じています。実は、これは...

韓国 VPS、韓国 VPS 推奨、韓国 クラウド サーバー推奨

韓国のローカル VPS、韓国の VPS、韓国の VPS の推奨 (韓国のクラウド サーバー): 速度...

2018年のクラウドコンピューティングは混乱状態にある

雲があるところには川や湖があります。テンセントは最近、組織構造の調整を発表し、従来の7つの事業グルー...

ウェブサイトのおすすめ: Joyusは優れた広告フィルムを集めたビデオeコマースウェブサイトです

Joyus: 優れた広告フィルムを集めた動画Eコマースサイト新浪テクノロジー ヤン・フェイ電子商取引...

ウェブサイトテンプレートの最適化テストの詳細分析

最適化におけるテンプレートの役割: テンプレートは、Web サイトのコンテンツのレイアウトと Web...