Budibase を Kubernetes クラスタにインストールする

Kubernetes

Budibase を Kubernetes クラスターにインストールします。

Kubernetes で Budibase を使い始める前に、いくつかのコマンド ライン ユーティリティをインストールする必要があります。以下のガイドに従って、Kubectl と Helm をインストールします。

:::ヒント
少なくとも 2GB のメモリを搭載した K8S ノードで実行することをお勧めしますが、より大容量のユースケースでは、より大きなインスタンスをお勧めします。
:::

Kubernetes クラスターをインストールする

既存の Kubernetes クラスターをまだ持っていない場合は、プロバイダーの次のいずれかのガイドに従ってください。

Budibase Helm チャートをインストールする

Kubernetes クラスターが起動して実行されるようになったので、K8S 環境で Budibase を実行するためのすべての関連インフラストラクチャを提供する Budibase helm チャートをインストールできます。次のコマンドを実行して、リポジトリから Helm チャートをダウンロードし、インストールします。

::: ヒント
Budibase という名前の Kubernetes 名前空間に Budibase をインストールする必要があります。これにより、Budibase リソースをクラスターの残りの部分から分離することができます。
:::

helm repo add budibase https://budibase.github.io/budibase/
helm repo update
helm install --create-namespace --namespace budibase budibase budibase/budibase

しばらく待つと、Budibase がすべてのコンテナとリソースを作成します。次に、実行できます:

kubectl get pods -n budibase

K8S クラスターで Budibase インストーラーが稼働しているのを確認できるはずです。

[外部リンクの画像の転送に失敗しました。ソース サイトにリーチング防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-YuOc9IiB-1650374896976)(https://res.cloudinary.com/daog6scxm/image /upload/v1646670651/docs /Screenshot_2021-08-16_at_22.19.58_pnzppx.png)]

イングレス コントローラーの IP アドレスを取得する必要があります。Budibase は、NGINX イングレス コントローラーを利用して、着信トラフィックを他の Budibase サービスに転送します。

次のコマンドで取得できるイングレス コントローラーの IP アドレスを使用して、Budibase インストールにアクセスできます。

kubectl get ingress -n budibase

ブラウザでエントリ URL にアクセスすると、Budibase のインストールが実行されていることがわかります。

Budibase 管理インターフェース

アップグレードチャート

最新かつ最高のものを入手するには、次のコマンドを実行してリポジトリを更新し、最新の Budibase Helm チャートを環境にインストールします!

helm repo update
helm upgrade budibase-kubernetes budibase/budibase

構成

負荷分散

デフォルトでは、Budibase は基本的な NGINX イングレス コントローラーを構成して、トラフィックを Budibase サービスにルーティングします。独自のロード バランサーを実行する場合は、Budibase にバンドルされている NGINX イングレス コントローラーをオフにして、独自のイングレス コントローラーを実行できます。

ingress:
  nginx: false
  aws: true

カスタムドメイン名を使用します

カスタム ドメイン名でインストールした場合は、values.yaml のイングレス コントローラーのホスト セクションに追加する必要があります。yourdomain.com を追加した方法に注目してください。これで、イングレス コントローラーの URL を指す A レコードを DNS プロバイダーに追加できるようになります。

ingress:
  enabled: true
  nginx: true
  className: ""
  annotations: 
    kubernetes.io/ingress.class: nginx
  hosts:
    - host: yourdomain.com
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: proxy-service
            port:
              number: 10000 

Budibase の拡張

Budibase Helm チャートの values.yaml で特定のサービスの replicaCount を更新することにより、インストール内のノードをスケーリングできます。たとえば、負荷が高いためにワーカーとアプリ サービスをスケールアップしたい場合は、values.yaml を更新して、replicaCount を大きくすることができます。更新後、チャートをアップグレードして変更を適用します。

services:
  dns: cluster.local

  proxy:
    port: 10000
    replicaCount: 1

  apps:
    port: 4002
    replicaCount: 2
    logLevel: info

  worker:
    port: 4001
    replicaCount: 2

秘密管理

values.yaml で createSecrets を true に設定すると、budibase は次の資格情報を作成します。

  • API リクエストに使用できる内部 API キー。
  • JWT シークレット
  • オブジェクト ストレージ アクセス キー (MinIO を使用している場合)
  • オブジェクト ストレージ キー (MinIO を使用している場合)

キーの値を読み取る必要がある場合は、次のコマンドで kubectl を使用して、k8s キーから値を読み取ることができます。

# for internal API key
kubectl get secret budibase-budibase -o go-template='{
   
   { .data.internalApiKey }}' -n budibase | base64 --decode

# JWT secret
kubectl get secret budibase-budibase -o go-template='{
   
   { .data.jwtSecret }}' -n budibase | base64 --decode

# MinIO Access Key
kubectl get secret budibase-budibase -o go-template='{
   
   { .data.objectStoreAccess }}' -n budibase | base64 --decode

# MinIO Secret Key
kubectl get secret budibase-budibase -o go-template='{
   
   { .data.objectStoreSecret }}' -n budibase | base64 --decode

レディス

Budibase helm チャートには、デフォルトで Redis サーバーが含まれています。独自の外部 Redis クラスターを使用する場合は、helm チャートで values.yaml ファイルを構成し、off を有効にして Budibase の 1 つをオフにすることができます。デフォルトのバンドルされた Redis をバイパスし、myrediscluster.io でホストされている外部 Redis クラスターを使用する場合、構成は次のようになります。

  redis:
    enabled: false # disable if using external redis
    port: 6379
    replicaCount: 1
    host: "myrediscluster.io"
    password: "your-redis-password"

CouchDB

Budibase Helm チャートは、環境内で 3 ノードの cupDB クラスターを自動的に開始します。既存の CouchDB インスタンスを使用したい場合は、Budibase が提供するものをオフにして、独自のインスタンスを指すことができます。注意 - Budibase が提供するすべての検索機能を使用するには、CouchDB クラスターに検索をインストールする必要があります。mycouch.io でホストされている CouchDB インストールに Budibase をポイントする方法の設定例を次に示します。

  couchdb:
    enabled: false
    replicaCount: 3
    url: "http://mycouch.io:1234"
    user: "couchuser"
    password: "couchpassword"

ミニオ / アマゾン S3

Budibase には、オブジェクト ストレージ用の MinIO サーバーが同梱されています。MinIO は Amazon S3 と互換性があるため、バンドルされている S3 バケット用の MinIO を AWS アカウントで切り替えることができます。MinIO の代わりに S3 を使用する場合、values.yaml は次のようになります。

  objectStore:
    minio: false
    browser: false
    port: 9000
    replicaCount: 1
    accessKey: "your-access-key" # AWS_ACCESS_KEY
    secretKey: "your-secret-key" # AWS_SECRET_ACCESS_KEY

トラブルシューティング

クラスター内の接続の問題

Budibase インストールが Kubernetes の Budibase 名前空間で実行されていることを確認してください。トラフィックを Budibase サービスにルーティングするプロキシは、これに依存しています。

まだ質問がありますか?

ヘルプが必要な場合やバグを見つけた場合は、GitHub ディスカッション フォーラムでディスカッションを提出してください。Kubernetes のインストールについては、ディスカッションに次の情報を含めるようにしてください。

使用している K8S プロバイダー (AWS/MiniKube など)
発生しているエラーのスクリーンショット/ログ 構成を
変更した場合は、values.yaml のスクリーンショット
発生している問題に関連するその他の情報 .

おすすめ

転載: blog.csdn.net/weixin_42553583/article/details/124284125