如何在kubernetes自定义主题中持久化Keyclope
我试图通过如何在kubernetes自定义主题中持久化Keyclope,kubernetes,google-cloud-platform,keycloak,Kubernetes,Google Cloud Platform,Keycloak,我试图通过gcepersistentdisk持久化自定义主题,但当我进入管理控制台时,它没有加载任何内容,并且检查文件夹/opt/jboss/keydape/themes为空 还可以尝试通过添加以下行来复制自定义主题来创建自定义docker映像(Dockerfile) COPY/source folder/login/opt/jboss/keydrope/themes/login 虽然在文件夹/opt/jboss/keydape/themes中,我可以看到新的登录文件夹,但当我访问管理控制台时,
gcepersistentdisk
持久化自定义主题,但当我进入管理控制台时,它没有加载任何内容,并且检查文件夹/opt/jboss/keydape/themes
为空
还可以尝试通过添加以下行来复制自定义主题来创建自定义docker映像(Dockerfile)
COPY/source folder/login/opt/jboss/keydrope/themes/login
虽然在文件夹/opt/jboss/keydape/themes
中,我可以看到新的登录文件夹,但当我访问管理控制台时,我看不到自定义主题登录
我只能使用以下kubernet命令查看自定义主题:
kubectl exec POD——名称空间keydrope-mkdir/opt/jboss/keydrope/themes/login
kubectl cp keydove/login keydove/POD:/opt/jboss/keydove/themes/login
gcePersistentDisk
如下:
spec:
containers:
- name: keycloak
...
volumeMounts:
- mountPath: /opt/jboss/keycloak/themes
name: test-volume
volumes:
- name: test-volume
gcePersistentDisk:
pdName: pd-name
fsType: ext4
pod重新启动时,我可以以何种方式保留自定义主题?创建一个StorageClass和一个PersistentVolumeClaim
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nfs-pvc
spec:
accessModes:
- ReadWriteOnce
storageClassName: ssd-sc # specify the storage class created below
resources:
requests:
storage: 10Gi
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ssd-sc
provisioner: kubernetes.io/gce-pd
reclaimPolicy: Retain # Retain storage even if we delete PVC
parameters:
type: pd-ssd # ssd
apiVersion: v1
kind: Pod
metadata:
name: task-pv-pod
spec:
volumes:
- name: task-pv-storage
persistentVolumeClaim:
claimName: nfs-pvc
containers:
- name: task-pv-container
image: nginx
ports:
- containerPort: 80
name: "http-server"
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: task-pv-storage
创建一个Pod以使用PersistentVolumeClaim
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nfs-pvc
spec:
accessModes:
- ReadWriteOnce
storageClassName: ssd-sc # specify the storage class created below
resources:
requests:
storage: 10Gi
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ssd-sc
provisioner: kubernetes.io/gce-pd
reclaimPolicy: Retain # Retain storage even if we delete PVC
parameters:
type: pd-ssd # ssd
apiVersion: v1
kind: Pod
metadata:
name: task-pv-pod
spec:
volumes:
- name: task-pv-storage
persistentVolumeClaim:
claimName: nfs-pvc
containers:
- name: task-pv-container
image: nginx
ports:
- containerPort: 80
name: "http-server"
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: task-pv-storage
创建StorageClass和PersistentVolumeClaim
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nfs-pvc
spec:
accessModes:
- ReadWriteOnce
storageClassName: ssd-sc # specify the storage class created below
resources:
requests:
storage: 10Gi
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ssd-sc
provisioner: kubernetes.io/gce-pd
reclaimPolicy: Retain # Retain storage even if we delete PVC
parameters:
type: pd-ssd # ssd
apiVersion: v1
kind: Pod
metadata:
name: task-pv-pod
spec:
volumes:
- name: task-pv-storage
persistentVolumeClaim:
claimName: nfs-pvc
containers:
- name: task-pv-container
image: nginx
ports:
- containerPort: 80
name: "http-server"
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: task-pv-storage
创建一个Pod以使用PersistentVolumeClaim
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nfs-pvc
spec:
accessModes:
- ReadWriteOnce
storageClassName: ssd-sc # specify the storage class created below
resources:
requests:
storage: 10Gi
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ssd-sc
provisioner: kubernetes.io/gce-pd
reclaimPolicy: Retain # Retain storage even if we delete PVC
parameters:
type: pd-ssd # ssd
apiVersion: v1
kind: Pod
metadata:
name: task-pv-pod
spec:
volumes:
- name: task-pv-storage
persistentVolumeClaim:
claimName: nfs-pvc
containers:
- name: task-pv-container
image: nginx
ports:
- containerPort: 80
name: "http-server"
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: task-pv-storage
据我所知,每个主题都应该有自己的文件夹。它应该是
themes/mytheme/login
,而不是themes/login
。例如,您的本地结构可能如下所示:
Dockerfile
themes
|-mytheme
|-account
|-admin
|-login
|-resources
|-css
|-img
|-theme.properties
|-welcome
FROM jboss/keycloak:8.0.1
ADD ./themes /opt/jboss/keycloak/themes/
Docker文件可能如下所示:
Dockerfile
themes
|-mytheme
|-account
|-admin
|-login
|-resources
|-css
|-img
|-theme.properties
|-welcome
FROM jboss/keycloak:8.0.1
ADD ./themes /opt/jboss/keycloak/themes/
构建一个docker映像,运行,然后转到
领域设置->主题
并选择您的主题 据我所知,每个主题都应该有自己的文件夹。它应该是themes/mytheme/login
,而不是themes/login
。例如,您的本地结构可能如下所示:
Dockerfile
themes
|-mytheme
|-account
|-admin
|-login
|-resources
|-css
|-img
|-theme.properties
|-welcome
FROM jboss/keycloak:8.0.1
ADD ./themes /opt/jboss/keycloak/themes/
Docker文件可能如下所示:
Dockerfile
themes
|-mytheme
|-account
|-admin
|-login
|-resources
|-css
|-img
|-theme.properties
|-welcome
FROM jboss/keycloak:8.0.1
ADD ./themes /opt/jboss/keycloak/themes/
构建一个docker映像,运行,然后转到
领域设置->主题
并选择您的主题 当我尝试进入KeyClope管理控制台时,它对我无效。它不加载。您是否使用正确的路径装入了卷?kubectl get pv,pvc
显示了什么?当我尝试进入Keyclope管理控制台时,它对我不起作用。它没有加载。您是否使用正确的路径安装了卷?kubectl获得的pv、pvc显示了什么?