针对10.1及之前版本,需要手动去配置证书,未来版本会考虑进行界面化配置。
一、提前准备
1. 证书需要准备三个文件
- *.key
- *.crt
- private.pem
2. 如果没有修改iManager for K8S 命名空间,默认创建在supermap命名空间下
例如下图
3. 10.1版本需要在values.yaml中新增1个deploy_imanager_service_protocol,再启动iManager
# 选填,imanager服务协议,可填[https|http],默认http。当设置为https时,deploy_keycloak_service_protocol也需要设置为https。
deploy_imanager_service_protocol: https
二、Keycloak 证书替换
1.命名空间切换到supermap后,访问K8S UI右上角点击创建按钮
2.创建Keycloak PVC挂载目录
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-keycloak-certificate-supermap
labels:
type: icloud-native
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 100Mi
storageClassName: appset-storage-class-gisappset
如果储存类有修改,那么用实际的存储类替换,默认使用的是 appset-storage-class-gisappset
创建完成后可以在K8S UI上进行搜索
pvc-keycloak-certificate-supermap
点击名称
点击存储卷
即可找到物理存储地址
3.将.key和*.crt证书放到上一步物理存储地址,并修改文件名为tls.key 和 tls.crt,其中 tls.key 是私钥,tls.crt 是公钥。
4.给予 tls.key 和 tls.crt 文件权限
chmod 755 *
5.修改keycloak编排文件
kubectl -n supermap edit deploy keycloak
5.1 增加pvc
volumes:
- name: certificate
persistentVolumeClaim:
claimName: pvc-keycloak-certificate-supermap
5.2 将 keycloak 容器的 /etc/x509/https 目录挂载到证书目录
volumeMounts:
- mountPath: /etc/x509/https
name: certificate
6.保存退出后,会重新创建Pod
输入:wq ,保存退出并更新编排
:wq
7.Keycloak证书更新,其表现在iManager登录。
三、imanager-dashboard-ui 证书替换(10.1支持)
1.命名空间切换到supermap后,访问K8S UI右上角点击创建按钮
2.创建imanager-dashboard-ui PVC挂载目录
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-imanager-dashboard-ui-certificate-supermap
labels:
type: icloud-native
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 100Mi
storageClassName: appset-storage-class-gisappset
如果储存类有修改,那么用实际的存储类替换,默认使用的是 appset-storage-class-gisappset
创建完成后可以在K8S UI上进行搜索
pvc-imanager-dashboard-ui-certificate-supermap
点击名称
点击存储卷
即可找到物理存储地址
3.将private.pem和*.crt证书放到上一步物理存储地址,并修改文件名 private.pem 和 certificate.crt。
4.给予private.pem 和 certificate.crt文件权限
chmod 755 *
5.修改imanager-dashboard-ui编排文件
kubectl -n supermap edit deploy imanager-dashboard-ui
5.1 增加pvc,增加映射目录
volumeMounts:
- mountPath: /etc/icloud/imanager-dashboard-ui/certificate
name: certificate
volumes:
- name: certificate
persistentVolumeClaim:
claimName: pvc-imanager-dashboard-ui-certificate-supermap
5.2 修改启动脚本
command: ["/bin/sh", "-c"]
args:
- >
cp /etc/icloud/imanager-dashboard-ui/certificate/* /etc/icloud/imanager-dashboard-ui/;
node startup-$PROTOCOL.js;
6.保存退出后,会重新创建Pod
输入:wq ,保存退出并更新编排
:wq
7.imanager-dashboard-ui证书更新,其表现在iManager UI。
(转发请注明出处:http://www.cnblogs.com/zhangyongli2011/ 如发现有错,请留言,谢谢)