自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

云原生运维

专注于运维,分享技术,分享快乐!

  • 博客(29)
  • 收藏
  • 关注

原创 Ingress企业实战:部署多个Ingress控制器篇

本文介绍了Kubernetes集群内部署多个Ingress控制器的应用场景,并通过实际案例的方式讲解,下一章将讲解Ingress更多企业级实战,请敬请期待!

2023-09-10 12:54:14 1251

原创 Ingress企业实战:实现GRPC与WebSocket服务访问

gRPC(gRPC Remote Procedure Call)是一种开源的远程过程调用(RPC)框架,由Google开发并于2015年发布。它使用HTTP/2协议进行通信,旨在简化跨网络的服务通信和跨语言的服务调用。IDL(Interface Definition Language): gRPC 使用IDL来定义服务接口和消息格式。它使用Protocol Buffers(通常简称为ProtoBuf)作为默认的IDL工具。

2023-09-10 12:53:42 588

原创 Ingress企业实战:URL重写与高级玩法

URL重写(URL rewriting)是一种在Web服务器上修改或转换请求URL的过程。它通常涉及使用服务器配置或规则来更改传入的URL,以便在不改变实际请求资源的情况下,实现不同的行为,如重定向、路径映射、参数处理等。URL重写在服务器层面进行,因此客户端(如浏览器)对于URL的请求不会感知到这些更改,但服务器会根据配置进行适当的处理。重定向: 将一个URL重写为另一个URL,实现301永久重定向或302临时重定向。这可以用于更改站点结构、修复错误的URL、实现SEO优化等。

2023-09-10 12:53:06 583

原创 HTTPS证书管理与双向认证篇

单向认证,只有一方需要验证对方的身份。通常是客户端验证服务器的身份。这种情况下,客户端会检查服务器提供的数字证书是否有效,以确定服务器是否合法。服务器不会验证客户端的身份。这种情况下,客户端可以确认它正在与合法的服务器进行通信,但服务器不能确定其与合法客户端通信。单向认证通常用于一些对服务器身份验证要求较高,但对客户端身份验证要求相对较低的场景,如网站访问。客户端向服务端发送SSL协议版本号、加密算法种类、随机数等信息。

2023-09-10 12:52:16 650

原创 Ingress企业实战:金丝雀发布与蓝绿发布

金丝雀发布,又称灰度发布,是指通过让小部份用户流量引入的新版本进行测试,如果一切顺利,则可以增加(可能逐渐增加)百分比,逐步替换旧版本。如在过程中出现任何问题,则可以中止并快速回滚到旧版本。最简单的方式是随机选择百分比请求到金丝雀版本,但在更复杂的方案下,则可以基于请求的内容、特定范围的用户或其他属性等。蓝绿发布,提供了一种零宕机的部署方式,是一种以可观测的方式发布应用的方式,目的减少发布过程中停止时间。

2023-09-10 12:51:21 234

原创 Ingress企业实战:部署高可靠性Ingress篇

当你在Kubernetes集群中运行多个应用程序时,每个应用程序都有自己的服务。为了让外部用户访问这些应用程序,就好像他们访问网站一样,我们需要一种方法来管理流量的分配和路由。这就是Ingress的作用。想象一下,您的Kubernetes集群就像一个大型的公寓楼,每个公寓是一个应用程序。而Ingress就是大楼的大门,允许外部人员进入。大门上有一个保安,他会检查来访者的目的地,并根据他们的要求告诉他们去哪里。Ingress就是这个保安,他知道应该将来自某个网址的请求引导到特定的应用程序。

2023-09-10 12:49:59 130

原创 云原生运维知识库福利来了

专注于云原生运维知识分享与问题答疑,免费,免费,免费!

2023-09-09 16:45:52 102 1

原创 5分钟带你掌握Docker全部命令

5分钟带你掌握Docker全部命令

2023-07-31 07:08:03 90

原创 如何将JVM Docker镜像大小减少至少60%

让我们首先看一下通用的Docker镜像。让我们快速浏览一下这个文件。在本例中,我们使用了 Docker 多阶段构建。我们amazoncorretto:17-alpine在第一阶段使用相同的 Docker 镜像作为基础镜像。接下来,我们安装binutils该jlink工具所需的。jlink然后使用该工具创建自定义 JRE。该命令最重要的部分是–add-modules ALL-MODULE-PATH,它将所有模块添加到 JRE。在Oracle 文档页面上,您可以了解有关所有选项的更多信息。

2023-07-04 16:53:24 920

原创 Pod被挂载的ConfigMap会被动态更新吗?

当Pod挂载的ConfigMap被更新时,所投射的键最终也会被更新。Kubelet组件会每次周期性同步时检查所挂载的ConfigMaps是否更新。不过,kubelet 使用的是其本地的高速缓存来获得 ConfigMap 的当前值。ConfigMap 既可以通过 watch 操作实现内容传播(默认形式),也可实现基于 TTL 的缓存,还可以直接经过所有请求重定向到 API 服务器。

2023-04-25 22:06:28 1431

原创 运维技术专辑(持续更新中)

Linux容器的隔离与限制​​Pod 的QoS服务质量​​Kubernetes 零宕机滚动更新​容器镜像安全漏洞扫描-Trivy​创建一个Pod背后etcd的故事​Pod进程内存缓存分析​文章对你有所帮助的话,动动小手给个关注吧,持续更新中...

2021-12-31 14:45:19 637 3

原创 创建一个Pod背后etcd的故事

在Kubernetes架构中,Etcd作为Kubernetes的元数据存储,在创建一个Pod时,Etcd背后是如何工作,接下来会通过具体的案例进行一步一步机进行分析!Etcd 存储概念kubernetes 资源存储格式/registry/deployments/default/nginx-deployment/registry/events/default/nginx-deployment-66b6c48dd5-gl7zl.16c35febf6e3c38c/registry/events/defa

2021-12-25 02:25:31 465 1

原创 初识 etcd

概述Etcd是CoreOS基于Raft开发的分布式key-value存储,可用于服务发现、共享配置以及一致性 保障(如数据库选主、分布式锁等)。 在分布式系统中,如何管理节点间的状态一直是一个难题,etcd像是专门为集群环境的服务发现 和注册而设计,它提供了数据TTL失效、数据改变监视、多值、目录监听、分布式锁原子操作等 功能,可以方便的跟踪并管理集群节点的状态。 键值对存储:将数据存储在分层组织的目录中,如同在标准文件系统中 监测变更:监测特定的键或目录以进行更改,并对值的更改做出反应

2021-12-25 02:21:14 1037

原创 OpenSSL 自签证书详解

数字证书的基本概念数字证书的标准X.509版本号:指出该证书使用了哪种版本的X.509标准,版本号会影响证书中的一些特定信息序列号:由CA给予每一个证书分配的唯一的数字型编号,当证书被取消时,实际上是将此证书序列号放入由CA签发的CRL(Certificate Revocation List证书作废表,或证书黑名单表)中。这也是序列号唯一的原因签名算法标识符:用来指定CA签署证书时所使用的签名算法,常见算法如RSA签发者信息:颁发证书的实体的 X.500 名称信息。它通常为一个 CA证书的有效

2021-12-25 02:18:54 7092 3

原创 acme.sh免费签发SSL证书

acme.sh 概述一个纯粹用Shell(Unix shell)语言编写的ACME协议客户端。完整的ACME协议实施。 支持ACME v1和ACME v2 支持ACME v2通配符证书简单,功能强大且易于使用。你只需要3分钟就可以学习它。Let's Encrypt免费证书客户端最简单的shell脚本。纯粹用Shell编写,不依赖于python或官方的Let's Encrypt客户端。只需一个脚本即可自动颁发,续订和安装证书。 不需要root/sudoer访问权限。支持在Doc

2021-12-25 02:15:35 4808

原创 Systemd 进程管理

systemd 介绍systemd是目前Linux系统上主要的系统守护进程管理工具,由于init一方面对于进程的管理是串行化的,容易出现阻塞情况,另一方面init也仅仅是执行启动脚本,并不能对服务本身进行更多的管理。所以从CentOS 7开始也由systemd取代了init作为默认的系统进程管理工具。systemd所管理的所有系统资源都称作Unit,通过systemd命令集可以方便的对这些Unit进行管理。比如systemctl、hostnamectl、timedatectl、localctl等命令,这

2021-12-25 02:12:38 294

原创 Ansible 运维自动化

Ansible 概述Ansbile是一种IT自动化工具。它可以配置系统,部署软件以及协调更高级的IT任务,列如持续部署,滚动更新。Ansible 适用于管理企业IT基础设施,从具有少数主机的小规模到数千个实例的企业环境。Ansible 也是一种简单的自动化语言,可以完美地描述IT应用程序基础结构。具备以下三个特点:简单:减少学习成本 强大:协调应用程序生命周期 无代理:可预测,可靠和安全使用文档:https://releases.ansible.com/ansible/安装 Ansi

2021-12-25 02:09:39 326

原创 Pod进程内存缓存分析

背景在使用kubernetes过程中,可以通过kubectl top pod 命令可以查看到各个Pod内存使用情况,从而发现与Pod进程实际使用内存不一致,具体情况如下:Java应用部署在kubernetes中,配置的JVM参数为 -Xmx2048m -Xms2048m Pod memory request设置为3G, memory limit 为 4G查看目前Pod已使用内存# kubectl top pods gateway-5bf49bcb7-7mj99

2021-12-25 02:08:06 4819

原创 Pod 的QoS服务质量

QoS(Quality of Service),可译为 "服务质量等级",或者译作 "服务质量保证",是作用在 Pod 上的一个配置,当 Kubernetes 创建一个 Pod 时,它就会给这个 Pod 分配一个 QoS 等级。 Kubernetes使用Qos类来决定Pod的调度和驱逐策略。GuaranteedPod 中的每个容器,包含初始化容器,必须指定内存请求和内存限制,并且两者要相等。Pod 中的每个容器,包含初始化容器,必须指定 CPU 请求和 C.

2021-12-25 02:06:24 360

原创 Linux容器的隔离与限制

Linux进程引入如果你要写一个计算加法的小程序,这个程序需要输入来自于一个文件,计算完成后的结果则输入到另一个文件中。由于计算机只认识0和1,所以无论用那种语言编写这段代码,最后都需要通过某种方式翻译成二进制文件,才能在计算机操作系统中运行起来。而为了能够让这些代码正常运行,我们往往还要给它提供数据,比如我们这个加法程序所需要的输入文件。这些数据加上代码本身的二进制文件,放在磁盘,就是我们平常所说的一个程序,也叫代码的可执行镜像(executable image)。然后,我们就可以在计算机上运行这

2021-12-25 02:03:29 696

原创 镜像漏洞扫描-Trivy

Trivy 概述Trivy(tri 发音为 trigger,vy 发音为 envy)是一个简单而全面的漏洞/错误配置扫描器,用于容器和其他工件。 软件漏洞是软件或操作系统中存在的故障、缺陷或弱点。 Trivy 检测操作系统包(Alpine、RHEL、CentOS 等)和特定语言包(Bundler、Composer、npm、yarn 等)的漏洞。 此外,Trivy 会扫描基础设施即代码 (IaC) 文件,例如 Terraform 和 Kubernetes,以检测使您的部署面临攻击风险的潜在配置问题。 Tri

2021-12-25 01:59:46 1476

原创 二进制平滑升级Kubernets集群

升级说明Kubernetes 集群小版本升级基本上是只需要 要更新二进制文件即可。如果大版本升级需要注意kubelet参数的变化,以及其他组件升级之后的变化。 由于Kubernete版本更新过快许多依赖并没有解决完善,并不建议生产环境使用较新版本。 生产环境升级建议再测试环境反复测试验证https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.21.md#downloads-for-v1217组件

2021-12-24 16:20:08 933

原创 supervisord 进程管理利器

Supervisor概述​ supervisor是一个 Client/Server模式的系统,允许用户在类unix操作系统上监视和控制多个进程,或者可以说是多个程序。supervisor与launchd,daemontools,runit等程序有着相同的功能,与其中某些程序不同的是,它并不作为“id 为 1的进程”而替代init。相反,它用于控制应用程序,像启动其它程序一样,通俗理解就是,把Supervisor服务管理的进程程序,它们作为supervisor的子进程来运行,而superviso

2021-12-23 14:59:18 231

原创 Kubernetes 零宕机滚动更新

从旧版本到新版本进行滚动更新,只是简单的通过输出显示来判断那些Pod是存活并准备就绪的,那么这个滚动更新的行为看上去肯定就是有效的,但是往往实际情况就是从旧版本到新版本的切换的过程并不总是十分顺畅,应用程序很有可能会丢弃某些客户端的请求,那接下来一起解决下流量丢失的问题吧?Pod 探针livenessProbe: 指示容器是否正在运行。如果存活态探测失败,则 kubelet 会杀死容器, 并且容器将根据其重启策略决定未来。如果容器不提供存活探针, 则默认状态为 Success。readinessP

2021-11-28 18:28:53 835

原创 CKA考试预配环境

目录第一题:RBAC第二题:指定node设置为不可用第三题:升级kubernetes节点第四题:etcd 备份还原第五题:创建 NetworkPolicy第六题:创建 svc第七题:创建 ingress 资源第八题:扩展 deployment第九题:将 pod 部署到指定 node 节点上第十题:检查有多少 node 节点是健康状态第十一题:创建多个 container 的 Pod第十二题:创建 Persistent Volume第十三题:创建 PVC

2021-04-20 16:31:05 543

原创 CKA-CN考试预约流程

一、先在Linux Foundation注册一个账号地址:https://identity.linuxfoundation.org/特别注意:注册LFID的时候用拼音形式写名字,不然证书出的是乱码。如果考生预约和考试出现问题,让他们带好信息、问题和截图自己邮件到enquiry@linuxfoundation.cn二、登录LinuxFoundation中文网站注册账号并实名认证地址:https://training.linuxfoundation.cn/注册账号并实名认证。之后切

2021-04-20 11:56:57 1603

原创 CKA-V1.20.0最新题库

目录一、RBAC 4%二、驱逐节点 4%三、集群升级 7%四、ETCD备份恢复 7%五、网络策略 4%六、SVC 4%七、Ingress 7%八、扩容 4%九、通过node标签调度pod 4%十、节点数量 4%十一、创建多容器pod 4%十二、pv 4%十三、pvc 7%十四、输出日志 5%十五、sidecar 13%十六、top 5%十七、kubelet 13%一、RBAC 4%Context为部署...

2021-04-19 17:24:49 638

原创 Prometheus之Prometheus部署

文章目录1. 基础环境准备2. 安装Prometheus3. 启动Prometheus3.1 创建Prometheus系统服务3.2 启动Prometheus4. promtool工具日常使用1. 基础环境准备# 查看系统版本$ cat /etc/redhat-release CentOS Linuxrelease 7.7.1908 (Core)# 查看系统内核$ uname -r3.10.0-1062.18.1.el7.x86_64# 安装目录$ pwd/applicati

2021-01-03 17:56:50 159

原创 Prometheus之Alertmanger高可用架构

一、Alertmanger高可用概述在Prometheus Server高可用的情况(联邦架构)下,单个Alertmanager容易引发单点故障。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-arCdxpAA-1609664116087)(http://confluence.snowballtech.com/download/attachments/33839118/prom-ha-with-single-am.png?version=1&modification

2021-01-03 17:05:55 898 2

空空如也

空空如也

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

TA关注的人

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