自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 部署metrics-server

需求:生产环境是kubeadm部署的v1.22.2版本的k8s,统计资源时发现这套环境没有部署metrics-server这个服务,今天来部署一下。

2024-06-03 21:21:24 376

原创 docker和containerd的区别

3.日志配置和流转发通道。1.调用链和组件数量。

2024-05-22 16:24:46 1020

原创 Ubuntu系统的初始化

安装完毕后清理不再需要的软件包和缓存。

2024-04-23 15:44:27 377 1

原创 本人拥有的证书清单

有需要的小伙伴,可以私聊我哦

2024-04-23 15:33:47 330 1

原创 二进制OpenStack

在上面的示例中使用的是Ceph后端存储,因此还需要另外两个文件ceph.conf和ceph.client.cinder-先创建pv,本次配置里因为nova和cinder都需要对接后端的LVM,将盘sdb和sdc分别创建pv。境使用的是本地磁盘上的lvm卷,此时对于虚拟机来说需要两个独立的lvm卷,一个给Nova使用,用于。计算节点支持使用多种类型的后端,例如直接使用物理机上的磁盘,或者使用网络存储。磁盘/dev/sdb和/dev/sdc,首先来创建LVM后端需要的vg。2.初始化fernet密码仓库。

2024-04-20 13:02:27 985

原创 【SRE系列之docker容器】--dockerfile镜像优化

【代码】【SRE系列之docker容器】--dockerfile镜像优化。

2024-03-15 12:40:11 503

原创 【云原生-kubernetes系列】--kubernetes日志收集

使用sidecar容器(一个pod多容器)收集当前pod内一个或者多个业务容器的日志(通常基于emptyDir实现业务容器与sidcar之间的日志共享)

2024-03-15 10:35:30 1323

原创 登录阿里云镜像仓库报认证失败

阿里云web界面登录输入用户名和密码都是正确的,但是用docker login登录一直报认证失败。

2024-03-14 10:02:20 450

原创 【SRE系列之Jenkins的使用】--实现ssh和http克隆

*故障原因:http克隆使用的是凭据是username解决方案:凭据改成username。

2024-02-26 15:04:32 656

原创 【云原生kubernetes系列】--RBAC权限的使用

API Server是k8s集群的网关,是能够与etcd通信的唯一入口kube-controller-manager、kube-scheduler、kubelet、kube-proxy,以及后续部署的集群插件CoreDNS、ProjectCalico等,彼此间互不通信,彼此间的所有协作均经由API Server的REST API进行,它们都是API Server的客户端, 确保对API Server的安全访问至关重要。客户端对API Server的访问应经过身份验证以及权限检查。

2024-02-23 16:44:17 1369 1

原创 【SRE系列】-安装Jenkins

【代码】【SRE系列】-安装Jenkins。

2024-02-23 13:03:01 573

原创 【SRE系列】--部署gitlab

【代码】【SRE系列】--部署gitlab。

2024-02-23 12:45:09 627

原创 k8s版本升级后,pod一直无法被调度

排查思路:kube-schedule这个组件是负责pod的调度,一看kube-schedule状态是failed。故障原因:根据报错提示,应该是kube-schedule组件的api类型不匹配导致的。解决问题思路:修改kube-scheduler-config.yaml文件。

2024-02-22 10:46:04 726

原创 【云原生系列之kubernetes】--Ingress使用

1、当Ingress访问域名出现问题时,进入某个pod,curl 后端SVC看能否访问:curl svc-name.namespace.svc.cluster.local2、Ingress配置根据URL匹配后端service时要注意重定向。

2024-02-20 14:00:47 734

原创 【云原生之kubernetes系列】--HPA自动伸缩

K8s从1.1版本开始支持了HPA控制器,用于基于Pod中CPU/Memory资源利用率进行Pod的自动扩缩容。水平扩缩意味着对增加的负载的响应是部署更多的Pod。这与“垂直(Vertical)”扩缩不同,对于Kubernetes,垂直扩缩意味着将更多资源(例如:内存或CPU)分配给已经为工作负载运行的Pod。如果负载减少,并且Pod的数量高于配置的最小值,HorizontalPodAutoscaler会指示工作负载资源(Deployment、StatefulSet或其他类似资源)缩减。

2024-02-02 16:58:47 1935

原创 【云原生之kubernetes系列】--污点与容忍

【代码】【云原生之kubernetes系列】--污点与容忍。

2024-02-01 16:43:31 662

原创 【云原生kubernetes系列】---亲和与反亲和

实例:将nginx Pod的亲和到Namespace为wework,标签为project值为wework的Pod的不在同一个Node上,如果Node上资源不足或匹配失败则无法创建此Pod。将nginx Pod的亲和到Namespace为wework,标签为project值为wework的Pod的同一个Node上,如果Node上资源不足或匹配失败则无法创建此Pod。软策略是(In)亲和,优先将pod调度到含有标签的node节点,如果没有任何node满足pod的标签,再根据计算调度到其他节点上。

2024-02-01 15:37:26 1384

原创 SRE--redis集群高可用篇

【代码】SRE--redis集群高可用篇。

2024-01-28 20:55:57 493

原创 SRE--Redis数据持久化篇

Redis是基于内存型的NoSQL,和MySQL是不同的,Redis默认是使用内存进行数据的保存,一旦服务重启后数据就会丢失。如果想实现数据的持久化,Redis也可以把保存在内存里的数据保存到硬盘中。Redis有两种数据持久化保存方法,分别为:RDB和AOF。

2024-01-28 14:08:26 830

原创 SRE-Redis基本概念篇

计数器的应用基本和排行榜系统一样,都是多数网站的普遍需求,如视频网站的播放计数,电商网站的浏览数等等,但这些数量一般比较庞大,如果存到关系型数据库,对MySQL或者其他关系型数据库的挑战还是很大的,而Redis基本可以说是天然支持计数器应用。Redis支持发布订阅系统和阻塞队列的功能,可以充当一般的消息队列功能,虽然和专业的消息队列MQ比如RebbitMQ比起来还优点差距,但也基本够用了,比如celery的异步模型,Redis也是celery官方指定的2种队列的一种。

2024-01-28 13:26:28 611

原创 SRE--负载高可用篇

keepalived只监测VIP的负载服务器(nginx/haproxy)是否正常,如果不正常就执行切换脚本后端web服务器是由负载均衡器来判断是否正常keepalived自身的健康是由本身服务的心跳来检测keepalived检测负载是否正常有两种方法判断:(1)负载服务的端口或者进程(2)服务存活页面是否正常。

2024-01-22 16:19:13 585

原创 SRE--Dockerfile构建镜像

【代码】Dockerfile镜像构建。

2024-01-20 11:37:29 591

原创 【云原生系列之kubernetes】--探针的使用

检查容器是否正常运行,如果存活探针失败,则kubelet杀死容器,并且容器将收到器重启策略影响.如果容器不提供存活探针,则默认状态为success,livenessProbe用于控制是否重启pod。某些情况下通过端口判断并不是很准确,同时服务又没法使用httpget的方式获取服务状态.这时就采用execaction方式,通过一条或多条命令的执行结果进行判断服务是否正常.使用tcpSocket进行检测。

2024-01-11 14:23:59 884

原创 【云原生之kubernetes系列】--volume的使用

概念上与 Pod 类似。PV 持久卷和普通的 Volume 一样, 也是使用卷插件来实现的,只是它们拥有独立于任何使用 PV 的 Pod 的生命周期。如下表所示,提供者(驱动)的能力不同,每个 PV 卷的访问模式都会设置为对应卷所支持的模式值。当pod被创建时,会先创建emptyDir卷.只要该pod在该节点上运行,这个卷就会一直存在.被创建的时候这个卷是空的.pod中的容器可以读写该emptyDir卷中的文件.当pod被删除时,emptyDir将被永久删除.可以放一些缓存或日志等不重要的文件.

2024-01-08 16:48:44 1241

原创 prometheus服务发现

keep: 满足 足 regex 正 则 条 件 的 实 例 进 行 采 集 , 把 source_labels 中 没 有 匹 配到 到 regex 正 则 内 容的 的 Target实 例 丢 掉 , 即 只 采 集 匹 配 成 功 的 实 例。labelmap: 匹配regex所有标签名称,然后赋值匹配标签的值进行分组,通过replacement分组引用替代 (将正则匹配到的值作为标签的名称使用,而标签的值继承原标签的值)dns_sd_configs: #DNS 服务发现监控目标。

2023-12-30 16:13:23 1277

原创 prometheus监控安装方法和介绍

Prometheus 是一款基于时序数据库的开源监控告警系统,非常适合Kubernetes集群的监控。Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控。不需要任何SDK或者其他的集成过程。这样做非常适合做虚拟化环境监控系统,比如VM、Docker、Kubernetes等。输出被监控组件信息的HTTP接口被叫做exporter。

2023-12-29 10:18:55 1078

原创 SUID、SGID、SBIT特殊权限的用法

SUID、SGID、SBIT特殊权限的用法

2023-09-19 21:39:34 101

原创 K8S故障排查

3、查看docker的Cgroup driver和k8s的Cgroup driver类型,发现docker是cgroup,k8s是systemd,问题点找到了。2、查看k8s组件的状态-kubelet,kube-apiservice。故障现象:部署pod时,报错没发调度到节点。

2023-07-27 16:21:28 673

原创 harbor仓库故障排除

【代码】harbor仓库故障排除。

2023-07-18 16:05:22 654

原创 ceph集群的维护

重启之前,要提前设置 ceph 集群不要将 OSD 标记为 out,避免 node 节点关闭服务后被踢。(停止服务器之前要把服务器的OSD先停止并从ceph集群删除)出 ceph 集群外。

2023-07-17 17:09:56 1167

原创 云原生--ceph存储之对象存储和安装dashborad

1、RadosGW对象存储简介2、对象存储的特点通过对象存储将数据存储为对象,每个对象除了包含数据还包含数据自身的元数据。对象通过object ID来检索,无法通过普通文件系统的方式通过文件路径及文件名称操作来直接访问对象,只能通过API来访问,或者第三方客户端工具(实际上也是对API的封装)对象存储中的对象不整理到目录树中,而是存储在扁平的命名空间中,Amazon S3将这个扁平命名空间成为bucket(存储桶),而非swift则其称为容器。bucket 需要被授权才能访问到,一个帐户可以对

2023-07-17 13:13:48 1138

原创 云原生--ceph存储之cephFS的使用

ceph mds作为ceph的访问入口,需要实现高性能及数据备份,假设启动4个MDS进程,设置2个Rank。mds_standby_for_fscid:指定 CephFS 文件系统 ID,需要联合 mds_standby_for_rank 生。mds_standby_for_rank:设置当前 MDS 进程只用于备份于哪个 Rank,通常为 Rank 编号。效,如果设置 mds_standby_for_rank,那么就是用于指定文件系统的指定 Rank,如果没有。设置备份的方法有很多,常用选项如下。

2023-07-13 20:52:53 3655

原创 云原生--ceph存储之RBD的使用

Ceph 可以同时提供对象存储 RADOSGW、块存储 RBD、文件系统存储 Ceph FS,RBD 即RADOS Block Device 的简称,RBD 块存储是常用的存储类型之一,RBD 块设备类似磁盘可以被挂载,RBD 块设备具有快照、多副本、克隆和一致性等特性,数据以条带化的方式存储在 Ceph 集群的多个 OSD 中。客户端访问RBD设备的方式有两种。

2023-07-11 12:36:34 2665

原创 云原生--ceph用户认证

ceph使用cephx协议对客户端进行身份认证cephx用于对ceph保存的数据进行认证访问和授权,用于对访问ceph的请求进行认证和授权检测,于mon通信的请求都要经过ceph认证通过,但是也可以在mon节点关闭cephx认证,但是关闭认证之后任何访问都将被允许,因此无法保证数据的安全性。

2023-07-10 11:24:45 647

原创 云原生--ceph故障排错

【代码】ceph故障解决。

2023-07-10 10:39:44 1265

原创 云原生--部署ceph存储

一般会将wal放到nvme上,如果都是ssd就没必要拆开放了.预写日志和数据日志分开,这个用的稍微多一点,

2023-07-06 14:10:47 1372

原创 kubernetes核心概念 service

使用kubernetes集群运行工作负载时,由于Pod经常处于用后即焚状态,Pod经常被重新生成,因此Pod对应的IP地址也会经常变化,导致无法直接访问Pod提供的服务,Kubernetes中使用了Service来解决这一问题,即在Pod前面使用Service对Pod进行代理,无论Pod怎样变化 ,只要有Label,就可以让Service能够联系上Pod,把PodIP地址添加到Service对应的端点列表(Endpoints)实现对Pod IP跟踪,进而实现通过Service访问Pod目的。

2023-07-02 14:33:54 656

原创 网卡突然自动关闭

【代码】网卡突然自动关闭。

2023-06-29 21:58:16 778

原创 kubernetes核心概念 controller

DaemonSet能够让所有(或者特定)的节点运行同一个pod。当节点加入到K8S集群中,pod会被(DaemonSet)调度到该节点上运行,当节点从K8S集群中被移除,被DaemonSet调度的pod会被移除如果删除DaemonSet,所有跟这个DaemonSet相关的pods都会被删除。如果一个DaemonSet的Pod被杀死、停止、或者崩溃,那么DaemonSet将会重新创建一个新的副本在这台计算节点上。DaemonSet一般应用于日志收集、监控采集、分布式存储守护进程等。

2023-06-27 21:50:24 423 1

原创 kubernetes核心概念 Pod

参考链接: https://kubernetes.io/zh/docs/concepts/workloads/pods/Pod(豌豆荚) 是Kubernetes集群管理(创建、部署)与调度的最小计算单元,表示处于运行状态的一组容器。Pod不是进程,而是容器运行的环境。一个Pod可以封装一个容器或多个容器(主容器或sidecar边车容器)一个pod内的多个容器之间共享部分命名空间,例如:Net Namespace,UTS Namespace,IPC Namespace及存储资源。

2023-06-27 21:40:01 650

docker一键安装包

docker一键安装包

2024-01-19

空空如也

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

TA关注的人

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