如何自定义 cubestudio 默认 Logo:详细实现方案

 要将 Pod 中的路径 /data/web/frontend/static/media/logoCB.2d1a8ac6d79bff7cccfafa358ae32b2f.svg 替换为外部的某个图片,可以通过以下几种方法处理。推荐使用 挂载 ConfigMap 或 Secret 的方式,因为它是 Kubernetes 原生的、可持续的解决方案。


方法 :使用 ConfigMap 挂载文件

将外部图片存储为 Kubernetes 的 ConfigMap,并挂载到 Pod 的目标路径。

1.1 创建 ConfigMap

首先,将图片转换为 Base64 编码(如果图片文件较大,可以直接通过文件路径创建 ConfigMap):

kubectl create configmap cubestudio-logo --from-file=/data/kubesphere/logo/logoCB.2d1a8ac6d79bff7cccfafa358ae32b2f.svg --namespace=infra

查看生成的 ConfigMap:

kubectl get configmap cubestudio-logo -o yaml -n infra
1.2 修改 Deployment 配置

编辑 ks-console 的 Deployment,挂载 ConfigMap 中的文件到 Pod 的路径 /opt/kubesphere/console/dist/assets/logo.svg

kubectl edit deployment kubeflow-dashboard-frontend -n infra

在 Deployment 的 spec.template.spec.volumes 中添加:

volumes:
- name: cubestudio-logo-volume
  configMap:
    name: cubestudio-logo

spec.template.spec.containers.volumeMounts 中添加:

volumeMounts:
- name: cubestudio-logo-volume
  mountPath: /data/web/frontend/static/media/logoCB.2d1a8ac6d79bff7cccfafa358ae32b2f.svg
  subPath: logoCB.2d1a8ac6d79bff7cccfafa358ae32b2f.svg
1.3 应用更改

保存修改后,Kubernetes 会自动更新 Pod。验证挂载是否成功:

查看当前pod
kubectl -n infra get pods  |grep kubeflow-dashboard-frontend

替换下面的pod名, 查看是否成功, 切记名字都不能错, 要保持一至, 明白什么是保持一致吧?

kubectl exec -it kubeflow-dashboard-frontend-6776568c8c-jqk4t -n infra -- ls -l /data/web/frontend/static/media/logoCB.2d1a8ac6d79bff7cccfafa358ae32b2f.svg

你可能感兴趣的:(k8s专栏,linux,运维,服务器)