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_exchang...标签: 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 ...2023-10-30 myluzh Kubernetes
0x01 关于部署flannel失败 在上一个过程中,部署高可用k8s集群后,在master节点安装flannel网络插件,部署后没有pod,后面经过分析报错如下: # 在master节点apply kube-flannel.yml 提示所有东西都已经创建了。 [root@k8s-master01 ~]# kubectl apply -f kube-flannel.yml namespace/kube-flannel created clusterrole.rbac.authorization.k8s.io/flannel created clusterrolebinding.rbac.authorization.k8s.io/flannel created serviceaccount/flannel created configmap/kube-flannel-cfg created daemonset.apps/kube-flannel-ds created # 在kube-flannel里面 找不到任何pod [root@k8s-master01 ~]# kubectl g...2023-10-30 myluzh Kubernetes
0x00 介绍 虚拟ip 172.16.10.20 master.k8s.io k8s-vip master01 172.16.10.21 master01.k8s.io master01 master02 172.16.10.22 master02.k8s.io master02 node01 172.16.10.23 node01.k8s.io...标签: k8s 高可用 keepalived haproxy
2023-10-20 myluzh Kubernetes
0x01 PV PVC概述 PV(PersistentVolume)是对底层的共享存储的一种抽象,由管理员进行创建和配置。它和具体的底层的共享存储技术的实现方式有关,比如Ceph、GlusterFS、NFS等,都是通过插件机制完成与共享存储的对接。 PVC(PersistentVolumeClaim)是Kubernetes中的一个资源对象,用于抽象地申请和管理持久化存储资源。它向POD(容器运行的环境)提供了一个简单、抽象的接口,用于绑定和挂载一个POD所需要的存储卷。POD可以通过PVC来自动配置和使用存储卷。 实现流程: 0x02 申请PVC例子 1、定义一个pv,名字为my-pv [root@k8s-master01 k8s]# vi my-pv.yaml apiVersion: v1 kind: PersistentVolume metadata: name: my-pv spec: capacity: storage: 5Gi # 指定存储容量为 5Gi ...2023-10-20 myluzh Kubernetes
0x01 安装nfs服务端 1、找一台服务器安装nfs服务端 # centos nfs服务端跟客户端 一样都是nfs-utils [root@nfs-server /]# yum install -y nfs-utils # 如果是Ubuntu sudo apt-get install -y nfs-kernel-server # nfs服务端 2、设置挂载路径 # 创建挂载路径 [root@nfs-server /]# mkdir -p /data/nfs # 设置nfs挂载路径 [root@nfs-server /]# vi /etc/exports # 将/data/nfs文件夹共享给*(*为所有IP),也可以限制单独ip 写法 /data/nfs 172.16.10.20(rw,no_root_squash) /data/nfs *(rw,no_root_squash) 3、启动nfs服务 [root@nfs-server /]# systemctl start nfs [root@nfs-server /]# ps -ef | grep nfs ...