自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(246)
  • 收藏
  • 关注

原创 为什么内核中TCP连接在第一次握手后没有进入SYN_RECV状态?

注:本文分析基于3.10.0-693.el7内核版本,即CentOS 7.4背景之前梳理TCP建链的过程时,发现一个问题,百思不得其解。各种文章和书籍里说的都是服务端在接收到客户端的SYN报文后就进入SYN_RECV状态,然而当我看内核源码时,发现却不是这样的。连接在第一次握手后还是保持LISTEN状态,只是请求被放入了半连接状态。等到第三次握手后,服务端才根据半连接队列里的请求重新构造一个s...

2018-09-21 17:14:31 1954

原创 TCP 的backlog详解及半连接队列和全连接队列

注:本文分析基于3.10.107内核版本问题1:backlog是什么? 问题2:backlog怎么设置? 问题3:backlog怎么影响TCP的建链? 问题4:如何验证backlog的设置?以上就是我的疑问,因此我开始去从代码中了解backlog。man手册首先,要知道这个backlog是listen()函数里的第二个参数。int listen(int sockf...

2017-10-27 21:26:36 4969 5

原创 K8S的mountPath和subPath

mountPath是容器内部文件系统的挂载点,它定义了容器内部将外部存储卷(如 PersistentVolume、ConfigMap、Secret 等)挂载到哪个路径下。通过 mountPath,容器可以访问这些挂载的数据或配置。

2024-03-25 20:10:11 644

原创 grafana table合并查询

grafana table合并查询

2024-03-08 21:34:44 945

原创 Grafana变量默认全选

grafana变量默认全选

2024-03-08 17:33:37 578

原创 ArgoCD基本组件

ArgoCD有5个基本组件,

2023-11-24 18:09:12 939

原创 Terraform state文件

Terraform 的状态文件(Terraform State)是一个 JSON 格式的文件,用于追踪当前基础设施的状态。这个文件记录了 Terraform 管理的资源和它们的属性,以及与这些资源相关联的元数据。状态文件的主要作用是让 Terraform 能够了解当前实际的基础设施状态,从而有效地进行计划(plan)和应用(apply)操作。

2023-11-24 17:04:14 1149

原创 容器args中使用环境变量

有时候需将变量传给容器,作为命令的参数。这时候我们就可以通过ConfigMap来保存这个值,然后在Deployment里读取这个ConfigMap,并设置到环境变量中,供容器使用。然后在deployment中读取这个configmap,并将值设置到环境变量中,这里尤其需要注意的是,引用环境变量是要使用$(GIT_BRANCH),而不是${GIT_BRANCH}。当然也可以直接在Deployment定义这个变量,只是抽离出来会方便点,尤其是变量比较多的时候。

2023-11-24 15:35:22 487

原创 Kafka报错under-replicated partitions

Kafka报错under replicated partitions意味着某些分区的副本数量未达到预期的复制因子。主要有两种原因,Broker故障如果某个Kafka Broker发生故障,导致其中一些分区的副本不再可用,那么这些分区就会被标记为"under-replicated"副本分配策略在Kafka集群中,副本分配策略(replica assignment)可能导致某些分区的副本分布不均衡。

2023-11-24 15:08:44 1232

原创 helm push文件到ChartMuseum

helm默认是不带push功能的,因此无法直接将本地的chart文件直接上传到ChartMuseum中。

2023-06-05 14:41:52 272

原创 Kafka中offset的相关操作

offset用于记录消息消费的进度,主要有以下几种,Current offset,Committed offsets,LogEndOffset

2023-03-13 22:05:16 2287 1

原创 unable to open connection to broker - kafka

在准备使用kowl来作为kafka管理面板时,发现一直无法连接到broker,提示机器hostname无法解析。

2022-12-29 22:22:51 810

原创 grafana变量使用

grafana变量使用

2022-11-25 23:13:26 6759

原创 grafana导出和导入dashboard

除了从官网获取一些dashboard,在日常使用中,如果看到其他人自己创建的dashboard很符合自己的需求,我们也可以直接导出到我们自己的环境使用。

2022-11-24 08:59:25 4549

原创 K8S node-shell

对于云上K8S node我们一般会禁止ssh登录,但有时又不得不登录到node节点查看和debug,这时就可以通过node-shell的方式获得对应node的root shell。

2022-10-13 23:30:42 778

原创 kubectl插件管理器krew

krew是kubectl命令行的插件管理器,可以和yum一样,查找,安装,更新插件,让插件使用起来更方便。

2022-10-13 23:29:00 669

原创 K8S删除卡在Terminating状态的namespace

由于一些未知原因,一些namespace在删除时会一直处于Terminating状态,无法彻底删除。

2022-10-10 22:12:31 817

原创 MongoDB secondary节点

连接到secondary;读取secondary;从secondary恢复集群

2022-09-27 23:01:25 1058

原创 AWS S3

S3(Simple Storage Service)是一个对象存储服务,类似于我们使用的网盘,可以用于存放任何文件。

2022-09-18 20:47:48 1530

原创 AWS EC2

EC2(Elastic Compute Cloud)是AWS提供的计算能力可扩展的机器,也是云计算的最基本服务之一。但是它仅提供计算能力,也就是CPU和内存,存储能力需要借助于其他服务实现,比如EBS。

2022-08-25 21:30:03 2038

原创 K8S策略引擎Kyverno

Kyverno是专为k8s设计的策略引擎,有以下特性,- policy作为k8s原生资源,不需额外语言支持,面向yaml编程即可- 可以校验,修改或者生成任何资源- 可以审计镜像来源和元数据- 可以使用label和通配符来选择资源- 可以通过admission controls阻止不符合规范的资源,并给出报告信息- 可以在应用到集群前进行测试

2022-08-19 19:47:08 624

原创 AWS EKS

EKS(Elastic Kubernetes Service),是AWS提供的一个云上弹性K8S集群,无需自己安装和配置,控制平面和数据平面的资源都由AWS提供。

2022-08-19 10:59:42 1280

原创 cert-manager使用

在使用Let’sEncrypt时,我们知道由它颁发的证书有效期只有90天,因此最好是使用自动化方式去申请和续期。而cert-manager可以将certificates和certificateissuers作为资源类型添加到k8s集群中,这样就能简化证书的申请,续期等操作,它可以确保证书有效并在证书过期前一段时间(可配置)对证书进行续期。cert-manager除了支持Let’sEncrypt,还支持HashiCorpVault,Venafi以及私有PKI。...

2022-07-31 18:10:13 2475

原创 Let‘s Encrypt 使用

Let’sEncrypt是一个非盈利的自动证书颁发机构(CA),我们可以免费的从Let’sEncrypt获取自己网站域名的证书,只需要在我们的web主机上运行使用ACME协议的软件来获取Let’sEncrypt证书。

2022-07-29 23:05:12 1610

原创 AWS VPC

VPC(Virtual Private Cloud),即虚拟私有云,是一个逻辑上独立的数据中心,公有云服务提供商基于overlay网络(比如VXLAN和GRE),将网络分割为一个个独立的个体,提供给不同租户。租户则可以在这个独立的网络中部署自己的应用和资源而不受其他用户干扰。同时再配合一些加密和隧道协议,保证用户数据和通信安全,这就是云服务商提供的虚拟网络。aws的VPC有两种类型,default VPC和nondefault VPC,主要有两种方式,security groups和network ACLs

2022-06-29 21:53:01 910

原创 Istio安装与使用

Istio是Service Mesh模式的一种实现,多用于微服务的治理。Kubernetes能够覆盖服务的部署、升级、扩容等运行管理能力,但对于服务治理,如服务的熔断、限流、动态路由、调用链追踪就无能为力。因此Istio就能和Kubernetes互补,成为微服务管理的最佳实践之一。Istio的核心思想就是将服务治理的功能从业务服务中独立出来,作为一个sidecar容器,解耦的同时也能够兼容不同语言,无需和业务服务使用同一套语言。公共的治理能力独立后,所有组件都可以接入...

2022-06-06 22:34:32 2471 1

原创 AWS IAM基本概念

IAM Identity and Access Management,身份和访问管理identity/principal user、role、federated User、application

2022-05-20 22:11:14 3217

原创 External-DNS安装与使用

k8s中的服务通过ingress暴露给外部后,我们就能访问该服务。但是此时我们只能基于ingress暴露的ip来访问,这肯定不是个好主意,此时我们就需要将域名绑定到IP上。一般来说这里都需要手动到DNS服务商配置,对于ip变化频繁的话,还是很繁琐的。这时我们就可以考虑使用external-dns服务。

2022-05-05 22:30:00 1422

原创 envoy静态配置

envoy是一个7层的反向代理和通信总线,为大型的现代SOA(面向服务架构)而设计

2022-04-06 22:21:32 841

原创 kubeadm重新生成admin.conf

一条指令搞定,kubeadm init phase kubeconfig admin 如果有多个网卡,需要用–apiserver-advertise-address指定apiserver监听地址,证书地址可以用–cert-dir指定,默认/etc/kubernetes/pki,生成的admin.conf默认为/etc/kubernetes/admin.conf...

2022-03-28 22:45:20 4079

原创 远程连接K8S集群

远程连接k8s集群

2022-03-28 19:59:16 4431 3

原创 MongoDB replication

MongoDB的副本集能保证数据库服务的冗余性和高可用,这也是生产环境的必要配置。每个副本集都保存相同的数据,保证主节点异常时能接替主节点继续提供服务。

2022-03-12 23:23:35 1291

原创 kafka简单上手

注:本文基于kafka 2.13编写1 关于kafkakafka是一个开源的分布式流处理平台,基于zookeeper协调,支持分区、多副本、多订阅者,主要用做日志手机系统或者是消息队列系统。

2022-02-13 13:16:35 1873

原创 K8S Cilium网络插件——安装

K8S Cilium网络插件——安装

2022-01-21 22:49:06 2350

原创 Prometheus指标

注:1 指标类型prometheus的指标有四种类型,分别是Counter,Gauge,Histogram,Summary。Counter只增不减的计数器,用于描述某个指标的累计状态,比如请求量统计,http_requests_total通过这个计数器我们可以利用PromQL的聚合函数rate,来获取指标的增长速率,比如统计过去5分钟内5xx响应的增长率,rate(http_requests_total{status=~"5[0-9]+"}[5m])Gauge可增可减的计量器,

2022-01-16 23:01:59 4627

原创 terraform管理本地K8S集群

terraform管理本地K8S集群

2021-12-31 16:02:29 2732

原创 Calico网络策略原理

注:本文基于Calico v3.20.1版本编写1 calico支持网络策略的基础calico网络插件中,所有pod的网络设备并没有像flannel一样连接到网桥docker0上,这样每个pod的网络都有独立的链路,而这就是支持网络策略的基础。如果都连接到网桥,那所有pod都互通,并且没有办法做隔离。

2021-12-23 22:46:02 1158

原创 Calico网络策略

相比于k8s网络策略,calico网络策略对其进行了扩展,能支持更多的功能,比如可以对流量进行allow, deny, log, pass,而在k8s网络策略中只能对匹配的流量进行allow,而deny只能通过default的方式,灵活度不够。

2021-12-18 22:58:58 1221

原创 K8S网络策略

注:本文基于K8S v1.21.2版本编写1 关于网络策略k8s的网络能力主要表现在两个方面,一个是连通性,保证pod之间能够互通,另一个就是隔离性,考虑安全、流量限制等业务需求。而默认情况下,k8s集群的网络没任何限制,集群中的所有pod都是互通的,这对于一些业务来说是不符合安全需求的。同时如果考虑多租户的场景,这就更不能接受了,因此需要有方法能对集群网络进行限制,这就有了Network Policy。但有一点,并不是所有网络插件都支持Network Policy,比如flannel就不支持网络策

2021-11-30 22:07:04 1735

原创 K8S调试工具之--kubectl debug

容器调试,kubectl debug,EphemeralContainers,shareProcessNamespace

2021-11-22 22:17:47 2369

空空如也

空空如也

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

TA关注的人

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