自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 k8s-helm

根据自己的需求,定义chart,然后部署到集群当中去Charts:用于存储依赖,如果这个chart依赖于其他的chart,依赖文件保存在这个目录Chart.yaml:helm chart的元数据,包含了这个chart的名称,版本维护者信息等等Template:包含清单模板的目录Deployment.yaml部署应用的模板文件Helpers.tpl帮助文档,告诉用户如何实现缩行为hpa.yaml:定义了应用程序副本数的扩缩容行为ingress.yaml:定义了外部流量如和转发到应用形成。

2024-01-22 16:12:46 1155

原创 k8s-ingress

证书密钥创建证书,密钥Secret保存密钥信息,部署pod时把secret挂载到podopenssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt -subj "/CN=nginxsvc/0=nginxsvc"解析:Req:生成证书文件的情况 -x509:生成-x509自签名的证书-sha256:表示使用sha-256算法-nodes:表示生成的密钥不加密-days 365:证书有效期是365

2024-01-22 16:00:23 1115

原创 k8s-ingress一

Comfigmap:存储数据Date:Key:value挂载的方式,把配置信息传给容器生产当中的yml文件很长:有deployment容器的探针资源限制Configmap存储卷ServiceIngressService作用体现在两个方面:Service:NodePort:容器端口---service端口----NodePort,设定了nodePort,每个节点都会有一个端口被打开,30000-32767IP+端口:节点IP+30000-32767,实现负载均衡Loadbalancer:云平台上的一种serv

2024-01-20 20:44:22 1265

原创 k8s配置资源管理

Secret:主要保存加密文件,主要使用方式就是挂载方式Configmap:把配置文件传送给容器,主要方式也是挂载方式Configmap的热更新:热更新可以直接反应到容器的内部,也不会触发pod的更新机制,如果不是需要重启的配置,都可以直接生效Version/configmap来触发滚动更新需要重启时,可以重启pod更新:就是把配置信息传送给容器内,重启也是一样Configmap:就是把配置信息传送给容器,键值对形式保存的,非加密的信息。

2024-01-20 20:31:58 991

原创 Pod控制器:

五个都是控制器创建的pod都是依赖于控制器无状态应用,最好用的,也是最多的有状态应用,有序的,独立的pod无状态应用,不能定义副本数,每个节点都运行一个pod,也可以指定节点执行一次性的任务,必须要有重启策略,同时默认失败次数是6次,只有失败次数达到,重启才会生效定时任务,主要就是通知,备份或者探测。

2024-01-16 20:24:56 977

原创 k8s存储卷-动态PV

SelfLink:API的资源对象之一,表示资源对象在集群当中自身的一个连结,self-Link是一个唯一的标识号,可以用于标识k8s集群当中的每个资源的对象。容器里使用的配置,在provisioner当中定义好环境变量,传给容器,storageclass的名称,NFS服务器的地址,NFS的目录。NFS的provisionner的客户端以pod的方式运行在集群当中,监听k8s集群当中PV的请求,然后动态的创建于NFS相关的PV。命名为 nfs-client-provisioner-clusterrole。

2024-01-16 20:16:50 1091

原创 k8s-数据卷

k8s当中存储卷的模式:EmptyDir:用于容器内共享,随着pod被销毁,也会被销毁,数据不保留hostPath:节点目录的存储卷,可以实现存储化存储,数据在每个节点上都有,不方便集中管理NFS:共享目录存储卷,既可以实现持久化,也可以数据集中在一个目录,方便管理PV和PVCPVC是一种请求----PV存储资源----------硬盘空间(NFS)NFS支持PVC的所有挂载方式和读写模式hostPath仅支持readwriteOnce方式PVC是以检索的方式找到匹配的PV资源。

2024-01-11 17:34:44 1639 2

原创 k8s的策略

Node的亲和性Pod的亲和性和反亲和性污点和容忍总结起来就是如何选择节点部署pod,选择一个期望的节点部署pod举例:我有多个master节点:Kubectl taint node master节点名称尽量不往master节点上部署pod,但是不是一定的,防止资源浪费,自定义一个标签业务维护:Node02需要维护两个小时,但是这个节点上还有业务pod在运行就需要把这个节点的污点设置为驱逐。

2024-01-11 17:19:08 1273

原创 k8s的集群调度:

Scheduler:负责调度资源,把pod调度到node节点预算策略优先策略k8s集群当中,通过list-watch的机制进行每个组件的协作,保持数据同步,每个组件之间的解耦Kubectl配置文件,向apiserver发送命令-----通过apiserver把命令发送到各个组件创建成功之后,kubectl get pod kubectl describe pod nginx---------->etcd的数据库当中。

2024-01-09 21:51:54 1142

原创 pod探针2:

OnFailure:当pod内的容器退出时,状态码是0,整个pod都不会重启,只有一个或者N个容器非正常退出,状态码非0,整个pod才会重启。TcpSocker只是监听容器上的业务端口能否正常通信,8081没有,8080还在,也就是正常的端口还可以访问,如果更改了容器的端口。启动探针成功之后,在pod的生命周期内不会再检测启动探针,重启了pod之后,相当于重新部署了一个初始版新的容器。Always:默认策略---->当pod内的容器退出,不论是一个还是两个容器退出,整个pod都会重启。

2024-01-09 21:42:16 391

原创 pod探针

httpGet:对web容器发起一次get请求,可以添加path,指定访问的资源,返回码大宇等于200,小于400的范围之内都算成功。Unless-stopped:只要容器退出就会重启,docker守护进程启动时已经停止的容器,不在重启。Errorimagepull:拉取镜像出现错(1.网速太慢,2.镜像名字写错了,3.镜像仓库挂了)小结:Liveness杀死容器重启,所有探针策略伴随整个pod生命周期,除了启动探针。CrashLoopBackOff: 容器退出,kubelet正在将它重启。

2024-01-04 17:13:24 1006

原创 pod的环节

每个pod都有一个基础容器pause容器Pause容器对应的镜像是属于k8s集群的一部分,创建集群就会有pause这个基础镜像Pod里面包含了一个或多个相关的容器(应用)pod内部有一组容器,挂了一个,就算整个pod失效了吗?引入pause机制,代表整个容器组的状态,可以解决对pod内部容器状态的判断共享pod内的容器共享IP,共享VOLUME挂载卷,解决了容器网络通信的问题,解决了容器内部文件共享的问题。

2024-01-04 17:01:57 880

原创 k8s-yaml格式

蓝绿发布:金丝雀发布(灰度发布):滚动发布:应用程序升级,面临的最大的问题,就是新旧业务的更换,立项--定稿--需求发布--开发--测试--发布,测试之后上线,再完美也会有文题,为了不让发生的问题影响所有用户,上述的三种发布方式把应用服务集群标记为两个组,分为蓝组和绿组,先升级蓝组,要把蓝组从负载均衡当中移除,绿组继续提供服务,蓝组升级完毕,再把绿组从负载均衡当中移除,绿组升级,然后都加入回负载均衡当中去,完成对外服务缺点:Deployment控制器创建的服务,才可以使用这种发布方式,滚动更新,暂停,发布非

2024-01-02 16:09:05 1164

原创 k8s的陈述式管理

注意:如果是deployment方式创建的pod,或者是daemonset方式创建的pod,是由控制器创建的pod,使用delete删除pod是删不掉的,相当于重启pod。滚动更新:不式一次性的包所有pod全部部署,而是一个一个来,pod的更新时使用,他的状态是逐渐的引用新的pod,逐渐的减旧的pod。上述的功能必须是基于deployment创建的服务才可以,绝大多数的pod创建都是deployment。创建(已演示)------发布(已演示)------更新------回滚--------删除。

2024-01-02 15:58:38 2070

原创 Kubeadmin实现k8s集群:

Kubeadmin来快速搭建一个k8s集群:二进制搭建适合大集群,50台以上的主机,但是kubeadm更适合中小企业的业务集群。

2023-12-28 22:28:55 810 1

原创 k8s的二进制部署(二)网络

Flannel和calico:Flannel:配置简单,功能简单,基于overlay叠加网络实现,在物理层的网络上再封装一个虚拟的网络,vxlan是虚拟三层网络,UDP模式是默认不用的,常用的就是vxlan模式,IP进行转发,Fannel提供路由表,内核封装和解封装host-gw也是不用的,由于封装和解封装的过程,对数据传输可能会有影响,没有网络策略配置的能力UDP(协议)默认网段:10.244.0.0/16Calicao:功能强大。

2023-12-28 17:18:54 1487

原创 k8s的二进制部署(一)

k8s的二进制部署:源码包部署。

2023-12-26 19:37:30 1149 1

原创 初识k8s

k8s要创建pod时,kube-schedule调度到节点上(node节点),节点上的kubelet只是docker启动特定的容器,kubelet把容器的信息收集,发送给主节点,主需要在主节点上发布指令,节点上kubelet就会指示docker拉取镜像,启动或者停止容器。在k8s整个集群当中,每创建一个pod,都会会其中运行的容器分配一个集群内的IP地址,由于业务的变更,容器可能会发生变化,IP地址也会发生变化,service的作用就是提供整个pod对外的整个IP地址。

2023-12-26 16:12:36 1023

原创 playbook(二)

也可以运行,但是不能用中文例题:指定标签运行Roles模块,又叫角色角色:ansible层次化,结构化的组织playbook,使用了roles(角色)可以根据层次结构,自动装载变量文件,task,以及handler等等Roles:分别把变量 文件 任务 模块 以及处理器,放在单独的目录当中,使用role模块来一键调用这些文件Roles:-----web----总目录,角色File:存放copy和script模块调用的文件Templates 存放j2的模板文件Tasks:包含任务的目录。

2023-12-21 16:22:00 821

原创 ansible脚本-Playbook(一)

注意:是否收集目标主机信息,这个不能在配置文件当中,否则无法执行copy模块,会有冲突解释一下格式:vars:字典方式:key-valuevars:这是一个包含所有主机的变量的字典,简而言之就是复制主机的IP地址,然后复制到目标文件inventory_hostname:目标主机名ansible_default_ipv4:获取目标主机名['ansible_default_ipv4']['address']:索引。

2023-12-21 16:10:43 1055

原创 ansible(二)

Rulevel:配合enable的,开机自启,可以设置运行级别,在命令行可以设置,但是不生效,必须要playbook当中使用,ansible_become_user 提升为哪个用户的权限,默认提升为root。ansible_ssh_private_key_file 指定密钥认证ssh连接时的私钥文件。,必须使用绝对路径,如果原目标是目录,那么指目标也得是目录,如果目标存在,会覆盖原有的内容。ansible_password 连接时的用户的ssh密码,

2023-12-20 16:23:08 1015

原创 Ansible(一)

Ansible能批量配置,部署,管理上千台主机,类似于xshe的一键输入工具,不需要每次都切换主机进行操作,只要一台ansible的固定主机,就可以所有节点操作。Remove=yes|no 当删除用户时,加上remove=yes,删除用户的家目录,userdel -r,如果不需要删除家目录,可以不写。如果有多个none,他就会删除多个none,多计划任务,如果不给名字,一旦删除none,全部删除,不推荐,最好是指定一个不重复的名称。Creates:判断指定的文件是否存在,如果存在,不执行后面的操作。

2023-12-20 16:05:43 1035

原创 Docker consul

服务注册:当一个服务启动时,会把自己的元数据(IP端口 服务名称 健康状态)注册到服务注册当中。这个注册表服务(consul,zookeeper),也可以在云平台部署服务发现:其他服务需要和这个服务通信时,只需要向注册表查询服务位置信息(IP+端口),这样的话可以直接在服务注册表中,直接获取我要的信息,不需要到静态地址查看了。

2023-12-16 16:54:01 77

原创 docker-harbor仓库

Docker 镜像 容器 仓库仓库:保存镜像私有:自定义用户的形式登录仓库,拉取或者上传镜像(内部管理的用户)Harbor:是VMware公司开发的,开源的企业级的docker register项目帮助用户快速的搭建一个企业级的docker仓库的服务,同时支持中文。

2023-12-14 21:30:02 116

原创 dcokercompose

是一种标记语言,以竖列的形式展示一个序列化的数据格式,可读性很高,类似于json格式,语法简单,yaml通过缩进来表示数据结构,连续的项目用-来表示。在www目录内编辑内容,方便展示,nginx的目录用Dockerfile的形式,创建,前一篇博客有讲明。Docker-compose核心就是yml文件,可以定义容器的一切,通过yml配置,直接运行容器。Dockerfile 先配置好文件,然后build,镜像------>容器。两者打印的值不一样,一个打印的就是符号,应该打印的就是值。

2023-12-13 21:51:28 87

原创 Dockerfile创建镜像INMP+wordpress

Dockerfile创建镜像INMP+wordpress。

2023-12-12 22:23:54 178

原创 初识Dockerfile

Dockerfile:创建镜像,创建自定义的镜像包括配置文件,挂载点,对外暴露的端口,设置环境变量根据官方号已提供的镜像源,创建镜像,然后拉起容器,是一个白板,只能提供基础的功能,扩展性的功能还是要自定义(进入容器操作)演示:乌班图导入镜像创建容器联合文件系统(UnionFS),docker镜像的基础镜像是通过分层来进行集成,特性,可以一次可以同时加载多个文件系统,但是从外面来看,也就是对用户来说,就是一个文件系统。

2023-12-12 22:04:19 247

原创 Docker的资源控制

容器占用CPU时间容器占用CPU的权重比(多个容器时,才有效)容器占用CPU的内核数,绑定指定CPU的内核给容器使用怎么对容器使用CPU进行限制(一定要会):容器占用CPU的时间容器占用CPU的权重容器绑定CPU容器对宿主机的内存使用限制:-mSwap:必须和限制内存一块使用磁盘i/o限制,了解即可清理docker缓存。

2023-12-09 18:04:34 211

原创 Docker网络

bridge模式,桥接模式,也是docker的默认模式,在创建时无需指定Host模式,容易不会有自己的网络设备,但是可以和宿主机共享IP和端口Container模式:容器和容器之间共享IP和端口None模式:也没有自己的网络设备,也没有网卡,IP,只有一个回环地址,127.0.0.1不能够联网的,飞行模式(测试容器的功能)自定义网络:创建容器时,默认使docker网桥时无法给容器定义IP地址的,只能自动分配,自定义网桥创建时,可以给容器指定的IP地址。

2023-12-09 17:49:40 191

原创 初识docker

仓库:保存镜像,所有的镜像都是从仓库当中拉去的,可以有公有仓库,还可以是私有仓库,镜像都是从仓库中拉去的,镜像也保存再仓库之中,下载到了本地:镜像,容器,/var/lib/docker 宿主机。镜像:是docker的基础,也是最小单位,类似于虚拟机的ISO文件,一个镜像就是一个可执行的包,包里面包含了运行这个程序的所有内容(包括代码,配置文件,环境变量)如果docker容器中 pid = 1 的进程挂了,那么docker容器便会直接退出,也就是说Docker容器中必须有一个前台进程,否则认为容器已经挂掉。

2023-12-09 17:34:58 325

原创 Zabbix补充

【检查】点击【添加】,【检查类型】选择 Zabbix 客户端,【端口范围】设置成 10050,【键值】设置成 system.uname。#安装 Zabbix 代理(zabbix-proxy-mysql)和 Zabbix 客户端工具(zabbix-get)Zabbix-proxy(代理服务器,代理服务器需要安装的数据,保存客户端的数据,如何再发送给服务端(代收器))Zabbix的配置:先有主机,再有模板,模板当中设置当中配置监控项,再监控项之后配置触发器,图形(可选)

2023-12-08 21:27:34 113

原创 Zabbix监控

例:监控服务器的登录节点,不能超过三个在工作当中主要靠脚本监控5个终端#可以将自定义的监控项配置文件创建在 zabbix_agent2.d 目录中#自定义监控项的格式如下位置监控项的位置Wang6在服务端验证新建的监控项//在 Web 页面创建自定义监控项模板创建模版找到模板创建应用集创建监控项测试一下创建触发器创建图形主机和模版进行关联查看图形查看关闭几台虚拟机(只剩两台)查看如何添加监控报警的控制邮件密码获取测试监控告警,邮件结合最后一步。

2023-12-03 19:24:48 95

原创 Zookeeper集群+kafka集群

经纪人:broker每个kafka节点都有一个broker,每个负责人一台kafka服务器,ID唯一,存储主题分区当中数据,处理生产和消费和消费者的请求,维护元数据(通过zookeeper)B启动,再发起一次选举,A和B分别投自己一票,交换选票信息,myid,A发现B的myid比A大,A的这一票转而投给B A 0 B 2没有半数以上的结果,AB进入looking。例如ABC,只要通信保证,其他的修改不影响整个集群,每个组件可以独立的扩展,修改,降低组件之间的依赖性。

2023-12-03 18:41:52 190

原创 Elk-filebeat

Elk:filebeat搜集日志工具和logstash相同Filebeat是一个轻量级的日志收集工具,所使用的资源比logstash部署和启动时使用的资源更小Filebeat可以运行在非Java环境,他可以代理logstash在非Java环境上收集日志Filebeat无法实现数据的过滤,一般是结合logstash的数据过滤功能一块使用Filebeat收集的数据可以发往多个主机,远程收集。

2023-12-03 18:00:27 312

原创 Elk日志分析系统

Elk日志分析系统:概念 :elk是一套完整的日志集中处理方案,由三个开源的软件简称组成:E:elasticSearch ES是一个开源的,分布式的存储检索引擎(索引的非关系型数据库),存储日志是基于Java代码开发的,基于lucence结构开发的发一套全文检索引擎,拥有一个web接口,用户可以通过浏览器的形式和ES组件进行通信作用:存储,允许全文搜索,结构化搜索(索引点),索引点可以支持大容量的日志数据,也可以所有不同类型的文档。

2023-12-03 17:14:27 103

原创 Redis集群

集群自带主从和哨兵每个主从节点之间互相隔离,可以容忍数据的不完整,目的就是实现高可用以hash槽位决定每个节点的读写操作,在创建key时,系统已经分配好了指定槽位如果出现move不是报错,只是去提醒客户端去分配指定的槽位节点,获取数据。

2023-11-26 20:55:44 158

原创 Redis主从,缓存击穿,雪崩,哨兵等问题

事中:在国内用的比较多的方式:HySTRIX,熔断,降级,限流用这三个手段来降低雪崩发生之后的损失,数据库不急即可,但是很慢,不能没有反应,类似于春运期间的12306。缓存击穿主要是热点数据缓存过期,或者被删除,多个请求并发访问热点数据,请求也是转发到数据库了,导致数据库的性能下降,经常被请求的缓存数据,最好设置为永不过期。哨兵:是一个分布式系统,用于分布式系统,用于在主从结构之间,对每台Redis的服务器进行监控,主节点出现故障时,从节点通过投票的方式选择一个新的master。

2023-11-22 15:12:33 68

原创 Redis的高可用

主程会通过fork机制来创建一个子进程,子进程的创建过程中,主进程会阻塞,子进程创建完毕,主进程解除阻塞,主进程解除阻塞,子进程来创建RDB文件,创建完毕之后,通知主进程更新通知信息。

2023-11-21 19:14:03 280

原创 初识Redis

Redis:非关系型数据库,缓存型数据库。

2023-11-21 18:55:09 275

原创 Squid代理服务器

Squid从一个缓存变成一个web服务器反向代理的加速模式 squid监听的80端口请求,同时混合web服务器的请求端口绑定,squid不是转发请求,而是要么从缓存获取数据,要么请求绑定的web端口。IO --enable-err-language="Simplify_Chinese" \ 错误信息的显示语言。--enable-linux-tproxy \ 支持透明模式。--enable-arp-acl \ 开启acl过滤模式。Nginx也可以缓存。Nginx也可以代理:反向代理-----实现负载均衡。

2023-11-19 14:24:09 78

空空如也

空空如也

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

TA关注的人

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