K8s-文件管理系统nfs(centos)
K8s-文件管理系统nfs(centos)什么是nfsNFS在文件传送或信息传输过程中依赖于RPC协议,RPC协议可以在不同的系统之间使用。使用NFS用户端时只需要把远程文件系统挂载到自己的文件系统下即可访问,NFS有客户端和服务端 Deploynfs部署 centos部署nfs 12yum install -y nfs-utils rpcbind 执行命令 vim /etc/exports,创建 exports 文件,文件内容如下 1/data/nfs_root/ *(insecure,rw,sync,no_root_squash) 启动nfs 12345678mkdir -p /data/nfs_rootsystemctl enable rpcbindsystemctl enable nfs-serversystemctl start rpcbindsystemctl start nfs-serverexportfs -r nfs-provisoner部署12345678910111213141516171819202122# 获取helm chartshelm re...
Docker-镜像优化
Docker-镜像优化BackGroundDocker如果最后的镜像很大,所以是需要优化的。 安装不必要的软件包会增加攻击面,从而增加安全风险。 镜像传输需要更多时间。 部署大镜像需要更多时间。 优化方法优化一:合并RUN 原始Docker 1234567891011121314FROM hub.c.163.com/netease_comb/centos:7 MAINTAINER netease ...
DevOps-Argo安装
DevOps-Argo安装What is argoArgo Workflows 是一个开源的云原生工作流引擎,用于在 Kubernetes 上编排并行作业。Argo 工作流作为Kubernetes CRD 实现。 定义工作流,其中工作流中的每个步骤都是一个容器。 将多步骤工作流建模为一系列任务,或使用 DAG 来捕获任务之间的依赖关系图。 使用 Argo 可以在很短的时间内在 Kubernetes 上轻松运行机器学习或数据处理的计算密集型作业 一句话描述:ArgoWorkflow 是一个用于在 Kubernetes 上编排并行作业的开源云原生工作流引擎 commpoentsArgoWorkflow 组件比较少,整体架构比较简单。 核心组件: argo-server:为工作流提供 API 和 UI 界面。 workflow-controller:真正干活的组件,解析用户创建的 CR 对象并启动 Pod 来真正运行流水线 Deploy Helm安装 12345678910# 添加参考并更新helm repo add argo https://argoproj.github....
K8s-List-watch机制
K8s-List-watch机制BackGround在 Kubernetes 中,有5个主要的组件,分别是 master 节点上的 kube-api-server、kube-controller-manager 和 kube-scheduler,node 节点上的 kubelet 和kube-proxy 。这其中 kube-apiserver 是对外和对内提供资源的声明式 API 的组件,其它4个组件都需要和它交互。为了保证消息的实时性,有两种方式: 客户端组件 (kubelet, scheduler, controller-manager 等) 轮询 apiserver apiserver 通知客户端 为了降低kube-apiserver的压力,就是通过list-watch机制。其实list-watch就是client监听K8s资源变化 list-watach 机制需要满足以下需求: 实时性 (即数据变化时,相关组件越快感知越好) 保证消息的顺序性 (即消息要按发生先后顺序送达目的组件。很难想象在Pod创建消息前收到该Pod删除消息时组件应该怎么处理) 保证消息不丢失或者...
Prometheus-接入ETCD监控
Prometheus-接入ETCD监控Introduce通过Prometheus监控ETCD数据,包括Grafana Overview1234567# 通过2379 获取指标curl http://<hostip>:2379/metrics# 开启tls认证的etcdcerts=/etc/kubernetes/pki/etcd/curl --cacert $certs/ca.crt --cert $certs/peer.crt --key $certs/peer.key https://<hostip>:2379/metrics Etcd 中的指标可以分为三大类: Server Disk Netwrok Server以下指标前缀为 etcd_server_。 has_leader:集群是否存在 Leader 没有的话集群不可以 leader_changes_seen_total:leader 切换数 比较多的话说明集群不稳定 proposals_committed_total:已提交提案数 如果 member 和 leader 差距较大,说...
Grafana-整合日志查询Loki
Grafana-整合日志查询LokiIntroduce为Grafana添加日志指标 flubit-bitFluent Bit:Fluent Bit 是一个轻量级的日志收集器和处理器。它设计用于从各种来源(如应用程序、容器、操作系统等)收集日志数据,并将其发送到不同的目标。Fluent Bit 可以将日志数据发送到多种目标,包括存储系统、消息队列和分析工具等。它提供了灵活的插件机制,可用于解析、过滤和转换日志数据 LokiLoki 是一个开源的日志聚合系统,专门用于处理和查询大规模分布式日志数据。它是由 Grafana Labs 开发的,作为 Grafana 生态系统的一部分。Loki 使用了 Prometheus 的标签索引和查询语言,可以高效地存储和查询日志数据。Loki 的设计目标是可扩展性和低资源消耗,适用于云原生环境 123456# 1. 添加Helm仓库helm repo add grafana https://grafana.github.io/helm-charts# *2. 拉取本地Helm文件helm pull grafana/loki-stack# 3. he...