Grafana Loki笔记03: 安全认证
Loki没有包含任何内置的身份验证层。运维人员需要在您的服务前面运行一个认证反向代理,例如使用基本身份验证的NGINX或OAuth2代理。 请注意,在使用多租户模式的Loki时,Loki要求将HTTP头X-Scope-OrgID设置为标识租户的字符串;负责填充该值的责任应由认证反向代理处理。有关更多信息,请阅读有关多租户的文档。
Loki没有包含任何内置的身份验证层。运维人员需要在您的服务前面运行一个认证反向代理,例如使用基本身份验证的NGINX或OAuth2代理。 请注意,在使用多租户模式的Loki时,Loki要求将HTTP头X-Scope-OrgID设置为标识租户的字符串;负责填充该值的责任应由认证反向代理处理。有关更多信息,请阅读有关多租户的文档。
本文内容可能已过期 Helm chart允许您在Kubernetes集群中配置、安装和升级Grafana Loki。 本文使用的是Loki Helm chart的5.5.3版本,并包含以下部分: 配置存储 Helm Chart组件 Helm Chart值 安装Loki 将日志写入到Loki 配置Grafana使用Loki数据源 Loki的helm chart在github中地址是“Helm chart for Grafana Loki in simple, scalable mode”。
Grafana Loki是一组组件,可以组成一个功能齐全的日志聚合系统。 Loki与其他日志系统不同是,它只会索引日志的元数据即labels(类似Prometheus的labels),日志数据本身会被压缩并分块(chunck)存储在对象存储中,也可以存储在本地文件系统中。小的索引和高度压缩的分块简化了操作,大大降低了Loki的成本。
企业运维中,堡垒机(Bastion Host)是保障服务器访问安全的核心组件。本文将简单剖析一下某企业级运维安全网关的技术原理,并分享一个实用的跨平台访问方案——如何在 Mac 上通过 Windows 上的堡垒机客户端访问堡垒机资源。 什么是运维安全网关 运维安全网关,也称为堡垒机,是一种集中管理和审计服务器访问的安全系统。它的核心功能包括:
kubeadm是Kubernetes官方提供的用于快速安部署Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践。
在 macOS 下做一个 Linux 启动盘,其实就是三步:找盘(diskutil list)→ 卸载(diskutil unmountDisk)→ 写入(dd)。本文用 Ubuntu Server ISO 做示例,但同样适用于大多数发行版的 ISO。 注意:下面操作会清空 U 盘上的所有数据。 最危险的一步是选错磁盘号(比如把 /dev/disk0 当成 U 盘),写入前请反复确认:你的 U 盘应该显示为 external, physical。 准备 下载好 ISO(本文以 Ubuntu Server 为例)。 插入 U 盘。 下面会把 U 盘整盘覆盖写入(不是拷贝文件),U 盘原来的分区和数据都会被清空。 (可选)如果想先确认 ISO 没下载坏,可以校验一下:
kubeadm是Kubernetes官方提供的用于快速安部署Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践。
前面我们使用Helm在Kubernetes中部署了生产可用的Pulsar集群,并将集群接入到Prometheus监控系统。 作为Pulsar集群的管理员,将这套生产可用的Pulsar集群交付给开发使用时,还需要做好租户和命名空间划分和创建,用户角色和权限配置。 本节将根据实践介绍一下Pulsar集群管理员如何做这些工作的。
今天继续学习Go 1.18引入的泛型,每天利用几分钟的时间来学习,慢慢积累。 前两天学习了在Go中如何定义泛型函数,并学习了Go泛型中的类型约束(Type Constrant)的概念,今天通过参考Go官方的泛型技术提案文档,简单整理一下Go泛型的基本语法。 Go的泛型指的是在Go的类型声明和函数声明中增加可选的类型参数。类型参数要受到类型约束,Go使用嵌入额外元素的接口类型来定义类型约束,类型约束定义了一组满足约束的类型集(Type Set)。
今天继续学习Go 1.18引入的泛型,我们将以Go官方的泛型教程为资料,每天利用几分钟的时间来学习,慢慢积累。 昨天我们定义了一个泛型函数,代码如下: // SumIntsOrFloats sums the values of map m. It supports both int64 and float64 // as types for map values. func SumIntsOrFloats[K comparable, V int64 | float64](m map[K]V) V { var s V for _, v := range m { s += v } return s } 在定义泛型函数时,需要为泛型参数指定 类型约束(type constraint) 来限制泛型参数类型的范围。 SumIntsOrFloats函数名称后边中括号的内容[K comparable, V int64 | float64]就是类型约束。