メインコンテンツにスキップ

(オプション) K8s Helmで試してみる

イントロダクション

ここでは、Helmを使用してKubernetes上にCasdoorをデプロイし、簡単かつスケーラブルな管理を行う方法を示します。

前提条件

  • 稼働中のKubernetesクラスター
  • Helm v3がインストールされている

インストール手順

ステップ1: Casdoorチャートをインストールする

Casdoorチャートをインストールする:

helm install casdoor oci://registry-1.docker.io/casbin/casdoor-helm-charts --version 1.524.0

ステップ2: Casdoorにアクセスする

インストールが完了すると、Kubernetesクラスターによって提供されるサービスURLでCasdoorにアクセスできます。

カスタマイズと設定

Helmチャートの値を変更してCasdoorインストールをカスタマイズします。 詳細なオプションについては、チャート内のvalues.yamlファイルを参照してください。 以下のパラメーターを設定できます。

パラメーター説明デフォルト値
replicaCountCasdoorアプリケーションを実行するレプリカの数。1
image.repositoryCasdoor Dockerイメージのリポジトリ。casbin
image.nameCasdoor Dockerイメージの名前。casdoor
image.pullPolicyCasdoor Dockerイメージのプルポリシー。IfNotPresent
image.tagCasdoor Dockerイメージのタグ。""
configCasdoorアプリケーションの設定。configフィールドを参照
database.driver使用するデータベースドライバー(mysql、postgres、cockroachdb、sqlite3をサポート)。sqlite3
database.userデータベースのユーザー名。""
database.passwordデータベースのパスワード。""
database.hostデータベースのホスト。""
database.portデータベースのポート。""
database.databaseNameCasdoorが使用するデータベースの名前。casdoor
database.sslModeデータベース接続のSSLモード。disable
service.typeCasdoor用に作成するKubernetesサービスのタイプ(ClusterIP、NodePort、LoadBalancerなど)。ClusterIP
service.portCasdoorサービスのポート番号。8000
ingress.enabledCasdoorのIngressを有効にするかどうか。false
ingress.annotationsIngressリソースのアノテーション。{}
ingress.hostsIngressリソースのホスト名。[]
resourcesCasdoorコンテナのリソースリクエストとリミット。{}
autoscaling.enabledCasdoorのHorizontal Pod Autoscalerを有効にするかどうか。false
autoscaling.minReplicasHorizontal Pod Autoscalerの最小レプリカ数。1
autoscaling.maxReplicasHorizontal Pod Autoscalerの最大レプリカ数。100
autoscaling.targetCPUUtilizationPercentageHorizontal Pod AutoscalerのターゲットCPU使用率パーセンテージ。80
nodeSelectorポッド割り当てのためのノードラベル。{}
tolerationsポッド割り当てのためのトレランスラベル。[]
affinityポッド割り当てのためのアフィニティ設定。{}
extraContainersEnabled追加のサイドカーコンテナを有効にするかどうか。false
extraContainers追加のサイドカーコンテナ。""
extraVolumeMountsCasdoorコンテナの追加のボリュームマウント。[]
extraVolumesCasdoorコンテナの追加のボリューム。[]
envFromSecretシークレットから環境変数を提供する。[{name:"",secretName:"",key:""}]
envFromConfigmapコンフィグマップから環境変数を提供する。[{name:"",configmapName:"",key:""}]
envFromシークレットまたはコンフィグマップ全体から環境変数を提供する。`[{name:"",type:"configmap \

デプロイメントの管理

Casdoorデプロイメントをアップグレードするには:

helm upgrade casdoor casdoor/casdoor-helm-charts

Casdoorをアンインストールするには:

helm delete casdoor

さらなる管理とカスタマイズについては、HelmとKubernetesのドキュメントを参照してください。

結論

Helmを使用してKubernetes上にCasdoorをデプロイすることで、Kubernetes環境内の認証サービスの管理とスケーラビリティが簡素化されます。