自建Kubernetes与AWS IAM授权认证.md kbsonlong 发布于 2025-10-17 收录于 云原生 安全 Kubernetes AWS为什么需要 IRSA? 在 Kubernetes 集群中,当 Pod 需要访问 AWS 资源时,一个常见的做法是创建具有相应权限的 IAM 用户,并将其凭证(Access Key ID 和 Secret Access Key)作为 Kubernetes Secret 存储。这种方法的主要问题是创建了长期有效的凭证。一旦这些凭证泄露,任何持有者都可以滥用它们,直到我们手动在 AWS 账户中吊销它们。
Grafana Auth Proxy With Nginx 完整配置指南 Anonymous 发布于 2025-09-04 收录于 运维工具Grafana Auth Proxy with Nginx 完整配置指南 在现代监控系统中,集中认证和单点登录(SSO)是保障安全的重要组成部分。本指南将详细介绍如何使用 Nginx 作为反向代理,通过 auth_request 模块实现 Grafana 的 auth.proxy 认证机制。
Kubelet驱逐机制到Linux内核内存回收完整流程解析 kbsonlong 发布于 2025-08-25 收录于 云原生运维 内核机制Kubelet驱逐机制到Linux内核内存回收完整流程解析 概述 本文档详细解析了从Kubelet驱逐管理器(evictionManager)启动到最终触发Linux内核内存回收机制的完整流程。这个过程涉及多个层次的协作,从用户态的Kubernetes组件到内核态的内存管理机制。
Kubernetes ETCD 集群按资源拆分与 TLS 配置 Anonymous 发布于 2025-07-23 收录于 云原生Kubernetes ETCD 集群按资源拆分与 TLS 配置 本文档详细阐述了如何在 Kubernetes 中实现 ETCD 集群按资源拆分,特别是将 events 等特定资源存储到独立的 ETCD 集群,以及在多 ETCD 集群环境下 kube-apiserver 的 TLS 证书配置方案。
Grafana Sqlite3 Migrations to MySQL Anonymous 发布于 2025-07-23 收录于 工具箱 数据库Grafana 数据SQLite迁移MySQL指南 背景 Grafana 是一个开源的监控和可视化工具,它支持多种数据源,包括 MySQL、PostgreSQL、InfluxDB 等。随着数据量的增加,以及考虑 grafana 容灾和拓展性,我们可能需要将 Grafana 数据从 SQLite 迁移到 MySQL。
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 状态同步、混沌实验等多集群一致性与差异性场景。