针对10.1及之前版本,需要手动去配置证书,未来版本会考虑进行界面化配置。
一、提前准备
1. 证书需要准备三个文件
- *.key
- *.crt
- private.pem
2. 如果没有修改iManager for K8S 命名空间,默认创建在supermap命名空间下
例如下图
![](https://i-blog.csdnimg.cn/blog_migrate/c8ce09a5ffd5ab79b8d981a695c9039b.png)
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右上角点击创建按钮
![](https://i-blog.csdnimg.cn/blog_migrate/0f12131abdb2b63f2a841f2baf0577a8.png)
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
点击名称
![](https://i-blog.csdnimg.cn/blog_migrate/788590a705482548c7e6266135fd667e.png)
点击存储卷
![](https://i-blog.csdnimg.cn/blog_migrate/069cc66eba0cc9744246ea7ad0ae45ee.png)
即可找到物理存储地址
![](https://i-blog.csdnimg.cn/blog_migrate/cefe61d1be6cca19cb507ca328c99f58.png)
3.将.key和*.crt证书放到上一步物理存储地址,并修改文件名为tls.key 和 tls.crt,其中 tls.key 是私钥,tls.crt 是公钥。
![](https://i-blog.csdnimg.cn/blog_migrate/184e5c4df2244c48a03beb9493c77906.png)
4.给予 tls.key 和 tls.crt 文件权限
chmod 755 *
5.修改keycloak编排文件
kubectl -n supermap edit deploy keycloak
5.1 增加pvc
![](https://i-blog.csdnimg.cn/blog_migrate/cd68754aaab168ddd8cc2f4325380262.png)
volumes:
- name: certificate
persistentVolumeClaim:
claimName: pvc-keycloak-certificate-supermap
5.2 将 keycloak 容器的 /etc/x509/https 目录挂载到证书目录
![](https://i-blog.csdnimg.cn/blog_migrate/760f04609ef5033089d0cad3263a9d21.png)
volumeMounts:
- mountPath: /etc/x509/https
name: certificate
6.保存退出后,会重新创建Pod
输入:wq ,保存退出并更新编排
:wq
7.Keycloak证书更新,其表现在iManager登录。
![](https://i-blog.csdnimg.cn/blog_migrate/8f9fae30559374be4868ceb3582af37f.png)
三、imanager-dashboard-ui 证书替换(10.1支持)
1.命名空间切换到supermap后,访问K8S UI右上角点击创建按钮
![](https://i-blog.csdnimg.cn/blog_migrate/3cf0891034c4bec58b05db2b234b4229.png)
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
点击名称
![](https://i-blog.csdnimg.cn/blog_migrate/cb143f55dc27bdbfe0c65bee482996c2.png)
点击存储卷
![](https://i-blog.csdnimg.cn/blog_migrate/64a6cceea3a471cea5a05cd56a64713f.png)
即可找到物理存储地址
![](https://i-blog.csdnimg.cn/blog_migrate/2b0a94938c9eb22e21e4f9f89c214f63.png)
3.将private.pem和*.crt证书放到上一步物理存储地址,并修改文件名 private.pem 和 certificate.crt。
![](https://i-blog.csdnimg.cn/blog_migrate/06b4da7924a0fb45d7e9c5d1d35ff15e.png)
4.给予private.pem 和 certificate.crt文件权限
chmod 755 *
5.修改imanager-dashboard-ui编排文件
kubectl -n supermap edit deploy imanager-dashboard-ui
5.1 增加pvc,增加映射目录
![](https://i-blog.csdnimg.cn/blog_migrate/baec2b9b49eb417e1701e5d547deba04.png)
volumeMounts:
- mountPath: /etc/icloud/imanager-dashboard-ui/certificate
name: certificate
volumes:
- name: certificate
persistentVolumeClaim:
claimName: pvc-imanager-dashboard-ui-certificate-supermap
5.2 修改启动脚本
![](https://i-blog.csdnimg.cn/blog_migrate/afb5823f0ab63362b19c8ee85faccc43.jpeg)
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。
![](https://i-blog.csdnimg.cn/blog_migrate/21f6eb5c97077e1b3f1472ed09a2fffb.png)
(转发请注明出处: https://blog.csdn.net/zhang90522 如发现有错,请留言,谢谢)