Kubernetes故障检测和自愈
在Kubernetes日常运维过程中,会出现各种各样的问题,例如:
- 节点CNI不可用,其它节点无法连接到故障节点的Pod
- Subpath方式挂载的Configmap,特定条件下出现Pod无限重启的问题
- 集群DNS服务器无法通过上游DNS解析外部名称
- 节点假死,…
Kustomize学习笔记
Kustomize是一个定制化K8S资源定义(YAML)的工具,它不使用Helm那样的模板,比较简单。定制化之后,原始的资源定义保持不变。
从1.14版本开始Kustomize作为Kubectl的一部分进行分发。
术语 | 说明 |
Base |
指会被其它定制(kus… |
Jenkins插件开发
通常我们基于Maven来开发Jenkins插件。
修改Maven配置文件,添加:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<profile> <id>jenkins</id> <repositories> <repository> <id>repo.jenkins-ci.org</id> <url>http://repo.jenkins-ci.org/public/</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>repo.jenkins-ci.org</id> <url>http://repo.jenkins-ci.org/public/</url> </pluginRepository> </pluginRepositories> </profile> |
插件项目的父POM通常设置为:
1 2 3 4 5 6 |
<parent> <groupId>org.jenkins-ci.plugins</groupId> <artifactId>plugin</artifactId> <version>3.43</version> <relativePath /> </parent> |
此POM为构件插件提供了合理的缺省配置, 修改属性以定制配置项:
这是一个Maven插件,用于构建Jenkins插件。
此目标用于创建一个新的插件项目骨架。目前已经废弃,应…
阅读全文OpenAPI学习笔记
OpenAPI是一套API规范( OpenAPI Specification ,OAS),用于定义RESTful API的接口。OpenAPI最初来自SmartBear的Swagger规范。
OpenAPI 目前的版本是3.0,当前Swagger和Ope…
阅读全文Maven插件开发
Maven本身只是一套框架,它的功能基于全部依赖于插件来实现。因此,掌握插件开发深度定制Maven的必修课。
插件本身也是Maven构件,构件标识的命名约定是 <yourplugin>-maven-plugin。不要命名为 maven-<yourplugin>-plugin,这种命名模式由官方插件(组标识 org.apache.maven.plugins)保留。
每个Maven插件包含一或多个Mojo,每个Mojo实现了一个插件目标(goal),Mojo通常编写为Java类。插件就是一系列Mojo的集合。
插件必须在自己的JAR包的 META-INF/maven/plugin.xml中提供描述符信息,你不需要手工编写描述符,使用Maven插件工具注解即可自动生成。
本章我们编写一个最简单的插件,它不需要参数,仅仅简单的打印一段消息。
可以将mojo理解为插件的一个目标(goal)的实现类。你需要使用…
阅读全文使用JFrog Artifactory管理构件
Artifactory是JFrog出品的全功能构件管理器。所谓构件,可以表示任何软件构建过程的产出,包括:Docker镜像、NPM包、RPM/Debian等操作系统安装包、Helm Chart、Maven构建,等等。
Artifactory包含一套产品,…
阅读全文安装和配置GitLab社区版
GitLab是由GitLab Inc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。它由 Ruby 写成。后来,一些部分用 Go 语言重写。
在典型安装下,GitLab使用Nginx或者Apache作为前端…
阅读全文