2024-2-23 myluzh
Kubernetes
0x00 前言
最近遇到一个问题:客户端上传大一点的文件,http就直接响应Status Code: 413 Request Entity Too Large
由于k8s ingress的上游还有一个nginx,所以先判断是不是nginx限制了上传大小,
nginx配置文件client_max_body_size没有问题,那就是ingress-nginx限制了大小,所以就有了下面这篇文章...
root@iZbp12bkuvg20e1j3y9gtvZ:/etc/nginx/conf.d# grep "client_max_body_size" *.conf
prd-all.conf: client_max_body_size 100m;
test-all.conf: client_max_body_size 100m;
0x01 单个Ingress资源调整请求体大小限制
在Kubernetes中,当使用Nginx Ingress Controller时,若需要调整请求体大小限制,您可以直接在Ingress资源中添加相应的annotations。
1、编辑Ingress资源...
阅读全文>>
标签: nginx Ingress client_max_body_size annotations proxy-body-size
评论(0)
(767)
2024-2-22 myluzh
Docker
0x01 概述
Docker 分阶段构建是指在 Dockerfile 中使用多个 FROM 指令来分割构建过程,将整个构建过程分为多个阶段。每个阶段可以有自己的基础镜像,执行特定的构建步骤,并且可以从前一个阶段复制构建结果。最终只有最后一个阶段的构建结果会被保留在最终的镜像中,其它阶段的中间产物不会被包含在最终的镜像中。
分阶段构建的优点包括:
减小镜像大小:通过将构建过程分解为多个阶段,可以避免将构建工具和中间产物包含在最终的镜像中,从而减小镜像的大小。
加快构建速度:每个阶段可以并行执行,节省构建时间。
更好的可维护性:分阶段构建可以更清晰地组织构建过程,使得 Dockerfile 更易于阅读和维护。
0x02 示例
下面是一个使用 Docker 分阶段构建 Python 应用的示例:
# 第一阶段:构建依赖环境
FROM python:3.8 AS builder
WORKDIR /app
COPY requirements.txt .
RUN pip install --upgrade pip
RUN pip install -r ...
阅读全文>>
标签: docker 多阶段 构建 builder
评论(0)
(291)
2024-2-17 myluzh
Kubernetes
0x01 故障描述
ranhcer UI 无法进入,查看logs提示X509 certificate has expired or is not yet valid
# 查看 rancher agent 日志
root@iZbp1bddlmdujngbc11omnZ:~# docker logs -f --tail 10 b109
time="2024-02-17T03:26:04Z" level=fatal msg="Server certificate is not valid, please check if the host has the correct time configured and if the server certificate has a notAfter date and time in the future. Certificate information is displayed above. error: Get \"https://172.30.233.87:8443\": x509: certificate has expired or is not yet valid: curren...
阅读全文>>
标签: rancher
评论(0)
(378)
2024-1-31 myluzh
Kubernetes
0x01 安装istio
[root@k8s-master01 istio]# wget https://github.com/istio/istio/releases/download/1.20.2/istio-1.20.2-linux-amd64.tar.gz
[root@k8s-master01 istio]# tar -zxvf istio-1.20.2-linux-amd64.tar.gz
[root@k8s-master01 istio]# cd istio-1.20.2/bin/
# 对于本次安装,我们采用 demo 配置组合。https://istio.io/latest/zh/docs/setup/additional-setup/config-profiles/
[root@k8s-master01 bin]# ./istioctl install --set profile=demo -y
✔ Istio core installed ...
阅读全文>>
标签: istio service mesh istioctl
评论(0)
(402)
2024-1-30 myluzh
NOTE
0x01 关于微服务血崩问题
什么是微服务血崩:
微服务调用链路中的某个服务器故障,引起整个链路中所有微服务不可用,这就是血崩。
解决微服务血崩问题常见方式有四种:
1、超时处理:设定超时时间,请求超过一定时间没有响应就返回错误信息,不会无休止等待。
2、舱壁模式:限定每个业务能使用的线程数,避免耗尽整个tomcat的资源,因此也线程隔离。
3、熔断降级:由断路器统计业务执行的异常比例,如果超出阈值则会熔断该业务,拦截该业务的一切请求。
4、流量控制:限制业务访问的QPS,避免服务因流量的突增而故障。
0x02 安装Sentinel
# web端口8090 账号 sentinel 密码xMbiP1d5e5R4R52C
java -Dserver.port=8090 \
-Dproject.name=sentinel-dashboard \
-Dcsp.sentinel.dashboard.server=localhost:8090 \
-Dsentinel.dashboard.auth.password=xMbiP1d5e5R4R52C \
-jar /data/sentinel-das...
阅读全文>>
评论(0)
(394)
2024-1-28 myluzh
VMware
0x01 注意事项
回收磁盘磁盘类型必须为精简置备(thin)
回收前最好先备份
0x02 空间回收
1、打开ESXi,服务里面开启SSH
2、连接SSH,进入虚拟机所在磁盘
# 进去虚拟机所在磁盘,切换到需要回收的虚拟机目录
[root@ESXi:~] cd /vmfs/volumes/NAS-iSCSI/
[root@ESXi:/vmfs/volumes/65b3d3e4-bbc82bfd-c13e-e86a64d30a91/]cd CentOS
# 查看当前占用大小
[root@ESXi:/vmfs/volumes/65b3d3e4-bbc82bfd-c13e-e86a64d30a91/CentOS] du -sh *.vmdk
4.0M CentOS-ctk.vmdk
50.0G CentOS-flat.vmdk
0 CentOS.vmdk
# 使用vmkfstools -K 空间回收,等待100% done.
[root@ESXi:/vmfs/volumes/65b3d3e4-bbc82bfd-c13e-e86a64d30a91/CentOS] vmkfstools -K CentOS.vmdk
Hole ...
阅读全文>>
标签: vmware esxi 硬盘 精简置备 空间回收 thin
评论(0)
(495)