Kubernetes ETCD 集群按资源拆分与 TLS 配置 Anonymous 发布于 2025-07-23 收录于 云原生Kubernetes ETCD 集群按资源拆分与 TLS 配置 本文档详细阐述了如何在 Kubernetes 中实现 ETCD 集群按资源拆分,特别是将 events 等特定资源存储到独立的 ETCD 集群,以及在多 ETCD 集群环境下 kube-apiserver 的 TLS 证书配置方案。
Grafana Sqlite3 Migrations to PostgreSQL Anonymous 发布于 2025-07-23 收录于 工具箱 数据库准备环境 pgloaderPostgreSQLGrafana初始化数据库 启动 PostgreSQL 和 Grafana 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 version: '3.8' services: postgres: image: postgres:15 network_mode: host environment: POSTGRES_DB: grafana POSTGRES_USER: grafana POSTGRES_PASSWORD: grafana volumes: - postgres_data:/var/lib/postgresql/data - ./postgresql.conf:/etc/postgresql/postgresql.conf command: postgres -c config_file=/etc/postgresql/postgresql.conf grafana: image: grafana/grafana:12.0.2 container_name: grafana network_mode: host environment: - GF_DATABASE_TYPE=postgres - GF_DATABASE_HOST=localhost:5432 - GF_DATABASE_NAME=grafana - GF_DATABASE_USER=grafana - GF_DATABASE_PASSWORD=grafana - GF_DATABASE_SSL_MODE=disable depends_on: - postgres volumes: postgres_data: driver: local 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 # PostgreSQL 配置文件 - 针对 Grafana 高可用部署优化 # 连接设置 listen_addresses = '*' port = 5432 max_connections = 200 superuser_reserved_connections = 3 # 内存设置 shared_buffers = 256MB effective_cache_size = 1GB maintenance_work_mem = 64MB work_mem = 4MB # WAL 设置(用于复制) wal_level = replica max_wal_senders = 3 max_replication_slots = 3 wal_keep_size = 1GB archive_mode = on archive_command = 'cp %p /var/lib/postgresql/archive/%f' # 检查点设置 checkpoint_completion_target = 0.9 checkpoint_timeout = 15min max_wal_size = 2GB min_wal_size = 80MB # 日志设置 logging_collector = on log_directory = 'log' log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' log_rotation_age = 1d log_rotation_size = 100MB log_min_duration_statement = 1000 log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h ' log_statement = 'ddl' log_temp_files = 0 # 性能优化 random_page_cost = 1.1 effective_io_concurrency = 200 default_statistics_target = 100 # 安全设置 ssl = off # 复制设置 hot_standby = on hot_standby_feedback = on max_standby_streaming_delay = 30s wal_receiver_timeout = 60s # 自动清理 autovacuum = on autovacuum_max_workers = 3 autovacuum_naptime = 1min autovacuum_vacuum_threshold = 50 autovacuum_analyze_threshold = 50 # 时区设置 timezone = 'UTC' log_timezone = 'UTC' # 区域设置 lc_messages = 'en_US.UTF-8' lc_monetary = 'en_US.UTF-8' lc_numeric = 'en_US.UTF-8' lc_time = 'en_US.UTF-8' default_text_search_config = 'pg_catalog.english'导出 grafana 表结构 1 2 docker compose up -d docker exec -ti postgres pg_dump --schema-only -U grafana grafana > grafana-schema.sql清理 postgres 数据库 停止 postgres 和 grafana,并删除 postgres 数据库
Karmada声明式配置详细指引 kbsonlong 发布于 2025-07-11 收录于 Karmada1. 作用与应用场景 Karmada 的 ResourceInterpreterCustomization 允许用户通过 Lua 脚本自定义多集群资源的状态聚合、保留、健康判定等逻辑,解决如 CRD 状态同步、混沌实验等多集群一致性与差异性场景。
Alloy 指标详解 kbsonlong 发布于 2025-07-04 收录于 监控体系 LoggingAlloy 常用 Prometheus 指标详解 Alloy 作为现代日志采集与处理引擎,内置丰富的 Prometheus 指标,便于对采集链路、资源消耗、进程健康等进行全方位监控。本文详细解析 Alloy 典型监控指标,助力 K8s 日志链路运维和性能分析。
利用lima替换MacOS Docker Desktop kbsonlong 发布于 2025-06-27 收录于 工具箱 Macos背景 Mac 本地空间有限,Docker Desktop 在运行时会预分配大量空间,导致 Mac 本地空间被占用。经常出现Mac 本地空间不足,需要清理 Mac 本地空间。 Lima 是一个轻量级的虚拟机管理工具,可以在 Mac 上运行 Linux 虚拟机,并且可以运行 Docker 容器并将Docker socket映射到 Mac 本地直接用Docker访问。
Kubernetes故障排查实战手册 kbsonlong 发布于 2025-06-25Kubernetes故障排查实战手册 本文档适用于生产环境下Kubernetes集群常见故障的排查与优化,涵盖APIServer接口延时、etcd性能、Token失效、cacher超时、资源竞争等典型问题。建议结合实际监控与日志,按步骤定位和解决。 持续更新ing
Kubernetes NVMe 磁盘 IOPS 限速方案 kbsonlong 发布于 2025-06-18 收录于 云原生 Kubernetes本文介绍了在 Kubernetes 集群中对 NVMe 磁盘进行 IOPS 限速的方案,旨在防止单个容器高 IO 影响宿主机性能。