Myluzh Blog

OpenStack单节点All-In-One安装与入门

2024-5-29 myluzh OpenStack

0x01 介绍 本次实验是在centos7虚拟机里面安装openstack_allinone。 注意1:centos7虚拟机是在vmware esxi上创建的,需要开启二层虚拟化。(虚拟机设置 CPU开启硬件虚拟化 向客户机操作系统公开硬件辅助的虚拟化) 注意2:vmware esxi的虚拟交换机需要开启(混杂模式 mac地址更改 伪传输)这三个功能,要不然openstack路由器到物理网络不通的。 注意3:centos7 虚拟机配置为 16c 32g 300g。如果太低可能跑不起来。 大概拓扑如下: 0x02 准备工作 # yum源加速 [root@openstack-allinone ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup [root@openstack-allinone ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo [root@openstack-allino...

阅读全文>>

标签: openstack allinone

评论(0) (459)

关于物理网络跟docker默认网段172.17.0.0/16冲突问题

2024-5-24 myluzh Docker

0x01 描述 在使用 Docker 时发现其默认的网段与你的内网网段冲突,可以考虑修改 Docker 的默认网段以避免冲突。 0x02 解决 打开 daemon.json 文件,并添加或修改 "bip"(bridge IP)字段来设置 Docker 的网桥 IP 地址和子网掩码。你可以选择一个与你的内网网段不冲突的网段。例如: # vim /etc/docker/daemon.json { "bip": "192.168.0.1/24" } # systemctl reload docker # systemctl restart docker

阅读全文>>

评论(0) (225)

K8S 批量删除被驱逐的Pod(Evicted Pods)

2024-4-7 myluzh Kubernetes

0x01 故障 集群中一个deployment中有很多Evicted的pod root@iZbp12bkuvg20e1j3y9gtxZ:~# kubectl get pod -n base-ops NAME READY STATUS RESTARTS AGE registry-6d7b7c9fb4-22f2x 0/1 Evicted 0 10d registry-6d7b7c9fb4-24r7j 0/1 Evicted 0 10d registry-6d7b7c9fb4-25clg 0/1 Evicted 0 10d ... 0x02 原因 原因:由于node节点的磁盘或内存资源不够后将现有的pod进行了驱赶。可以把磁盘资源释放后,批量删除Evicted Pod kubectl -n base-ops  get pods | grep Evicted | awk '{print$1}' |xargs kubectl -n base-...

阅读全文>>

标签: k8s pod evicted 驱逐

评论(0) (351)

阿里云负载均衡ALB获取客户端真实IP

2024-2-28 myluzh CLOUD

0x01 获取方法介绍 当使用ALB监听转发流量时,您可通过HTTP头部的X-Forwarded-For字段获取客户端真实IP地址。 七层负载均衡(HTTP或HTTPS协议)支持在HTTP头部的X-Forwarded-For字段保留客户端真实IP信息,服务器进行相应配置后即可获取到客户端真实IP地址。 X-Forwarded-For字段格式如下: X-Forwarded-For: <客户端真实IP, 代理服务器1-IP, 代理服务器2-IP,...> 当使用此方式获取客户端真实IP时,获取的第一个地址就是客户端真实IP。 0x02 操作步骤 步骤一:检查监听已开启通过X-Forwarded-For获取功能 1、登录应用型负载均衡ALB控制台。 2、在顶部菜单栏,选择实例所属的地域。 3、在实例页面,找到目标实例,单击实例ID。 4、在实例详情页面,单击监听页签,找到目标监听,单击监听ID。 5、在监听详情页面,查看到附加HTTP头字段包括开启通过X-Forwarded-For头字段获取来访者客户端IP。 说明:ALB默认开启通过X-Forwarded-For头字段获取客户端真实IP功...

阅读全文>>

标签: 日志 nginx 负载均衡 格式化 阿里云 ALB

评论(0) (460)

K8S Ingress-nginx修改上传大小限制

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) (789)

Docker多阶段构建

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) (296)