世界哪有真情在

世界哪有真情在

简介

这位用户还没有填写个人简介...

发布 109 篇文章
加入于 2024-08-25

haproxy、keepalived安装与配置

本文介绍在 CentOS 7.9 上部署 HAProxy 与 Keepalived 实现 Kubernetes API Server 高可用的方法。HAProxy 以 TCP 模式监听 6443 端口,采用 roundrobin 轮询将请求分发至三个 kube-apiserver 节点,并通过 /healthz 健康检查确保只有返回 ok 的节点接收流量,连续失败节点会被自动摘除。Keepalived 通过 VRRP 协议管理虚拟 IP(172.31.0.100),主备节点配置优先级与认证,并利用自定义脚本检测 haproxy 进程,异常时主动降级或停止自身触发故障转移。文章提供完整配置文件与启动命令,包含多播改单播及防火墙检查注意事项,能帮助读者构建稳定、可自动故障切换的 Kubernetes 入口负载均衡层。

haproxy、keepalived安装与配置

etcd集群安装与配置

本文介绍在 CentOS 7.9 上部署三节点 etcd 集群的完整流程。前置需完成 CentOS 安装配置。首先使用 cfssl 工具,通过 `-ca` 和 `-ca-key` 引用已有 CA 证书及私钥为 etcd 签发证书;下载 etcd v3.5.2 并安装至 /usr/local/bin。接着为三个节点分别创建 etcd.conf,配置集群成员、监听地址等,并创建 etcd.service 系统服务。然后将证书、服务文件和二进制分发到各节点,启动集群。最后使用 etcdctl 验证集群状态,包括健康检查、性能测试、成员列表和节点状态,确认集群运行正常。注意启动前需关闭 firewalld 和 iptables。

etcd集群安装与配置

二进制部署containerd与优化配置

本文介绍在 CentOS 7.9 上部署 Containerd 的完整流程。首先下载 cri-containerd-cni-1.7.23 压缩包并解压至系统根目录,生成默认配置,需开启 systemd_cgroup 并将 pause 镜像替换为阿里云镜像源。文中提供可直接使用的完整配置文件,包含镜像加速与 Harbor 私有仓库配置。随后优化 runc:下载 v1.2.3 替换原版,解决 seccomp_notify_respond 符号错误。最后说明代理配置方法,通过创建 http-proxy.conf 设置 HTTP/HTTPS 代理及 NO_PROXY 白名单,注意该配置仅适用于开发测试环境。按步骤操作可完成 Containerd 基础部署并适配 Kubernetes 使用。

linux 
二进制部署containerd与优化配置

Kubernetes构建指南:ingress-nginx配置与实践

本文介绍了在 Kubernetes 集群中部署 ingress-nginx v1.3.1 的流程与关键配置:需将 externalTrafficPolicy 改为 Cluster,服务类型设为 LoadBalancer 以搭配 MetalLB/OpenELB;并提供了国内镜像源 YAML。同时展示如何通过 server-snippet 实现临时维护页面,在不停止服务的情况下拦截外部流量。文章重点解释了 ingress-nginx 默认禁止 snippet 注解的原因——安全风险高、存在 CVE 漏洞历史、多租户场景下可能越权;但实际业务常需自定义 header、特殊 rewrite、缓存/限流等官方注解未覆盖的功能。解决方案是由集群管理员显式启用 allow-snippet-annotations 并设置 annotations-risk-level,或关闭 Admission 校验,在安全与灵活性间取得平衡。读者可据此安全、合规地使用 snippet 扩展 Ingress 能力。

Kubernetes构建指南:ingress-nginx配置与实践

使用 K8S 或 Docker 快速部署 metallb 与 openelb

本文介绍如何用 Ingress 配合负载均衡器替代 NodePort,提升服务可维护性与安全性。前置条件包括已部署 Kubernetes 集群;若 kube-proxy 使用 IPVS 模式,需启用严格 ARP(strictARP: true)。部署流程:先安装 MetalLB(v0.13.9),创建 IPAddressPool 地址池(172.31.0.240-250)并开启 L2Advertisement;再部署 ingress-nginx,使其识别负载均衡 IP。随后创建 Deployment、Service(ClusterIP)和 Ingress 测试访问,注意 Ingress 注解需添加 kubernetes.io/ingress.class: nginx。通过本地 hosts 将域名指向负载均衡 IP,成功访问 Nginx 欢迎页,验证了 MetalLB 与 Ingress 的对接正常。整体方案实现域名请求到服务的智能路由,避免暴露 NodePort 带来的安全和管理问题。

使用 K8S 或 Docker 快速部署 metallb 与 openelb

Kubernetes构建指南:二进制部署v1.21.x

本文详细介绍了在CentOS 7.9上手动部署高可用Kubernetes集群的完整流程。内容涵盖基础环境配置(主机名、防火墙、SELinux、内核升级、系统优化等),使用HAProxy与Keepalived实现API服务器高可用,部署etcd集群,逐步安装并配置kube-apiserver、kube-scheduler、kube-controller-manager、kubelet、kube-proxy等核心组件,以及集成Calico网络插件和CoreDNS。文中提供了各步骤的配置文件、命令和验证方法,并针对镜像下载受限问题给出了pull.sh同步脚本,最后通过部署nginx服务验证集群功能正常。文章适合希望深入理解Kubernetes组件关系并手动搭建集群的运维人员参考。

Kubernetes构建指南:二进制部署v1.21.x

centos7.9升级5.x内核

本文介绍在CentOS 7中手动更新内核至5.4.226-1.el7.elrepo.x86_64的完整流程。操作前需安装wget和perl,并创建临时目录下载内核RPM包;若wget链接失效,可使用作者提供的备用压缩包。依次或批量安装kernel-lt、devel、headers三个RPM文件,然后通过rpm -qa确认安装结果,使用cat /etc/grub2.cfg查看启动菜单顺序,执行grub2-set-default 0将新内核设为默认启动项。重启系统后使用uname -r验证内核版本。整个流程无需额外工具,按命令逐条执行即可完成升级,同时保留旧内核可用。

linux 
centos7.9升级5.x内核

打包与构建优化

本文总结了Node.js、Maven、Gradle构建工具在特殊环境下的实践要点。Node.js内网构建时,即使设置私有仓库registry,已提交的package-lock.json仍可能导致依赖下载失败,需删除该文件重新构建;保守构建还应去除package.json依赖版本前的^符号,确保使用初始版本。Maven常用构建命令为`mvn clean package`,可配合跳过测试、强制更新依赖参数;在受限网络下需在settings.xml配置代理服务器以访问外部仓库。Maven deploy命令可指定releases和snapshots仓库地址上传构件。Gradle构建可用`gradle build --info`输出详细日志,便于排查问题。这些方法能帮助开发者在受限网络环境中稳定完成构建。

打包与构建优化

关于vue本地开发诡异发出https请求的异常问题

一个远古 Vue + webpack 项目本地启动时,浏览器报 `net::ERR_SSL_PROTOCOL_ERROR`,明明本地开发却请求 HTTPS。排查发现,页面中配置了 `<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">`,该指令会把所有 HTTP 请求强制升级为 HTTPS;若服务器不支持 HTTPS,就会导致资源加载失败。解决办法是移除或修改这行 meta 配置,避免浏览器强制升级请求。

关于vue本地开发诡异发出https请求的异常问题

关于nginx前端容器gzip不生效的异常问题

项目因仓促上线未做性能优化,静态资源加载缓慢。后期开启Gzip后,发现经`proxy_pass`反向代理的响应头中未出现`content-encoding: gzip`,而直接访问域名却正常。排查确认:Nginx与后端upstream默认使用HTTP/1.0协议通信,而Gzip压缩默认仅对HTTP/1.1及以上请求生效,导致代理链路中压缩失效。解决方案是在Nginx配置中增加`gzip_http_version 1.0;`,使HTTP/1.0及以上版本均启用压缩。配置生效后,静态资源由每个约300KB降至约70KB,显著提升加载速度。此案例提示,在使用反向代理时需关注HTTP协议版本对Gzip的影响。

关于nginx前端容器gzip不生效的异常问题
弹