自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(330)
  • 资源 (3)
  • 论坛 (2)
  • 收藏
  • 关注

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

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

2019-08-28 10:50:46 955

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

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

2019-08-28 10:32:57 188

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

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 438

原创 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 9363

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

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

2021-11-13 11:22:19 11

转载 上了 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 42

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

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

2021-09-11 17:07:40 82

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

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

2021-06-29 20:36:42 387

转载 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 156

转载 从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 246

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

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

2021-04-26 13:21:46 98

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

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

2021-03-11 15:55:13 117

原创 快速启动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 105

转载 Apollo配置中心-简介

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

2021-02-28 17:13:27 139

转载 Kubernetes 入门与进阶实战

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

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

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

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

2020-12-31 10:48:22 1049

原创 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 112

转载 kubernetes-事件监控

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

2020-12-26 22:28:54 965

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

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

2020-12-26 08:42:06 102

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

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

2020-10-20 19:13:57 296 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 1005

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

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

2020-10-13 17:47:18 292

转载 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 132

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

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

2020-08-24 13:55:25 151

原创 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 311

原创 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 891

原创 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 564

原创 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 450

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

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

2020-06-24 11:36:42 8273

原创 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 208

原创 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 4146

原创 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 268

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

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

2019-12-06 10:37:13 5466

原创 kubernetes-证书过期,重建证书

kubernetes 版本:1.9.x,安装方式,使用二进制文件,手工安装(参考:https://github.com/opsnull/follow-me-install-kubernetes-cluster/tree/v1.6.2);由于当初安装kubernetes,制作证书的时候,设置了证书的有效期只有1年。到一年后,所有节点都变为noready状态。检查kubelet服务的日志,提示认证...

2019-12-06 09:40:09 3151

原创 kubernetes-服务端口故障排查过程

在k8s中,通常在一个服务应用出现故障的时候,我们会在集群内自我检查:检查pod的日志 首先检查这个服务的的端口是否可用 跨节点访问检查具体过程如下:1. 先查出该服务的service ,pod 信息kubectl get svc,ep,po -o wide -n grafanaNAME TYPE CLUSTER-IP EXTE...

2019-11-29 14:18:57 3028

转载 Kubernetes-服务发现与负载均衡

一、需求来源为什么需要服务发现在 K8s 集群里面会通过 pod 去部署应用,与传统的应用部署不同,传统应用部署在给定的机器上面去部署,我们知道怎么去调用别的机器的 IP 地址。但是在 K8s 集群里面应用是通过 pod 去部署的, 而 pod 生命周期是短暂的。在 pod 的生命周期过程中,比如它创建或销毁,它的 IP 地址都会发生变化,这样就不能使用传统的部署方式,不能指定 IP 去访...

2019-11-29 11:25:37 415

原创 gitlab-升级笔记(11.10.8升级到12.4.2 )

执行升级:$ sudo apt-get upgrade gitlab-ce提示我运行的已经是最新版本,并没提示需要升级,但是我在dashboard看到提示有新版可以升级:运行 ubuntu@gitlab:~$ sudo apt-cache madison gitlab-ce"不会显示比当前安装的版本更高的任何版本。gitlab-ce | 11.10.8-ce.0 | ht...

2019-11-25 12:59:16 2869

转载 Kubernetes-NodePort vs Loadbalancer vs Ingress 在生产中如何选择?

最近,有人问我NodePort,LoadBalancers和Ingress之间有什么区别。它们都是将外部流量带入群集的不同方法,并且它们都以不同的方式进行。简单的说,生产环境建议使用 Loadbalancer 和 Ingress,四层(TCP/UDP)代理使用 Loadbalancer,七层(HTTP/HTTPS)代理使用 Ingress。让我们看一下它们各自的工作方式以及何时使用它们。C...

2019-11-25 12:55:16 410

转载 A.B.C类地址的私有地址、局域网地址、保留地址

作者:知乎用户链接:https://www.zhihu.com/question/302935308/answer/535819686来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。A、B、C3类地址的特征:当将IP地址写成二进制形式时,A类地址的第一位总是0,B类地址的前两位是10,C类地址的前三位总是110.①A类地址。A类地址第一字节为网络地址...

2019-11-20 15:31:16 5789

原创 使用dnsmasq在本地将域名解析为CNAME别名

目前,在aws上有一个负载均衡器:some-balancer-458343333.ap-southeast-1.elb.amazonaws.com,现在我想使用自己的域名(balancer.example.com)指向负载均衡器,这样可以方便公开此网站。在dnsmasq的做法如下:1. 先安装dnsmasqyum install -y dnsmasq2. 配置dnsmasqd...

2019-11-19 09:09:55 3938

解决windowsxp局域网共享

解决windows xp局域网共享

2008-06-14

rsync window 服务端

rsync window 服务端

2008-06-29

rsync window 客户端

rsync window 客户端

2008-06-29

大飞哥2的留言板

发表于 2020-01-02 最后回复 2020-01-02

思科 ws-2960g-48-tc-l 光口问题

发表于 2011-06-06 最后回复 2011-06-06

空空如也

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

TA关注的人 TA的粉丝

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