Strive to become a dream architect.
2023-11-9 myluzh Kubernetes
0x00 介绍 1、NFS-Subdir-External-Provisioner 在Kubernetes中,一个PersistentVolume(PV)只能绑定到一个PersistentVolumeClaim(PVC)。PV和PVC之间是一对一的关系,每个PVC只能绑定到一个PV。 使用支持动态PV和PVC创建的存储插件,您可以为每个PVC动态创建一个独立的PV。这样,每个PVC都有自己的PV,但它们可以共享相同的存储资源。 部署 NFS-Subdir-External-Provisioner 提供动态分配卷,NFS-Subdir-External-Provisioner是一个自动配置卷程序,它使用现有的和已配置的 NFS 服务器来支持通过持久卷声明动态配置 Kubernetes 持久卷。 持久卷被配置为:${namespace}-${pvcName}-${pvName}。 此组件是对 nfs-client-provisioner 的扩展,nfs-client-provisioner 已经不提供更新,且 nfs-client-provisioner 的 Github 仓库已经迁移到 NFS-Subdir-Ex...2023-11-9 myluzh Kubernetes
0x01 定制RabbitMQ镜像 本文章基于DockerHub镜像rabbitmq:3.12.8-management,由于官方镜像没有集成有些插件,需要在镜像中安装插件并重新打包。 rabbitmq_delayed_message_exchange延迟队列插件的安装,rabbitmq 插件下载(官网):https://www.rabbitmq.com/community-plugins.html【根据rabbitmq版本选择对应的插件,web管理页面首页可以查看rabbitmq版本】,手动安装插件教程参考:https://blog.csdn.net/user2025/article/details/105620908 下载完成rabbitmq_delayed_message_exchange-3.12.0.ez后,放到跟dockerfile同一目录,然后使用docker build进行打包。 DockerFile如下: FROM rabbitmq:3.12.8-management ADD ./rabbitmq_delayed_message_exchange-3.12.0.ez /pl...标签: docker k8s dockerfile rabbitmq
2023-11-7 myluzh Kubernetes
在JDK 1.8之前的版本中,Java本身并不了解Kubernetes中的资源限制,因此如果Java应用程序申请的资源超出了Pod的限制,Kubernetes将直接kill该Pod。 所以需要在Dockerfile中打包镜像时传递环境变量并将其传递给Java命令,可以按照以下步骤进行操作: 第一步:在Dockerfile中设置环境变量 ENV JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=GMT+08" CMD java -jar $JAVA_OPTS xxx.jar 上述代码将环境变量JAVA_OPTS设置为$JAVA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=GMT+08,并将其传递给Java命令。 第二步:在Kubernetes的YAML文件中设置环境变量和资源限制 apiVersion: v1 kind: Pod metadata: name: your-pod spec: containers: - name: your-container ...