(선택 사항) 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 접근
설치가 완료되면, Casdoor는 Kubernetes 클러스터에서 제공하는 서비스 URL을 통해 접근할 수 있습니다.
사용자 정의 및 구성
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 | 파드 할당을 위한 Affinity 설정. | {} |
extraContainersEnabled | 추가 사이드카 컨테이너를 활성화할지 여부. | false |
extraContainers | 추가 사이드카 컨테이너. | "" |
extraVolumeMounts | Casdoor 컨테이너에 대한 추가 볼륨 마운트. | [] |
extraVolumes | Casdoor 컨테이너에 대한 추가 볼륨. | [] |
envFromSecret | 비밀에서 환경 변수 제공. | [{name:"",secretName:"",key:""}] |
envFromConfigmap | configmap에서 환경 변수 제공. | [{name:"",configmapName:"",key:""}] |
envFrom | 전체 비밀 또는 configmap에서 환경 변수 제공. | `[{name:"",type:"configmap \ |
배포 관리
Casdoor 배포를 업그레이드하려면:
helm upgrade casdoor casdoor/casdoor-helm-charts
Casdoor를 제거하려면:
helm delete casdoor
더욱 자세한 관리 및 사용자 정의를 위해 Helm 및 Kubernetes 문서를 참조하세요.
결론
Kubernetes에서 Helm을 사용하여 Casdoor를 배포하면 Kubernetes 환경 내의 인증 서비스의 관리와 확장성이 간소화됩니다.