- 博客(65)
- 资源 (3)
- 收藏
- 关注
原创 第十一章 Kubernetes运维—资源监控方案
Prometheus是一个开源的系统监控和报警系统,在2012年由SoundCloud创建,并于2015年正式发布。2016年,Prometheus项目正式加入CNCF基金会,成为继kubernetes之后第二个在CNCF托管的项目,现在已经广泛用于容器和微服务领域。Prometheus本身是基于go开发的一套开源的系统监控报警框架和时序数据库(TSDB)。Prometheus的监控功能很完善和全面,性能支持上万规模的集群。
2025-03-02 00:13:25
703
原创 第十一章 Kubernetes运维—镜像仓库
基于策略的镜像复制:可以在不同的镜像仓库中对镜像进行复制传送,比如我们可以在官方镜像仓库中定义一个策略,让他实时地同步到我们自己的私有镜像仓库中。镜像的漏洞扫描:在我们真正的生产运维环境中,当一台机器需要上架,需要安装linux或windows系统,以及可能安装了我们的应用,如果需要对外发布的话,我们需要接入到漏洞扫描机器,出具一个漏扫的报告,只有当漏扫通过,这样的机器才允许上架,接入整个数据中心。那么对于镜像也一样,需要通过漏扫才能正常去使用。
2025-02-25 15:34:45
824
原创 第十章 Kubernetes Ingress
Ingress是API Server中的一个组件,Ingress 包含两大组件:Ingress Controller 和 Ingress。Ingress并不直接处理或转发流量,它需要与Ingress Controller一起使用。Ingress Controller是一个实际处理流量的组件,它根据Ingress资源中定义的规则,将请求路由到正确的服务。这种组合使得在Kubernetes环境中能够方便地管理多个服务的访问入口。
2025-02-21 12:02:18
925
原创 第十章 Kubernetes HELM概念及安装使用
Helm 就是为了简化在 Kubernetes 中安装部署容器云应用的一个客户端工具。通过 helm 能够帮助开发者定义、安装和升级 Kubernetes 中的容器云应用,同时也可以通过 helm 进行容器云应用的分享。在 Kubeapps Hub 中提供了包括 Redis、MySQL 和 Jenkins 等常见的应用,通过 helm 可以使用一条命令就能够将其部署安装在自己的 Kubernetes 集群中。
2025-02-15 11:29:24
1005
原创 第八章 Kubernetes 调度器
Scheduler调度器做为Kubernetes三大核心组件之一, 承载着整个集群资源的调度功能,其根据特定调度算法和策略,将Pod调度到最优工作节点上,从而更合理与充分的利用集群计算资源。
2025-02-13 22:45:53
1085
原创 第七章 Kubernetes 存储-PV/PVC
当Pod中的容器因为各种原因(如升级、故障等)被销毁或重启时,存储在容器内的数据通常会丢失。通过使用存储卷,可以将数据存储在Pod生命周期之外的位置,确保数据即使在容器或Pod重启后仍然可用。为了能够屏蔽底层存储实现的细节,让用户方便使用及管理员方便管理, Kubemetes 从 1.0 版本开始引入了 Persistent Volume(PV)与 Persistent Volume Claim(PVC)资源对象来实现存储管理子系统。
2025-02-11 23:23:09
1139
原创 第七章 Kubernetes 存储-volume存储卷
之前我们讲的configMap、Secret、Downward API都是将metadata元数据或配置数据注入到容器内部,那么对于我们的真实数据该用怎样的方式存储并让pod可见可用呢?这可以通过Volume卷的方式将外部存储挂载到我们的pod内部,pod可以对卷进行访问操作,完成数据的读取或写入等;同时在外部存储对文件的更新,同步在pod内部也可见。
2025-02-10 09:56:50
847
原创 第七章 Kubernetes 存储-Downward API
Downward API是kubernetes中的一个功能,它允许容器在运行时从kubernetes API Server获取有关它们自身的信息。这些信息可以作为容器内部的环境变量或文件注入到容器中,以便容器可以获取有关其运行环境的各种信息,比如pod名称、命名空间、标签等。
2025-02-08 20:36:39
1011
原创 第七章 Kubernetes 存储-Secret
由于configMap保存的配置参数都是明文,对于一些用户名密码等需要保密内容显得不那么友好,那么Secret就是用来对敏感性内容进行编码,避免明文,更加安全。
2025-02-08 17:39:04
650
原创 第七章 Kubernetes 存储-configMap
ConfigMap 是用来存储配置文件的 Kubernetes 资源对象,配置对象存储在 Etcd 中,配置的形式可以是完整的配置文件、key/value 等形式。ConfigMap对像是一系列配置的集合,k8s会将这一集合注入到对应的Pod对像中,并为容器成功启动使用。注入的方式一般有两种,一种是挂载存储卷,一种是传递变量。ConfigMap被引用之前必须存在,属于名称空间级别,不能跨名称空间使用,内容明文显示。
2025-02-08 14:33:32
853
原创 第六章 Kubernetes Service-类型及其使用
Service对象有四种类别,分别是ClusterIp、Nodeport、Loadbalancer、Externalname。他们分别解决各种应用场景的问题。
2025-02-06 19:57:40
771
原创 第六章 Kubernetes Service-概念原理
Service+kube-proxy结合可以实现对目标pod构建为一个服务集群,并通过统一的服务IP地址暴露给用户访问。其中Service可以通过标签选择器对目标pod的抓取,并形成所谓的集群,kube-proxy通过三种工作模式实现对用户访问的路由分发到目标pod上。
2025-02-05 23:27:12
918
原创 第五章 Kubernetes Pod控制器-Cronjob
Kubernets中,作为Pod控制器之一的CronJob,是基于Job之上的控制器,可以执行周期性的处理任务。我们对CronJob的特性进行了讲解,并且对其特性做了实操演示。
2025-02-05 16:38:48
706
原创 第五章 Kubernetes Pod控制器-Job
Kubernets中,作为Pod控制器之一的Job,可以执行批处理任务。我们对Job的特性进行了讲解,并且对其特性做了实操演示。
2025-02-05 11:55:49
882
原创 第五章 Kubernetes Pod控制器-DaemonSet
Kubernets中,作为Pod控制器之一的DaemonSet。我们对DaemonSet的特性进行了讲解,并且对其特性做了实操演示。
2025-02-04 14:58:14
806
原创 第五章 Kubernetes Pod控制器-Deployment-01
在上面的第4小节里面,在运行replace命令前,运行diff命令,可以查看修改deployment的yaml文件的不同点。结果:pod由之前的10个,变为了现在的1个。结果:pod由之前的10个,变为了现在的1个。(2)将myapp-deploy集群数量从现在的默认1个副本扩容到10个。(1)将myapp-deploy集群数量从现在的默认1个副本扩容到10个。结果:发现pod目前提供的服务确实是最新的nginx:v2的服务。结果:发现pod目前提供的服务确实是最新的nginx:v3的服务。
2025-01-27 23:34:19
1094
原创 第五章 Kubernetes Pod控制器-ReplicationController/ReplicaSet
控制器的标签为rc-demo,那么如果修改了某个pod的标签不是rc-demo子集的话,那么控制器就会认为集群副本数量少于预期数量,就会新增一个pod。原因是pod控制器会认为删除最近新建的pod相比来说,对于用户来说损失会更小些,比如新产生的数据会少,用户访问最近新建的pod会少等等。发现:rc-demo-f5qxb标签修改成功,并且新增了一个Pod副本:rc-demo-zc6jf。从结果上看,rc-demo-f5qxb标签修改成功,之前新增的rc-demo-zc6jf被删除了。
2025-01-26 18:52:57
716
原创 第四章 kubernetes资源清单-Pod生命周期
每个mainC都可以自定义以上的功能(启动后钩子、启动探测、就绪探测、存活探测,关闭前钩子),可以选择某一个部分去使用。也就是这些功能每一个pod都必须定义,默认可以为空。比如没有启动探测,就不会有对容器启动成功与否的探测,也就不知道是否启动成功了,钩子也一样。大家可以为不同的容器去设置不同的钩子或者探针。
2025-01-21 16:38:46
799
原创 第二章 Kubernetes网络-01
如何实现以上网络模型原则,官方已经开发了CNI:容器网络接口标准。当然CNI插件需要注意个问题,它不是说什么问题都能解决, 主要解决的是容器和容器之间的网络通信。右边是支持CRI容器运行时的组件,包括Podman,CRI-O,ContainerD等,他们可以借助CNI的Libcni库来描绘一个JSON文件,这个Json文件主要作用就是一个网络插件应该如何配置,如何使用,然后可以调用Plugin插件库中的某些插件,最终实现pod与pod之间,也就是容器与容器之间的网络通信,这就是CNI要做的事情。
2025-01-21 14:48:55
149
原创 第二章 安装前的准备—Pod概念1
Pod和容器container的关系。pod包含多个container,相当于是一个容器组。Pod是kubernetes集群中部署的最小单位,但凡你需要在集群内部运行任务,都需要封装在这个pod内部运行。在kubernetes里面运行着成千上万计的pod,去完成各式各样的任务。Pod是一个逻辑概念,不是真实存在。类似组、团队的概念。一个pod里面包括几个Container,包括Nginx,redis,Pause,Php-fpm。
2025-01-17 16:04:03
326
原创 Kubernetes组件、插件、附件介绍
一个Pod代表着集群中运行的一个进程。kubernetes中其他大多数组件都是围绕着Pod来进行支撑和扩展Pod功能的,例如,用于管理Pod运行的StatefulSet和Deployment等控制器对象,用于暴露Pod应用的Service和Ingress对象,为Pod提供存储的PersistentVolume存储资源对象等。调度器会定期通过api server获取我们当前需要运行的任务,比如有没有跟节点绑定,如果还没有绑定,那么就需要去把任务跟节点进行绑定关联,绑定过程会挑选一个最合适它的节点进行绑定。
2025-01-17 15:02:09
821
原创 javac、java命令如何编译运行目标类以及其类引入的外部jar包
简单的问题,但是长期依赖于IDE工具,基本的java命令生疏了,将此次的过程简单记述如下。需求:要把AES类编译成class文件。步骤:1)将该类中所有引入的外部类jar包整理,比如:import net.sf.json.JSONObject;import java.net.URLDecoder;import java.net.URLEncoder;import javax...
2018-11-20 16:40:52
17105
1
原创 Oracle 索引表空间不够的问题
在对Oracle插入数据时,后台日志抛出异常:java.sql.SQLException: ORA-01654: unable to extend index WATER.SYS_C0011108 by 128 in tablespace DATACENTER处理步骤:1)select * from dba_tablespaces; --查看数据库表空间select * from...
2018-11-03 00:22:53
4086
原创 Impala概念和架构 (二) ——Impala应用开发 (英文翻译)
Developing Impala ApplicationsThe core development language with Impala is SQL. You can also use Java or other languages to interact with Impala through the standard JDBC and ODBC interfaces used by...
2018-10-30 09:51:43
588
原创 Impala概念和架构 (一) ——Impala服务组件 (英文翻译)
Components of the Impala ServerThe Impala server is a distributed, massively parallel processing (MPP) database engine. It consists of different daemon processes that run on specific hosts within yo...
2018-10-29 11:54:42
913
原创 Impala概念和架构 ——总 (英文翻译)
The following sections provide background information to help you become productive using Impala and its features. Where appropriate, the explanations include context to help understand how aspects of...
2018-10-29 10:35:35
329
原创 Impala概念和架构 (三) ——Impala如何融入Hadoop生态系统(英文翻译)
https://impala.apache.org/docs/build/html/topics/impala_hadoop.html#intro_metastoreImpala makes use of many familiar components within the Hadoop ecosystem. Impala can interchange data with other Ha...
2018-10-29 10:25:59
742
原创 java连接SAP取数的问题
当使用CNVCF_CCE_RFC_READ_TABLE通用函数取SAP表数据的时候,如果JCoFunction function这个里面不对ROWCOUNT限制的话,一旦表数据过大就会造成以下错误:com.sap.conn.jco.JCoException: (104) JCO_ERROR_SYSTEM_FAILURE: No more storage space available for...
2018-10-26 10:01:01
2920
转载 sapjco3 开发与部署环境设置(转)
https://www.cnblogs.com/rinack/p/6866191.htmlwindows 环境设置1.sapjco3.dll 需要与 sapjco3.jar 在同一目录2.设置系统环境变量,将sapjco3所在目录加入系统环境变量3.根据自己的操作系统版本选择对应的sapjco3包32位系统 例如: 新建环境变量 变量名: JAVA...
2018-10-22 10:07:21
5216
原创 行转列sql
需求:对不同销售方式 以列的形式展示数据,即销售方式的行数据转列数据。drop table if exists temp.zbd_t_contractquality2_shipped_overcredit_type_statistics_h; create table if not exists temp.zbd_t_contractquality2_shipped_overcredit_...
2018-10-11 09:07:53
225
原创 离线安装CDH初始化数据库的问题
当运行初始化数据库脚本语句:cm-5.13.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p123456 --scm-host localhost scm scm scm之前,进入mysql:mysql -hlocalhost -uroot -p,执行一下sql语句,否则有可能报错:grant...
2018-09-16 17:08:00
6002
原创 Sqoop将Mysql导入Hive表——单分区表
导入Hive单分区表直接用sqoop命令就可以。1)首先建立单分区表(内部表)CREATE TABLE IF NOT EXISTS import.zbd_t_product_comparison ( GCJT_SYB_DESC STRING COMMENT '产品线', brand STRING COMMENT...
2018-07-20 10:40:37
3601
2
原创 Sqoop将Mysql数据表导入Hive多分区表
由于sqoop将mysql数据导入到Hive分区表时,其命令只支持只有一个分区的hive表,多个分区没有命令直接可用。所以只能采用迂回的方式来实现导入多分区的Hive表。1)建立Hive多分区表(外部表)CREATE EXTERNAL TABLE IF NOT EXISTS import.zbd_t_product_comparison ( gcjt_syb_desc STRING...
2018-07-20 09:03:46
3709
2
原创 PowerDesigner经验——从sql生成pdm(name字段值为sql中的comment描述值)
从已有的sql生成pdm的过程如下:1、如图点击:2、选择sql匹配的数据库:3、点击确定后,在弹出的对话框中添加sql脚本:4、点击确定后,就会生成表:5、刚生产的pdm表中的name字段和code字段值是一致的,要想name字段为sql中的comment字段描述一致,需要如下操作:点击 【Tools】-【Execute Commands】-【Run Script】6、在Edit/Run Scr...
2018-07-05 08:40:08
9565
2
原创 Spring整合Quartz时,任务类中无法注入Bean的问题
项目中需要在tomcat启动时候就启动定时器运行定时任务,定时器采用在spring中集成quartz。但是遇到了在任务类中需要引用注入类,但是注入类对象zhuangbeietongService为空,故查询原因得知:Quartz初始化是自己的JobContext,不同于Spring的ApplicationContext,所以无法直接注入,导致使用时产生空指针异常!pub
2017-10-10 14:30:08
6532
1
原创 js onclick事件传变量时注意的问题
js 中onclick事件传变量时,注意需要转移符。正确:var setname="start";return '';不过如果是在一个方法内,通过鼠标获取列表选择行时,希望将该行的id或者其他值通过事件方法往下传时,不需要转移符:return '';没时间去检查为什么两者为什么不一样,有时间再补上。
2017-02-19 23:39:20
7326
2
原创 MySQL 级联删除需要注意的几点
当需要级联删除时,需要注意以下几点:1、父表和字表建表时,需要是InnoDB;2、在字表建表或者建表完成后添加级联约束:
2016-03-23 15:01:01
1388
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人