在云原生环境下使用nginx-ingress-controller作为网关服务,我们希望能监控网关流量,重点监控访问者的IP和访问的服务。目前使用比较多的两种基于 NGINX 的 Ingress 控制器实现:一种是nginxinc/kubernetes-ingress,另一种是kubernetes/ingress-nginx,我们使用的是nginxinc/kubernetes-ingress
,它是nginx社区维护的一个版本。开始准备通过metric暴露nginx-ingress-controller的监控指标,使用Prometheus进行采集,发现nginx社区维护的这个开源版kubernetes-ingress可收集的监控指标非常少。我们需要的信息其实Nginx都有打印日志,所以,我们决定采集nginx-ingress-controller的日志,最终收集到ES中进行存储,后期就可以使用Kibana查询这些日志,甚至对这些日志进行分析。
在K8s云环境下,如何查询某一Linux系统进程ID与Pod对应关系需要一定的技巧。本文利用在K8s集群中某一机器的文件描述符占用过高的问题,排查定位到对应Pod的一次经验记录Linux系统进程ID与Pod对应关系查询思路。
本文详细介绍了如何通过Kubernetes中的Go语言调用API Server来实现创建Job任务。该功能需要实现创建Job执行任务、任务完成后提取日志中的JSON并解析入库,以及支持周期执行等步骤。这些都得益于client-go包的支持才能轻松实现,但在实践中也遇到了一些值得记录的问题。
本文记录的是如何在离线环境下快速更新trivy.db,解决国内下载东西网络慢的问题,以及如何将文件拷贝进容器。这两个小技巧比较实用,以供未来参考。
国家标准《信息技术 中文编码字符集GB18030-2022》发布于 2022-07-19并于2023-08-01正式实施,需要对系统编码支持进行改造升级。本文介绍关于在K8s/Docker云环境背景,在jdk1.8环境下容器镜像中的GB18030-2022标准支持及验证。
在一次使用docker-compose部署应用时,发现应用调用内网另一个IP以172.20
开头的应用全都调用失败,看起来是网络无法联通。立马在执行docker-compose部署的机器上进行验证发现机器是可以联通的,可以断定是Docker网络的问题。本文包含解决办法和一些Docker桥接网络的总结,如有错误欢迎留言指正。
现需要对docker compose上部署的单机mysql进行备份,我们可以使用脚本执行mysqldump命令进行定时备份,但是会存在定时备份时间间隔数据丢失的风险。可以使用主从复制模式来解决这个问题。同时可以使用percona-toolkit工具检查数据一致性。
根据上一篇文章搭建好了Choerodon,启动的Minio文件服务使用docker安装,文件存储在本地属于单点存储,具有数据丢失的风险。现在需要对minio存储的文件进行备份到另外一台机器,通过调研决定使用rclone进行备份。在实际操作中发现rclone需要让minio开启https访问。以下是使用的相关组件及其版本信息:
我们的Choerodon部署在测试网段的K8S中,现在需要给另一部门在办公网部署一套Choerodon的敏捷管理模块。
首先为了减少在在Docker中部署与在k8s中部署Choerodon(SpringCloud)微服务项目的差异性,我们选择使用docker-compose来部署,这样微服务之间仍然可以使用服务名进行互相访问。
一般地,我们使用Prometheus对SpringBoot应用进行监控时,没有做任何认证,监控接口是完全开放的,我们直接访问暴露出来的指标接口http://localhost:8081/actuator/prometheus
就可以拿到指标接口,这在某些程度上不安全。。
我们需要给我们的监控指标接口添加一个Base认证。