(オプション) K8s Helmで試してみる
イントロダクション
ここでは、Helmを使用してKubernetes上にCasdoorをデプロイし、簡単かつスケーラブルな管理を行う方法を示します。
前提条件
- 稼働中のKubernetesクラスター
- Helm v3がインストールされている
インストール手順
ステップ1: Casdoorチャートをインストールする
Install the Casdoor chart:
helm install casdoor oci://registry-1.docker.io/casbin/casdoor-helm-charts --version v1.702.0
ステップ2: Casdoorにアクセスする
インストールが完了すると、Kubernetesクラスターによって提供されるサービスURLでCasdoorにアクセスできます。
カスタマイズと設定
Helmチャートの値を変更してCasdoorインストールをカスタマイズします。 詳細なオプションについては、チャート内のvalues.yamlファイルを参照してください。 以下のパラメーターを設定できます。
パラメーター | 説明 | デフォルト値 |
---|---|---|
replicaCount | Casdoorアプリケーションを実行するレプリカの数。 | 1 |
image.repository | Casdoor Dockerイメージのリポジトリ。 | casbin |
image.name | Casdoor Dockerイメージの名前。 | casdoor |
image.pullPolicy | Casdoor Dockerイメージのプルポリシー。 | IfNotPresent |
image.tag | Casdoor Dockerイメージのタグ。 | "" |
config | Casdoorアプリケーションの設定。 | configフィールドを参照 |
database.driver | 使用するデータベースドライバー(mysql、postgres、cockroachdb、sqlite3をサポート)。 | sqlite3 |
database.user | データベースのユーザー名。 | "" |
database.password | データベースのパスワード。 | "" |
database.host | データベースのホスト。 | "" |
database.port | データベースのポート。 | "" |
database.databaseName | Casdoorが使用するデータベースの名前。 | casdoor |
database.sslMode | データベース接続のSSLモード。 | disable |
service.type | Casdoor用に作成するKubernetesサービスのタイプ(ClusterIP、NodePort、LoadBalancerなど)。 | ClusterIP |
service.port | Casdoorサービスのポート番号。 | 8000 |
ingress.enabled | CasdoorのIngressを有効にするかどうか。 | false |
ingress.annotations | Ingressリソースのアノテーション。 | {} |
ingress.hosts | Ingressリソースのホスト名。 | [] |
resources | Casdoorコンテナのリソースリクエストとリミット。 | {} |
autoscaling.enabled | CasdoorのHorizontal Pod Autoscalerを有効にするかどうか。 | false |
autoscaling.minReplicas | Horizontal Pod Autoscalerの最小レプリカ数。 | 1 |
autoscaling.maxReplicas | Horizontal Pod Autoscalerの最大レプリカ数。 | 100 |
autoscaling.targetCPUUtilizationPercentage | Horizontal Pod AutoscalerのターゲットCPU使用率パーセンテージ。 | 80 |
nodeSelector | ポッド割り当てのためのノードラベル。 | {} |
tolerations | ポッド割り当てのためのトレランスラベル。 | [] |
affinity | ポッド割り当てのためのアフィニティ設定。 | {} |
extraContainersEnabled | 追加のサイドカーコンテナを有効にするかどうか。 | false |
extraContainers | 追加のサイドカーコンテナ。 | "" |
extraVolumeMounts | Casdoorコンテナの追加のボリュームマウント。 | [] |
extraVolumes | Casdoorコンテナの追加のボリューム。 | [] |
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環境内の認証サービスの管理とスケーラビリティが簡素化されます。