自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(337)
  • 资源 (3)
  • 收藏
  • 关注

翻译 云原生计算基金会(CNCF)

什么是CNCF?云原生计算基金会构建可持续生态系统并促进社区支持云原生开源软件的增长和健康。CNCF作为一个厂商中立的基金会,致力于Github上的快速成长的开源技术的推广,如Kubernetes、Prometheus、Envoy等,帮助开发人员更快更好的构建出色的产品。每个CNCF项目都需要有个成熟度等级,申请成为CNCF项目的时候需要确定项目的成熟度级别。成熟度级别(Maturit...

2019-08-28 10:50:46 1666

翻译 持续交付--CDF基金会

CD是一种软件工程方法,团队在短周期内生成软件,确保软件可以随时可靠地发布。微服务、云原生架构的兴起引发了持续交付实践的必然结果。这与CI/CD有关,其中包括持续集成(CI) - 将所有开发者工作副本一天多次合并到共享主线的做法。CDF(Continuous Delivery Foundation,持续交付基金会)是一个新的、中立的组织,将发展和维持一个开放的持续交付生态系统。它将提供统一的治...

2019-08-28 10:32:57 358

原创 热门软件中文在线文档

1. kubernetes中文文档1:https://kubernetes.io/zh/docs/中文文档2:https://jimmysong.io/kubernetes-handbook/https://github.com/rootsongjc/kubernetes-handbook中文文档3:https://blog.frognew.com/中文文档4:https...

2018-06-22 13:29:59 1001 1

原创 kubernetes-国内拉取gcr.io\quay.io镜像方法

由于防火墙的问题,google的image 仓库基本不能下载,你可以在这里基本可以找到在gcr.io的同步镜像:方法1:https://hub.docker.com/r/ibmcom/例如:gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.4docker pull ibmcom/k8s-dns-sidecar:1.14.4gcr...

2018-06-13 20:19:21 10470

原创 重启指定Kubernetes节点上的所有Pod

以下是一个Shell脚本的示例,它将重启指定 Kubernetes 节点上的所有 Pod,并在每次重启两个 Pod 后等待 10 秒钟再重启下两个 Pod。以下是一个Python脚本,可以重启指定Kubernetes节点上的所有Pod,并在每次重启两个Pod后等待10秒钟再重启下两个Pod。请将“your-node-name”替换为要重启其上的 Pod 的节点的名称。然后,只需运行脚本即可开始重启 Pod。请将“your-node-name”替换为要重启其上的Pod的节点的名称。

2023-03-22 20:13:51 866 1

转载 什么是隧道?| 网络中的隧道

通过将加密的数据包包装在另一个未加密的数据包中,数据包可以像往常一样跨网络传输。GRE 将使用一种路由协议的数据包封装在使用另一种协议的数据包中。GRE 是一种跨网络建立直接点对点连接的方法,目的是简化不同网络之间的连接。IP-in-IP 是一种隧道协议,用于将 IP 数据包封装在其他 IP 数据包中。在封装的数据包中,第一个数据包的标头和有效负载进入周围数据包的有效负载部分。一个典型的数据包有两部分:标头,它指示数据包的目的地和它使用的协议,以及有效负载,它是数据包的实际内容。在该网络中传输数据的方法。

2023-02-26 23:04:03 2519

转载 iptables中SNAT和MASQUERADE的区别

不管现在eth0的出口获得了怎样的动态ip,MASQUERADE会自动读取eth0现在的ip地址然后做SNAT出去。MASQUERADE就是针对这种场景而设计的,他的作用是,从服务器的网卡上,自动获取当前ip地址来做NAT。因为每次拨号后,服务器地址都会变化,而iptables规则内的ip是不会随着自动变化的。PC机访问外部网络的时候,路由器将数据包的报头中的源地址替换成路由器的ip。但是,对于SNAT,不管是几个地址,必须明确的指定要SNAT的ip。

2023-02-26 18:53:16 419

转载 eBPF、sidecars以及服务网格展望

eBPF、sider、servicemesh

2022-07-13 13:47:26 395

转载 基于Kafka的Confluent Platform 7.1是免费的吗?开源?用于生产用途

confluent 版本选择

2022-07-12 10:11:30 829

转载 译文:服务网格将使用 eBPF ?是的,但 Envoy 代理将继续存在

这篇博客非常清晰地阐述了目前很热的 eBPF 和 Service Mesh 的关系,并分别介绍 Envoy 在几种不同的数据平面架构模型中的位置,以及这几种架构模型各自的优势和权衡。最近我和同事以及社区的同学就引入 eBPF 之后 Service Mesh 的架构演进做了一些讨论,结论和 Solo 的这篇博客中的某些观点类似。作为 Linux 内核的一种扩展能力,eBPF 并不会替换 Envoy 的七层代理能力,而是作为 Service Mesh 数据面的一个增强技术。...

2022-06-14 16:23:10 268

转载 告别 Sidecar-- eBPF 如何简化服务网格

今天有几个服务网格的产品和项目,承诺简化应用微服务之间的连接,同时提供额外的功能,如安全连接、可观察性和流量管理。但正如我们在过去几年中反复看到的那样,对服务网格的兴奋已经被对额外的复杂性和开销的实际担忧所抑制。让我们来探讨一下 eBPF 是如何让我们精简服务网格,使服务网格的数据平面更有效率,更容易部署。Sidecar 问题今天的 Kubernetes 服务网格解决方案要求你在每一个应用 Pod 上添加一个代理 sidecar 容器,如 Envoy 或 Linkerd-proxy。这是正确的:即使

2022-01-19 10:41:22 348

转载 Tetrate 推出业内首个 Istio 认证管理员考试

Tetrate 推出业内首个 Istio 认证管理员考试独家号极客精选原文链接企业正在增加对数字化转型的投资,并雇用合适的人才来加速这一旅程。根据 Linux 基金会发布的 2020 年开源工作报告[1],52% 的招聘经理更倾向于雇用有证书的人,而两年前只有 47%。不出所料 93% 的招聘经理表示难以找到足够的人才。Tetrate 今天宣布公开提供Tetrate 认证 Istio 管理员(CIAT)[2]考试,该考试评估执行 Istio 服务网格安装和配置以及配置流量管理、弹性和故障...

2021-11-13 11:22:19 793

转载 上了 istio 的贼船之 API Gateway

现状下图是我们系统的架构现状,大致介绍一下:基础设施在华为云上 基本上是基于 istio on k8s 架构。 istio 版本为 1.3,所以组件较多(galley、pilot、citadel、telemetry......) 微服务后端用 spring boot 单体,前端有 nodejs、vue等 应用的链路监控主要基于 skywalking, istio 的通讯层面利用 kiali可视化调用链 其他比较传统历史架构主要介绍下作为服务通讯基础设施的 istio 在这里的作用

2021-11-13 11:07:13 1154

转载 构建微服务架构的 5 种最佳技术

“为了有效地实现你的目标,你必须把它们分解成小任务,然后把大部分时间花在你面前的任务上,而不是被大目标的浩大所淹没。”——星期天阿德拉哈,这可能不是微服务工作的意识形态,但它肯定是我们在微服务架构上开发应用程序时遵循的原则。微服务在市场上越来越受欢迎,因为企业致力于构建复杂和更大的应用程序,这些应用程序可以作为较小服务的汇编进行分离和处理。越来越多的人希望将他们的传统单体系统重新设计为一系列单一独立的微服务。您想到的自然问题是,在为您的下一个项目开发微服务时,哪种语言最适合使用?您可以..

2021-09-11 17:07:40 1216

翻译 AWS VPC - 互联网网关与NAT的区别

问题:什么是互联网网关?什么是 NAT 实例?他们提供什么服务?阅读 AWS VPC 文档,我收集到它们都将私有 IP 地址映射到传出请求的 Internet 可路由地址,并将传入响应从 Internet 路由到子网上的请求者。那么它们之间有什么区别呢?我在什么情况下使用 NAT 实例而不是(或除了)互联网网关?它们本质上是运行某些网络应用程序的 EC2 实例还是像路由器这样的特殊硬件?除了简单地指向 AWS 文档链接之外,您能否通过添加一些关于什么是公共和私有子网的背景知识来解释这些链接,

2021-06-29 20:36:42 2323 1

转载 DNS中的A记录和CNAME记录的区别

1、什么是域名解析?域名解析就是国际域名或者国内域名以及中文域名等域名申请后做的到IP地址的转换过程。IP地址是网路上标识您站点的数字地址,为了简单好记,采用域名来代替ip地址标识站点地址。域名的解析工作由DNS服务器完成。2、什么是A记录?A (Address) 记录是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的web server上。同时也可以设置您域名的二级域名。A记录是IP解析,直接将域名指向某个IP,如果IP有所变动,那么A记录那边也必须更

2021-06-25 10:59:39 2515

转载 从ELK/EFK到PLG – 在EKS中实现基于Promtail + Loki + Grafana容器日志解决方案

ELK/EFK日志系统如果今天谈论到要部署一套日志系统,相信用户首先会想到的就是经典的ELK架构,或者现在被称为Elastic Stack。Elastic Stack架构为Elasticsearch + Logstash + Kibana + Beats的组合,其中,Beats负责日志的采集, Logstash负责做日志的聚合和处理,Elasticsearch作为日志的存储和搜索系统,Kibana作为可视化前端展示,整体架构如下图所示:图片来自https://elastic-stack.readth

2021-06-02 15:40:40 2592

转载 kubernetes-面对大规模 K8s 集群,如何先于用户发现问题?

绪论不知道大家是否经历过这样的情景:突然被用户告知系统出现问题,然后一脸懵地惶惶然排查修复;或是等到自己发现系统出现故障时,实际已经对用户造成了严重的恶劣影响。所谓千里之堤,溃于蚁穴。用户信任的建立是长期而艰难的,然而要摧毁这种信任却很简单。一旦出现上述问题,不仅极大影响用户使用体验,同时会给用户留下一个这个产品/团队不可靠的印象,丧失用户对产品/团队长期好不容易积累下来的信用资本,未来再想建立这样的信任关系就很难了。这也是为什么我们说快速发现问题的能力如此重要的原因,只有先做到快速发现问题,才能谈

2021-04-26 13:21:46 457

转载 kubernetes-借助多容器Pod,轻松扩展 Kubernetes 中的应用

Kubernetes提供了巨大的灵活性和运行各种应用的能力。如果你的应用是云原生微服务或12要素(12-factor)应用,那么在Kubernetes中运行它们有可能会相对简单。但是,运行那些没有明确设计为在容器化环境中运行的应用程序呢?Kubernetes也可以处理这些问题,但是设置起来可能会比较麻烦。Kubernetes提供的最强大的工具之一是多容器Pod(尽管多容器Pod在各种情况下对云原生应用也很有用)。为什么要在一个Pod中运行多个容器?因为多容器Pod可以让你在不改变其代码的情况下更改应用程

2021-03-11 15:55:13 403

原创 快速启动ELK(docker版本)测试

启动ES:docker run --name es -p 0.0.0.0:9200:9200 -p 0.0.0.0:9300:9300 -d -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.11.1启动Kibana:docker run --name kabana --link es:elasticsearch -p 0.0.0.0:5601:5601 -d docker.elastic.

2021-03-05 16:17:26 240

转载 Apollo配置中心-简介

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。Java客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对Spring/Spring Boot环境也有较好的支持。.Net客户端不依赖任何框架,能够运行于所有.Net运行

2021-02-28 17:13:27 403

转载 Kubernetes 入门与进阶实战

写在前面笔者今年 9 月从端侧开发转到后台开发,第一个系统开发任务就强依赖了 Kubernetes,加之项目任务重、排期紧,必须马上对 Kubernetes 有概念上的了解。然而,很多所谓“Kubernetes 入门\概念”的文章看的一头雾水,对于大部分新手来说并不友好。经历了几天痛苦地学习之后,回顾来看,Kubernetes 根本不复杂。于是,决心写下这篇文章,一方面希望对新手同学有帮助;另一方面,以文会友,希望能够有机会交流讨论技术。本文组织方式:Kubernetes 是什么,即作用和目的。涉

2020-12-31 18:34:09 479 1

转载 kubernetes-禁止daemonset调度到某些节点上(亲和性和互斥)

简介Node AffinityAffinity 翻译成中文是“亲和性”,它对应的是 Anti-Affinity,我们翻译成“互斥”。这两个词比较形象,可以把 pod 选择 node 的过程类比成磁铁的吸引和互斥,不同的是除了简单的正负极之外,pod 和 node 的吸引和互斥是可以灵活配置的。Affinity的优点:匹配有更多的逻辑组合,不只是字符串的完全相等调度分成软策略(soft)和硬策略(hard),在软策略下,如果没有满足调度条件的节点,pod会忽略这条规则,继续完成调度。目前主要

2020-12-31 10:48:22 3885 1

原创 Kubernetes-事件驱动的POD自动缩放(KEDA)

什么是KEDA?KEDA目前是cncf下的沙箱项目。KEDA是基于Kubernetes的事件驱动自动缩放器。使用KEDA,您可以根据需要处理的事件数量来驱动Kubernetes中任何容器的扩展。KEDA是一个单一用途的轻量级组件,可以添加到任何Kubernetes集群中。KEDA与标准Kubernetes组件(如Horizo​​ntal Pod Autoscaler)配合使用,并且可以扩展功能而不会覆盖或复制。使用KEDA,您可以显式映射要使用事件驱动的比例的应用程序,而其他应用程序仍可以继续运

2020-12-27 21:12:39 412

转载 kubernetes-事件监控

事件监控事件监控是Kubernetes中的另一种监控方式,可以弥补资源监控在实时性、准确性和场景上的缺欠。开发者可以通过获取事件,实时诊断集群的异常与问题。背景信息Kubernetes的架构设计基于状态机,不同的状态之间进行转换则会生成相应的事件,正常的状态之间转换会生成Normal等级的事件,正常状态与异常状态之间的转换会生成Warning等级的事件。kube-eventerkube-eventer:是ACK维护的开源Kubernetes事件离线工具,可以将集群的事件离线到钉钉、SL.

2020-12-26 22:28:54 2502

转载 因为一次 Kafka 宕机,我明白了 Kafka 高可用原理!

Kafka宕机引发的高可用问题问题要从一次Kafka的宕机开始说起。笔者所在的是一家金融科技公司,但公司内部并没有采用在金融支付领域更为流行的RabbitMQ,而是采用了设计之初就为日志处理而生的Kafka,所以我一直很好奇Kafka的高可用实现和保障。从Kafka部署后,系统内部使用的Kafka一直运行稳定,没有出现不可用的情况。但最近系统测试人员常反馈偶有Kafka消费者收不到消息的情况,登陆管理界面发现三个节点中有一个节点宕机挂掉了。但是按照高可用的理念,三个节点还有两个节点可用怎么就引起了整

2020-12-26 08:42:06 192

转载 为什么你的创业公司应该运行在Kubernetes上

从2019年初开始,就有不少创业公司陆陆续续向我咨询Kubernetes等云原生技术。我总是会问这些创业公司的部署流程是怎样的,因为这能让我大概了解到一个公司的技术复杂度处在哪个阶段。有些公司仅仅使用scp部署简单的PHP应用程序,就能让公司走的很远,而有些公司的架构达到极限,不得不使用诸如Redis或者Kafka这样的基础组件作为内部通信,从而将系统拆分为不同的服务。当他们知道我的履历里有Kubernetes的相关实战经验后,便总会问起它。大多数公司对上手Kubernetes很感兴趣,但同时也对K

2020-10-20 19:13:57 637 1

转载 kubernetes-kubeadm init从私有仓库拉取镜像

查看kubeadm config所需的镜像$ kubeadm config images listk8s.gcr.io/kube-apiserver:v1.13.1k8s.gcr.io/kube-controller-manager:v1.13.1k8s.gcr.io/kube-scheduler:v1.13.1k8s.gcr.io/kube-proxy:v1.13.1k8s.gcr.io/pause:3.1k8s.gcr.io/etcd:3.2.24k8s.gcr.io/coredn

2020-10-19 20:17:24 3294

原创 kustomize-多环境部署重用配置文件技巧

在多环境部署中,经常碰到不同的环境下只有deployment中的Image Tag不一样,其他是一样的。这样我们只需要在kustomization.yaml文件中配置重用另外一个环境的配置所有文件并覆盖 image Tag,就可以达到效果,这样可以精简配置文件数量。例如,测试环境和生产环境只有image的标签不一样:测试环境标签:hello-1.0.0-rc1 生产环境标签:hello-...

2020-10-13 17:47:18 881

转载 kuberntes-某工具类 APP 容器化过程的思考与实践

我司使用 Kubernetes 容器接入生产流量已经一年多了,目前的容器集群有在阿里云的是托管版,还有的在我们自己机房,Node 数一共不到50,目前所有集群通过 Ingress 接入的每日总流量在 8 亿 PV 以上。目前我们的 Kubernetes 组件如下:镜像仓库(Harbor ) 网络插件 Flannel host-gw (阿里云托管版是 flannel vpc) 日志收集(Filebeat -> Kafka –> Logstash -> Elasticsearch -

2020-09-01 12:41:15 240

转载 第一次在 Kubernetes 上部署应用时我们忽略的 5 件事

根据我的经验,似乎大多数人认为将应用程序部署到Kubernetes上就完成工作了(无论使用Helm或手动)。通过在GumGum中使用 Kubernetes,我们遇到了一些“陷阱”,希望在此列出这些“陷阱”以帮助你在 Kubernetes 上部署应用程序之前了解基础。第一步:配置 Pod 请求和限制我们将从配置一个可以在其中运行 Pod 的干净环境开始。Kubernetes 在处理 Pod 调度和故障状态方面做得非常出色。然而我们了解到其中有一个问题,就是如果 Kubernetes 调度器...

2020-08-24 13:55:25 433

原创 shell-使用环境变量替换文件中的变量(envsubst、模板)

我们在配置服务的时候,经常使用模版,再从模版中生成服务应用的配置文件。如果变量比较少,我们一般使用sed处理。如果变量比较多,这时我们可以使用"envsubst"更加方便。linux系统一般自带envsubst命令,macOS需要自己安装:$ brew install gettext使用例子:1. 准备模版文件./templates.ymlsysteminfo: OS: $OS user: ${USER} home: ${HOME} type: ${TYPE}

2020-08-10 09:45:35 2844

原创 python-使用正则函数re.findall处理不定长度但有一定格式的字符串

'''使用re.findall正则处理不定长度但有一定格式的字符串:日志格式: 书名,作者,单价book1,test1,1001, book2,test2,1002, book3,test4,1004book1,test5,1005, book6,test6,1006, book7,test7,1007, book1,test8,1008book9,test9,1009, book10,test10,10010'''import redef analyzer_line(line):.

2020-07-31 16:00:21 2385

原创 python-各个主流邮件发送方式

smtplib 是一个用于python2.7和python3.x的内置包,所以有不需要安装。您可以导入它,而无需安装任何其他软件包。参考:https://docs.python.org/3/library/smtplib.html?highlight=smtplib如果你安装,会出现以下错误:$ pip3 install smtplibCollecting smtplib ERROR: Could not find a version that satisfies the requir.

2020-07-27 10:49:37 1618

原创 kubernetes-Helm3的使用:

1. 增加 repo:# 阿里云helm repo add stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts#google helm repo add stable https://kubernetes-charts.storage.googleapis.com/2. 查看某个资源的版本列表:helm search repo stable/kube-state-metrics -lNAME .

2020-07-23 14:18:37 655

转载 prometheus-rate、irate、increase函数使用场景

计算Counter指标增长率我们知道Counter类型的监控指标其特点是只增不减,在没有发生重置(如服务器重启,应用重启)的情况下其样本值应该是不断增大的。为了能够更直观的表示样本数据的变化剧烈情况,需要计算样本的增长速率。如下图所示,样本增长率反映出了样本变化的剧烈程度:通过增长率表示样本的变化情况increase(v range-vector)函数是PromQL中提供的众多内置函数之一。其中参数v是一个区间向量,increase函数获取区间向量中的第一个后最后一个样本并返...

2020-06-24 11:36:42 25510

原创 Centos7-部署NFS共享存储

安装NFS包$ yum install nfs-utils启动nfs$ systemctl start nfs$ systemctl enable nfs准备共享目录$ mkdir /data/nfs-1把目录添加到共享中# cat /etc/exports/data/nfs-1 *(rw,sync,insecure,no_subtree_check,no_root_squash)生效配置:$ exportfs -r检查已有的共享目录:$ sho

2020-05-23 17:38:58 484

原创 prometheus-node_exporter收集主机资源信息

node_exporter通常用来收集主机的cpu、内存、带宽、磁盘等资源的使用情况。下面用裸机部署node-exporter测试:1. 在被监控的主机上部署node-exporter1.1下载,请下载最新版:https://github.com/prometheus/node_exporter/releases1.2 以systemd方式启动node-exporter:...

2019-12-12 15:11:50 5747

原创 prometheus-使用grafana(3.1.1、5.1.3)可视化监控数据

prometheus 安装,参考:https://blog.csdn.net/kozazyh/article/details/80627924环境:prometheus 2.2.1grafana: 3.1.1 (你也可以替换为:grafana:5.1.3)一、建立grafana储存1.1 创建pv$ cat grafana-pv.yaml apiVersion: v1...

2019-12-11 10:18:50 379

原创 kubernetes-证书过期,重建证书后出现的kubelet证书过期问题

由于初期,创建证书的期限只有一年,后来经过重建10年的证书期限后(参考:kubernetes-证书过期,重建证书),稳定运行一年后,再次出现证书问题:1. 故障的表现:kubectl get nodeNAME STATUS ROLES AGE VERSION10.2.2.120 ...

2019-12-06 10:37:13 8278

rsync window 服务端

rsync window 服务端

2008-06-29

rsync window 客户端

rsync window 客户端

2008-06-29

解决windowsxp局域网共享

解决windows xp局域网共享

2008-06-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除