安全
Kubernetes 基础环境要求
· ☕ 2 分钟
1. 基础包 Kubernetes 版本 ≥ 1.18 socat 必须安装 conntrack 必须安装 ebtables 可选,但推荐安装 ipset 可选,但推荐安装 ipvsadm 可选,但推荐安装 1 apt-get -y install socat conntrack ebtables ipset ipvsadm 2. 端口要求 2.1 基础节点服务 Service Protocol Action Start Port End Port Comment ssh TCP allow 22 22 节点远程管理 docker TCP allow 2375 2376 Docker 远程通信 etcd TCP allow 2379 2380 etcd 集群通信 2.2 Master/Control Plane 组件 Service Protocol Action Start Port End Port Comment apiserver

给 Node Exporter 添加抓取凭证
· ☕ 1 分钟
1. 背景 Node Exporter 是 Prometheus 生态系统中用于收集主机指标的常用组件,但默认情况下不提供访问认证。本文介绍如何为 Kubernetes 环境中的 Node Exporter 添加基本认证,提高安全性。 2. Node Exporter 配置凭证 2.1 生成加密密码 使用 htpasswd 工具生成加密密码: 1 htpasswd -nBC 12 "" | tr -d ':\n' 这里需要输入密码,生成的输出将是一个

在 Kubernetes 部署 Jumpserver 跳板机
· ☕ 3 分钟
1. 部署 Jumpserver 需要提前准备好 StorageClass,用于存储 Jumpserver 的数据。除了下面提到的数据库,各个组件 jms-core、jms-web、jms-koko、jms-lion、jms-chen 都需要一个 PV 存储。 1.1 部署 MySQL 参考 https://github.com/shaowenchen/ops-hub/blob/main/database/mysql8.yaml ,部署 MySQL。 需要调整

使用 Falco 监听运行时安全
· ☕ 3 分钟
1. Falco 是什么 Falco 是由 Sysdig 贡献给 CNCF 的云原生运行时安全相关项目。 Falco 实现了一套可扩展的事件规则过滤引擎,通过获取事件、匹配安全规则、产生告警通知系列操作,能够发现系统中的安全问题。其中的事件来自系统调用,同时也支持 ebpf 探针,规则是开源的[1],可以自行定

如何给 Kubernetes 服务添加 Basic 认证访问
· ☕ 1 分钟
1. 部署 Ingress Controller 查看 Kubernetes 版本 1 2 3 4 kubectl version --short Client Version: v1.21.4 Server Version: v1.21.4 查找兼容的 Nginx Ingress 版本 Helm Chart version Helm Chart 最高可用版本 K8s 适配版本 3.x.x 3.36.0 1.16+ 4.x.x 4.4.2 1.19+ 参考: https://github.com/kubernetes/ingress-nginx 安装 Nginx Ingress Controller 1 2 3 helm upgrade --install ingress-nginx ingress-nginx \ --repo https://kubernetes.github.io/ingress-nginx \ --namespace ingress-nginx --create-namespace --version v4.4.2 查看服务 1 2 3 4 5 6 7 8 9 10 11 12 kubectl -n ingress-nginx get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE ingress-nginx-controller LoadBalancer 10.233.11.232 <pending> 80:30914/TCP,443:31493/TCP 14m ingress-nginx-controller-admission ClusterIP 10.233.56.67 <none> 443/TCP 14m kae@node1:~$