参考文档:
Kubernetes NGINX Ingress 带有内置的 WAF(Web Application Firewall),使用 ModSecurity 和 OWASP Core Rule Set。虽然默认情况下禁用这些规则,但您可以使用配置映射和入口注释来启用它们并微调其规则。ModSecurity 是一个开源的 Web应用程序防火墙(WAF)。它可以帮助您在应用程序前面提供额外的安全层。
more >>生如蝼蚁当立鸿鹄之志, 命如薄纸应有不屈之心!
参考文档:
Kubernetes NGINX Ingress 带有内置的 WAF(Web Application Firewall),使用 ModSecurity 和 OWASP Core Rule Set。虽然默认情况下禁用这些规则,但您可以使用配置映射和入口注释来启用它们并微调其规则。ModSecurity 是一个开源的 Web应用程序防火墙(WAF)。它可以帮助您在应用程序前面提供额外的安全层。
more >>参考文章
从 Elastic Stack 6.8 和 7.1 开始,Elastic 免费发布了一些安全功能,作为默认发行版(基本许可证)的一部分。这一新功能包括使用 SSL 加密网络流量、创建和管理用户、定义保护索引和集群级访问的角色以及完全保护 Kibana 的功能。
more >>Logstash 官方文档: https://www.elastic.co/
Logstash 是一个具有实时流水线功能的开源数据收集引擎。Logstash 可以动态统一来自不同来源的数据,并将数据规范化到您选择的目标。清理和民主化所有数据,用于各种高级下游分析和可视化用例。
more >>参考文档:
IPFS 为用户提供了内容寻址存储的强大功能。但是,永久网络需要不影响 IPFS 网络的分布式性质的数据冗余和可用性解决方案。
IPFS 集群是一个分布式应用程序,可作为IPFS对等方的挎斗,维护全局集群精确集并将其项目智能地分配给IPFS对等方。IPFS集群支持大型IPFS存储服务,如 nft.storage
和 web3.storage
参考文档: Kubernetes版本升级实践
Kubernetes 版本表示为 x.y.z,其中 x 是主要版本,y 是次要版本,z 是补丁版本,遵循语义版本控制术语。有关更多信息,请参阅 Kubernetes 发布版本。
k8s 发行版与 github 分支的关系
简单来讲,kubernetes 项目存在3类分支(branch),分别为 master
, release-X.Y
, release-X.Y.Z
。master 分支上的代码是最新的,每隔2周会生成一个发布版本(release),由新到旧以此为 master
–>alpha
–>beta
–>Final release
,这当中存在一些 cherrypicking 的规则,也就是说从一个分支上挑选一些必要 pull request
应用到另一个分支上。我们可以认为 X.Y.0
为稳定的版本,这个版本号意味着一个 Final release
。一个 X.Y.0
版本会在 X.(Y-1).0
版本的3到4个月后出现。 X.Y.Z
为经过 cherrypick 后解决了必须的安全性漏洞、以及影响大量用户的无法解决的问题的补丁版本。 总体而言,我们一般关心 X.Y.0
(稳定版本),和 X.Y.Z
(补丁版本) 的特性。
官方文档: Upgrade etcd from 3.4 to 3.5
在一般情况下,从 etcd 3.4 升级到 3.5 可以是一个零停机时间的滚动升级。
注意事项:
ETCD 是用于共享配置和服务发现的分布式,一致性的 KV 存储系统。ETCD 是CoreOS 公司发起的一个开源项目,授权协议为 Apache。
ETCD 是 k8s 集群极为重要的一块服务,存储了集群所有的数据信息。同理,如果发生灾难或者 etcd 的数据丢失,都会影响集群数据的恢复。
查看 etcd 集群状态
1 | export ETCDCTL_API=3 |
官方原始文件使用的是 deployment,replicate 为 1,这样将会在某一台节点上启动对应的 nginx-ingress-controller
pod。外部流量访问至该节点,由该节点负载分担至内部的service。考虑到单点故障的问题,改为 DaemonSet,配合亲和性部署在指定节点上启动 nginx-ingress-controller
pod,确保有多个节点启动nginx-ingress-controller
pod,生产环境中建议 ingress 节点打上污点不允许业务pod进行调度,以避免业务应用与 Ingress 服务发生资源争抢。后续将这些节点加入到外部硬件负载均衡组实现高可用性。
参考文章: Kubernetes-Ingress
more >>参考文章: 如何丝滑般将 Kubernetes 容器运行时从 Docker 切换成 Containerd
当前系统的环境如下
1 | # kubectl get nodes -owide |
在使用 Docker 的时候一般情况下我们都会直接使用 docker build
来构建镜像,切换到 Containerd 的时候,接下来我们就来介绍下在 Containerd 容器运行时下面镜像构建的主要工具和方案。
在 Kubernetes 集群中,部分 CI/CD 流水线业务可能需要使用 Docker 来提供镜像打包服务。可通过宿主机的 Docker 实现,将 Docker 的 UNIX Socket(/var/run/docker.sock) 通过 hostPath 挂载到 CI/CD 的业务 Pod 中,之后在容器里通过 UNIX Socket 来调用宿主机上的 Docker 进行构建,这个就是之前我们使用较多的 Docker outside of Docker 方案。
more >>tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia-plus根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true