- 博客(53)
- 收藏
- 关注
原创 K8S基于containerd做容器从harbor拉取镜
当K8S使用containerd做容器运行时,实现创建pod资源时 从harbor上拉取镜像
2024-04-06 22:44:41 2029 2
原创 K8S之Secret的介绍和使用
Secret是一种用于存储和管理敏感数据的K8s对象。它解决了密码、token、秘钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者Pod Spec中。Secret可以以Volume或者环境变量的方式使用。
2024-03-31 22:39:10 1220
原创 K8S之Configmap的介绍和使用
configmap是K8S中的资源对象,用于保存非机密性的配置信息,可以使用 “键-值对” (Key-Value Pair)的形式保存,也可通过文件的形式保存。k8s中引入了Configmap资源对象,可以当成volume挂载到pod中,实现统一的配置管理。
2024-03-31 22:02:41 1945
原创 K8S之DaemonSet控制器
DaemonSet控制器能够确保K8S集群所有的节点都分别运行一个相同的pod副本,适用于在集群的每个节点上运行存储、每个节点上运行日志收集、每个节点上运行监控
2024-03-23 22:57:51 1239
原创 K8S之实现业务的金丝雀发布
金丝雀发布的由来:17 世纪,英国矿井工人发现,金丝雀对瓦斯这种气体十分敏感。空气中哪怕有极其微量的瓦斯,金丝雀也会停止歌唱;当瓦斯含量超过一定限度时,虽然人类毫无察觉,金丝雀却早已毒发身亡。当时在采矿设备相对简陋的条件下,工人们每次下井都会带上一只金丝雀作为瓦斯检测指标,以便在危险状况下紧急撤离。金丝雀发布(又称灰度发布、灰度更新):一般先发1台,或者一个小比例,例如2%的服务器,主要做流量验证用,也称为金丝雀 (Canary) 测试 (国内常称灰度测试)。
2024-03-07 23:08:29 852
原创 K8S之使用Deployment实现滚动更新
滚动更新是一种自动化程度较高的发布方式,用户体验比较平滑,是目前成熟型技术组织所采用的主流发布方式,一次滚动发布一般由若干个批次组成,每批的数量一般是可以配置的(通过发布模板定义)。批次间可留观察间隔,通过手工验证或监控反馈确保没有问题再继续下一批次,所以总体上滚动式发布过程是比较缓慢的。paused:暂停,当我们更新的时候创建pod先暂停,不是立即更新(ps.金丝雀发布会使用到)strategy:更新策略,支持的滚动更新策略。
2024-02-28 22:43:31 2120 1
原创 K8S之Deployment的介绍和使用
Deployment是kubernetes中最常用的资源对象,为ReplicaSet和Pod的创建提供了一种声明式的定义方法,在Deployment对象中描述一个期望的状态,Deployment控制器就会按照一定的控制速率把实际状态改成期望状态,通过定义一个Deployment控制器会创建一个新的ReplicaSet控制器,通过ReplicaSet创建pod,删除Deployment控制器,也会删除Deployment控制器下对应的ReplicaSet控制器和pod资源。
2024-02-27 22:38:23 2693 1
原创 K8S之标签的介绍和使用
标签就是一对 key/value ,被关联到对象上。标签的使用让我们能够表示出对象的特点,比如使用在Pod上,能一眼看出这个Pod是干什么的。也可以用来划分特定的对象(比如版本,服务类型等)。标签可以在创建一个对象的时候直接定义,也可以在后期随时修改,每一个对象可以拥有多个标签,但是,key值必须是唯一的。创建标签之后方便对资源进行分组管理。例如对Pod打标签后就可以使用标签来查看、删除指定的Pod。在k8s中,大部分资源都可以打标签。
2024-02-05 21:50:46 1160
原创 K8S之Pod的介绍和使用
Pod是Kubernetes中的最小调度单元,k8s通过定义一个Pod的资源,然后在Pod里面运行容器,容器需要指定一个镜像,这样就可以用来运行具体的服务。一个Pod封装一个容器(也可以封装多个容器),Pod里的容器共享存储、网络等。如果把pod看作虚拟机,每个容器相当于运行在虚拟机里的进程。
2024-01-30 23:14:59 1428 1
原创 使用Promethues+Grafana监控Elasticsearch
使用elasticsearch-exportor+prometheus+grafana实现监控elasticsearch指标
2024-01-27 21:52:28 1872
原创 docker-compose部署单机ES+Kibana
记录centos7.9环境下 安装8.2.2版本的elasticsearch和kibana。还包括:安装elasticsearch中文分词插件和拼音分词插件。
2024-01-26 18:11:55 2009
原创 K8S四层代理Service-02
K8S支持以下4种Service类型:ClusterIP、NodePort、ExternalName、LoadBalancer以下是使用4种类型进行Service创建,应对不同场景。
2024-01-23 18:35:17 1147
原创 MyBatis核心应用整理
通过实际的案例代码来演示下MyBatis的具体使用先搭建MyBatis的使用环境创建一个普通的Maven项目,然后添加对应的Mybatis和MySQL的相关依赖1.2 POJO对象通过数据库中的 T_USER 表来创建的对应的POJO对象如下:(ps. 有用到Lombok,自行添加对应的依赖)1.3 添加配置文件在MyBatis中需要添加全局的配置文件和对应的映射文件。数据库属性的配置文件关联的映射文件,通常来说一张表对应一个,在这个里面配置增删改查的SQL语句,以及参数和返回的结果集的映射
2023-03-26 18:04:54 200
原创 MyBatisPlus使用指南
结合官方文档与项目开发实践,整理了mybatis-plus使用指南。整理了开发过程中常用、实用的示例。方便快速编写业务代码。
2023-03-05 22:03:12 7309 1
原创 用策略模式 + 责任链模式+Nacos实现多层业务逻辑校验
本文以发送短信前的校验为例,利用策略模式+责任链模式实现多层逻辑校验,并利用Nacos支持动态配置检验顺序和校验层数。
2023-01-23 16:47:17 756 1
原创 接到需求任务,要先做哪件事?
需求,是软件开发中的一个关键环节,一旦需求理解出现问题,势必会造成大量的浪费。传统的功能列表只是简单罗列了要实现的功能,丢失了大量的上下文,会导致团队成员对于需求“只见树木不见森林”。在大项目中,更是会将一个功能分拆到多个团队中,每个人看到的只是功能碎片。于是,后来产生了其他的需求描述方式,比如用例和用户故事。在实际的开发过程中,大量的分歧来自于对“需求完成”的定义。当我们把“以终为始”的原则应用在需求领域中,就会注意到,用户故事有一个非常重要的组成部分是验收标准。
2022-11-30 22:30:15 389 1
原创 Anaconda实验环境的搭建
Anaconda和Jupyter notebookAnacondaConda: Package 和 EnvironmentData Science IDE vs Developer IDE从IPython 到 JupyterAnaconda 在windows上安装演示Anaconda 在Linux上安装演示AnacondaAnaconda是什么最著名的Python数据科学平台;750+流...
2020-03-20 14:58:12 756
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人