Triển khai Keycloak bằng Helm Chart trên Kubernetes
11/07/2024 - 2 phút
Triển khai Keycloak bằng Helm Chart trên Kubernetes cho phép bạn quản lý Keycloak một cách hiệu quả. Dưới đây là hướng dẫn chi tiết từng bước để triển khai Keycloak với Helm Chart.
Bước 1: Cài đặt Helm
Nếu chưa cài đặt Helm, bạn có thể cài đặt theo hướng dẫn tại đây.
Bước 2: Thêm Repository Bitnami
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
Bước 3: Tạo file values.yaml
File values.yaml
chứa các cấu hình tuỳ chỉnh cho Keycloak. Tạo file này với nội dung:
auth:
adminUser: custom-admin
adminPassword: custom-password
externalDatabase:
host: your-postgresql-host
port: 5432
user: your-postgresql-user
password: your-postgresql-password
database: your-postgresql-database
postgresql:
enabled: false
Bước 4: Cài đặt Keycloak
Sử dụng Helm để cài đặt Keycloak với các cấu hình tuỳ chỉnh từ values.yaml
.
helm install keycloak bitnami/keycloak -f values.yaml
Bước 5: Kiểm tra trạng thái triển khai
Đảm bảo rằng các Pod của Keycloak đang chạy.
kubectl get pods
Bước 6: Truy cập Keycloak
Để truy cập Keycloak, bạn có thể dùng lệnh port-forward:
kubectl port-forward svc/keycloak 8080:80
Truy cập http://localhost:8080
để vào giao diện quản trị Keycloak.
Bước 7: Cấu hình Ingress (Tùy chọn)
Để truy cập Keycloak thông qua một tên miền, bạn cần cấu hình Ingress. Tạo một file ingress.yaml
với nội dung:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: keycloak-ingress
annotations:
kubernetes.io/ingress.class: nginx
spec:
rules:
- host: keycloak.yourdomain.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: keycloak
port:
number: 80
tls:
- hosts:
- keycloak.yourdomain.com
secretName: keycloak-tls
Áp dụng Ingress:
kubectl apply -f ingress.yaml
Chi tiết cấu hình values.yaml
auth.adminUser
vàauth.adminPassword
: Thiết lập tên người dùng và mật khẩu cho tài khoản quản trị Keycloak.externalDatabase
: Cấu hình để sử dụng cơ sở dữ liệu PostgreSQL bên ngoài.host
: Địa chỉ máy chủ PostgreSQL.port
: Cổng kết nối PostgreSQL (mặc định là 5432).user
: Tên người dùng PostgreSQL.password
: Mật khẩu PostgreSQL.database
: Tên cơ sở dữ liệu PostgreSQL.
postgresql.enabled
: Thiết lập giá trịfalse
để không sử dụng PostgreSQL đi kèm Helm Chart của Bitnami.
Kết luận
Bằng cách sử dụng Helm Chart từ Bitnami, bạn có thể triển khai Keycloak nhanh chóng và dễ dàng trên Kubernetes. Việc tuỳ chỉnh cấu hình thông qua values.yaml
giúp bạn linh hoạt trong việc quản lý và triển khai Keycloak theo nhu cầu cụ thể của mình. Sử dụng Ingress để cấu hình truy cập từ bên ngoài cũng giúp bạn quản lý dịch vụ Keycloak một cách thuận tiện hơn.