自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【kubernetes】关于k8s集群中的ingress规则案例

基于Service实现:NodePort LoadBalancer externalIPs 只能支持四层反向代理,如果K8S集群规模较大运行的业务较多时NodePort端口/externalIPs管理成本会很高基于Ingress实现:支持七层反向代理,可自定义规则根据用户请求的域名或URL路径转发给指定Service进行代理访问。

2024-03-08 20:47:56 2052

原创 【kubernetes】关于k8s集群的配置资源(configmap和secret)

ConfigMap资源(简称cm) 用于保存配置文件、环境变量等不需要加密的信息。

2024-03-07 17:20:09 1341

原创 【kubernetes】关于k8s集群的pod控制器

1、statefulset用于部署有状态的应用(有实时数据需要存储的应用)2、部署statefulset之前,需要先创建一个headless service(表示clusterip为node的特殊service类型),statefulset的配置清单模板需要去指定servicename为headless service的名称。3、statefulset创建的pod名称是固定不变的,且唯一的。

2024-03-06 14:59:10 1275

原创 【kubernetes】关于k8s集群的存储卷

metadata: #由于 PV 是集群级别的资源,即 PV 可以跨 namespace 使用,所以 PV 的 metadata 中不用配置 namespacename:spec#查看pv定义的规格spec:nfs:(定义存储类型)path:(定义挂载卷路径)server:(定义服务器名称)accessModes:(定义访问模型,有以下三种访问模型,以列表的方式存在,也就是说可以定义多个访问模式)- ReadWriteOnce #(RWO)卷可以被一个节点以读写方式挂载。

2024-03-05 21:01:24 1363

原创 【kubernetes】关于k8s集群的污点和容忍,以及k8s集群的故障排查思路

但我们可以在 Pod 上设置容忍(Tolerations),意思是设置了容忍的 Pod 将可以容忍污点的存在,可以被调度到存在污点的 Node 上。如果将 toleration 应用于 Pod 上,则表示这些 Pod 可以(但不一定)被调度到具有匹配 taint 的节点上。使用 kubectl taint 命令可以给某个 Node 节点设置污点,Node 被设置上污点之后就和 Pod 之间存在了一种相斥的关系,可以让 Node 拒绝 Pod 的调度执行,甚至将 Node 已经存在的 Pod 驱逐出去。

2024-03-04 16:13:55 1745

原创 【kubernetes】关于k8s集群如何将pod调度到指定node节点?

1)使用 nodeName 字段指定node节点名称2)使用nodeselector 字段指定node节点的标签3)使用节点亲和性Pod亲和性 Pod反亲和性。

2024-03-03 19:12:29 2891

原创 【kubernetes】关于云原生之k8s集群中pod的容器资源限制和三种探针

三种探针存活探针(livenessProbe):探测Pod容器是否在正常运行。如果探测失败则kubelet杀掉容器,并根据容器重启策略决定是否重启容器就绪探针(readinessProbe):探测Pod是否进入就绪状态(ready状态栏是否100%比例),并做好接收service转发来的请求准备。如果探测失败则Pod变成未就绪状态(0/1 1/2),service就会删除相关联的Pod端点,并不再转发请求给处于未就绪状态的Pod。

2024-02-29 20:16:18 1382

原创 【kubernetes】关于云原生之k8s集群的pod理论详解

基于pod控制器创建pod删除pod验证会被重新拉起验证通过scheduler调度验证可以滚动更新。

2024-02-28 18:09:39 1533

原创 【kubernetes】关于k8s集群的声明式管理资源

方案二:根据现有的资源导出模板文件 创建新资源跨命名空间创建deployment资源。

2024-02-27 18:07:59 1318

原创 【kubernetes】关于k8s集群的资源发布方式(灰度/滚动发布)

如“暂停(pause)”或“继续(resume)”更新操作。

2024-02-27 13:42:53 2837

原创 【kubernetes】关于k8s集群中kubectl的陈述式资源管理

nodePort:NodePort类型的service使用的端口,会在每个node节点上都开启相同的端口,也就是nodeIP使用的端口(默认范围为30000~32767)。2.kubectl 是官方的CLI命令行工具,用于与 apiserver 进行通信,将用户在命令行输入的命令,组织并转化为 apiserver 能识别的信息,进而实现管理 k8s 各种资源的一种有效途径。例如,DESIRED 为 10,那么可用的副本数至少要为 10 - 10 * 25% = 8,即 AVAILABLE 为 8。

2024-02-26 23:10:13 1186

原创 【kubernetes】kubeadm部署k8s集群(3主3从+keepalived/nginx负载均衡高可用)

K8S kubeadm搭建kubeadm init:在使用kubeadm方式安装K8S集群时,可根据初始化配置文件或配置参数选项快速的初始化生成一个K8S的master管理平台kubeadm join:根据kubeadm init初始化的提示信息快速的将一个node节点或其它master节点加入到K8S集群里1)所有节点进行初始化,安装容器引擎、kubeadm、kubelet、kubectl,部署 nginx/haproxy 负载均衡器和 keepalived 高可用。

2024-02-24 16:45:42 1399

原创 【补充】linux内核升级

查看当前的内核版本。

2024-02-24 10:22:55 420

原创 【kubernetes】二进制部署k8s集群之,多master节点负载均衡以及高可用(下)

使用cfssl工具签发证书和私钥文件解压etcd软件包,获取二进制文件 etcd etcdctl准备etcd集群配置文件启动etcd进程服务,将所有节点加入到etcd集群中etcd的操作:#查看etcd集群健康状态。

2024-02-23 17:46:48 1576

原创 【kubernetes】二进制部署k8s集群之cni网络插件flannel和calico工作原理(中)

/在 master01 节点上操作#上传 calico.yaml 文件到 /opt/k8s 目录中,部署 CNI 网络#修改里面定义Pod网络(CALICO_IPV4POOL_CIDR),与前面kube-controller-manager配置文件指定的cluster-cidr网段一样#等 Calico Pod 都 Running,节点也会准备就绪---------- node02 节点部署 ----------//在 node01 节点上操作cd /opt/

2024-02-22 20:55:11 1835

原创 【kubernetes】二进制部署k8s集群之master节点和etcd数据库集群(上)

目录前言:关于整个k8s集群的主机规划以及本文部署架构步骤一:完成操作系统初始化配置步骤二:完成etcd集群部署关于etcd集群①准备签发证书环境②先完成单独一个节点的部署③通过部署好的etcd01节点 完成另外两个节点的部署拓展:了解etcdctl工具对etcd做增删改查拓展:通过etcdctl工具实现数据库的备份和恢复步骤三:完成docker引擎部署①完成docker部署②将docker的cgroup存储引擎修改为systemd步骤四:完成master组件部署①上传 master.zip 和 k8s-c

2024-02-22 10:46:47 1533 2

原创 【kubernetes】认识K8S基础理论

K8S 是属于主从设备模型(Master-Slave 架构),即有 Master 节点负责集群的调度、管理和运维,Slave 节点是集群中的运算工作负载节点。在 K8S 中,主节点一般被称为 Master 节点,而从节点则被称为 Worker Node 节点,每个 Node 都会被 Master 分配一些工作负载。Master 组件可以在群集中的任何计算机上运行,但建议 Master 节点占据一个独立的服务器。

2024-02-20 17:46:16 1976

原创 【ansible】通过role角色部署lnmp架构

roles用于层次性、结构化地组织playbook。roles能够根据层次型结构自动装载变量文件、tasks以及handlers等。要使用roles只需要在playbook中使用include指令引入即可。简单来讲,roles就是通过分别将变量、文件、任务、模板及处理器放置于单独的目录中,并可以便捷的include它们的一种机制。roles一般用于基于主机构建服务的场景中,但也可以是用于构建守护进程等场景中。主要使用场景代码复用度较高的情况下。把playbook剧本中的每一个paly看做一个角色。

2024-02-19 16:01:00 1292 1

原创 【ansible】自动化运维ansible之playbook剧本编写与运行

inventory主机清单管理主机清单配置文件 /etc/ansible/hosts格式:[组名]主机IP[:ssh端口] #默认是 22 端口主机名[:ssh端口]主机IP[0:255] #设置连续的主机列表范围主机名[a:z] ansible_port= ansible_user= ansible_password= #设置主机变量[组名:vars] #设置组变量[大组名:children] #设置嵌套组组名1组名2组名3playbook剧本---

2024-02-19 16:00:23 1900

原创 【ansible】认识ansible,了解常用的模块

使用者在使用时,在服务器终端输入命令或者playbooks,会通过预定好的规则将playbook拆解为play,再组织成ansible可以识别的任务,调用模块和插件,根据主机清单通过SSH将 临时文件发给远程的客户端执行并返回结果,执行结束后自动删除。比如执行 systemctl stop xxx 命令来停止服务,当发现要停止的目标服务已经处于停止状态,它什么也不会做, 所以多次停止的结果仍然是停止,不会改变结果,它是幂等的,而 systemctl restart xxx 是非幂等的。

2024-02-18 22:41:32 1409

原创 【云原生】docker容器实现https访问

【代码】【云原生】docker容器实现https访问。

2024-01-31 20:46:27 2006

原创 【云原生】docker安全与https加密的超文本传输协议CA证书生成

HTTP协议无法加密数据,数据传输可能产生泄露、篡改或钓鱼攻击等问题,而启用HTTPS后,可帮助Web服务器和网站间建立可信的HTTPS协议加密链接,为网站安全加锁,保证数据安全传输。服务端会选择加密程度最高的方案,并通过明文方式发送给客户端(与双向认证的核心区别)1)在阿里云、华为云、腾讯云等云服务商那里申请一年有效期的免费证书或者购买证书。服务端会选择加密程度最高的方案,并通过客户端证书里的公钥加密后发送给客户端。用本地的CA证书校验服务端证书的有效性。https双向认证的访问流程。

2024-01-31 17:12:51 1181

原创 【云原生】consul自动注册,实现负载均衡器与节点服务应用解耦,批量管理容器

安装consul是用于服务注册,也就是容器本身的一些信息注册到consul里面,其他程序可以通过consul获取注册的相关服务信息,这就是服务注册与发现。server模式:可用于接收后端服务/client模式的节点发来的注册信息,还可在server节点之间同步注册信息,具有持久化注册信息到本地的能力。服务注册与发现:consul通过DNS或者HTTP接口使服务注册和服务发现变的很容易,一些外部服务,例如saas提供的也可以一样注册。和服务发现的集成,可以防止服务转发到故障的服务上面。完成nginx的部署。

2024-01-30 19:33:00 1314

原创 【云原生】docker-compose单机容器集群编排工具

docker-compose 是一个可以实现在单机上对容器集群编排管理的工具。它允许用户使用docker-compose.yml 配置模板文件来定义应用程序的配置,包括容器的数量、容器之间的依赖关系、环境变量、端口映射以及数据卷等设置。然后,用户使用docker-compose命令根据指定配置模板文件的配置来启动和管理容器集群。使用 Docker Compose命令可以方便地管理多个容器;可以解决容器之间的依赖关系。

2024-01-29 18:07:04 1577

原创 【云原生】Docker私有仓库搭建以及四大容器重启策略

总共分为7个容器运行,通过在docker-compose.yml所在目录中执行 docker-compose ps 命令来查看, 名称分别为:nginx、harbor-jobservice、harbor-ui、harbor-db、harbor-adminserver、registry、harbor-log。------------------------------------ Harbor 部署 ------------------------------------

2024-01-27 14:32:23 2174 2

原创 【云原生】Docker基于Dockerfile多级构建,实现缩小镜像体积

7)使用多阶段构建;

2024-01-26 19:55:40 896

原创 【云原生】通过docker构建基于LNMP的WordPress项目

计划通过自定义网络模式,创建一个172.18.0.0/16网段。

2024-01-26 16:22:42 1085

原创 【云原生】Docker如何构建镜像

创建镜像有三种方法基于已有镜像创建基于本地模板创建基于Dockerfile创建。

2024-01-25 21:09:01 3130 2

原创 【云原生】Docker网络模式和Cgroup资源限制

直接使用bridge模式,是无法支持指定IP运行docker的,例如执行以下命令就会报错//创建自定义网络#可以先自定义网络,再使用指定IP运行docker#docker1 为执行 ifconfig -a 命令时,显示的网卡名,如果不使用 --opt 参数指定此名称,那你在使用 ifconfig -a 命令查看网络信息时,看到的是类似 br-110eb56a0b22 这样的名字,这显然不怎么好记。

2024-01-25 21:08:43 1064

原创 【云原生】Docker的端口映射、数据卷、数据卷容器、容器互联

先关闭容器,然后查看容器的Id,然后进去docker管理容器的目录,修改hostconfig.json和config.v2.json文件;然后重启docker,重启容器。

2024-01-24 17:56:46 2189

原创 【云原生】认识docker容器操作命令

docker 容器默认会把容器内部第一个进程,也就是 pid=1 的程序作为docker容器是否正在运行的依据,如果docker容器中 pid = 1 的进程挂了,那么docker容器便会直接退出,也就是说Docker容器中必须有一个前台进程,否则认为容器已经挂掉。注意:容器是一个与其中运行的 shell 命令/进程共存亡的终端,命令/进程运行容器运行, 命令/进程结束容器退出!导入后为镜像,还需额外创建容器,需要注意的是创建容器的时候需要额外添加容器启动命令。1、验证pid为1的程序与容器状态的关联性。

2024-01-23 22:20:28 1642

原创 【云原生】初识Docker,安装以及了解操作命令

Docker是一个开源的应用容器引擎基于go语言开发并遵循了apache2.0协议开源。Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”。Docker 的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。Docker的Logo设计为蓝色鲸鱼,拖着许多集装箱。鲸鱼可看作为宿主机,集装箱可理解为相互隔离的容器,每个集装箱中都包含自己的应用程序。

2024-01-23 18:04:42 1388

原创 【分布式技术】消息队列Kafka

主要原因是由于在高并发环境下,同步请求来不及处理,请求往往会发生阻塞。比如大量的请求并发访问数据库,导致行锁表锁,最后请求线程会堆积过多,从而触发 too many connection 错误,引发雪崩效应。我们使用消息队列,通过异步处理请求,从而缓解系统的压力。消息队列常应用于异步处理,流量削峰,应用解耦,消息通讯等场景。

2024-01-22 23:27:54 1598 1

原创 【分布式技术】注册中心zookeeper

服务器1和2分别投自己一票并交换选票信息:此时服务器1发现服务器2的myid比自己目前投票推举的(服务器1)大,更改选票为推举服务器2。此时服务器1票数0票,服务器2票数2票,没有半数以上结果,选举无法完成,服务器1,2状态保持LOOKING。此次投票结果:服务器1为0票,服务器2为0票,服务器3为3票。此时服务器1,2,3已经不是LOOKING状态,不会更改选票信息。(1)服务器1启动,发起一次选举。此时服务器1票数一票,不够半数以上(3票),选举无法完成,服务器1状态保持为LOOKING;

2024-01-22 22:18:38 1196

原创 【分布式技术】ELK大型日志收集分析系统

步骤六:完成logstash部署。步骤二:部署ES节点(三台主机)步骤一:完成JAVA环境部署。步骤五:yum安装nginx。步骤四:web端查看验证。步骤七:部署kibana。步骤三:内核参数修改。

2024-01-19 23:11:21 694

原创 【分布式技术】Elastic Stack部署,实操logstash的过滤模块常用四大插件

比如还是刚刚的filebeat采集的nginx日志,现在想要实现访问的日志时间与logstash的时间一致。向事件添加任意标签,在tag字段中添加一段自定义的内容,当tag字段中超过一个内容的时候会变成数组。步骤二:准备logstash的conf文件,在filter模块中配置multiline插件。步骤一:现在logstash的conf文件中进行filter模块的修改,添加grok插件。用于分析字段中的日期,然后使用该日期或时间戳作为事件的logstash时间戳。通过指定的分隔符分割字段中的字符串为数组。

2024-01-19 23:05:38 1412

原创 【分布式技术】分布式存储ceph之RGW接口

提供了user、container和object分别对应于用户、存储桶和对象,不过它还额外为user提供了父级组件account,用于表示一个项目或用户组,因此一个account中可以包含一到多个user,它们可共享使用同一组container,并为container提供名称空间。对象存储(object storage)是非结构数据的存储方法,对象存储中每一条数据都作为单独的对象存储,拥有唯一的地址来识别数据对象,通常用于云计算环境中。2、存储桶属于某个用户并可以容纳对象,一个存储桶用于存储多个对象。

2024-01-18 00:11:43 1449

原创 【分布式技术】分布式存储ceph之RBD块存储部署

●另一种是通过librbd接口,通常KVM虚拟机使用这种接口。●通过内核模块KRBD将镜像映射为系统本地块设备,通常设置文件一般为:/dev/rbd*

2024-01-17 22:24:45 889

原创 【分布式技术】分布式存储ceph之MDS接口详解

接着之前的部署集群架构。

2024-01-17 21:24:26 1419

原创 【分布式技术】分布式存储ceph部署

●DAS(直接附加存储,是直接接到计算机的主板总线上去的存储)IDE、SATA、SCSI、SAS、USB 接口的磁盘所谓接口就是一种存储设备驱动下的磁盘设备,提供块级别的存储●NAS(网络附加存储,是通过网络附加到当前主机文件系统之上的存储)NFS、CIFS(samba可以实现跨系统的文件共享)、FTP文件系统级别的存储,本身就是一个做好的文件系统,通过nfs接口在用户空间输出后,客户端基于内核模块与远程主机进行网络通信。

2024-01-16 19:03:12 1218

空空如也

空空如也

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

TA关注的人

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