kubernetes client 相关api

文章目录

kubernetes client 相关api

一、k8s-client-java选型

目前通过java操作k8s,开源版本共有两个:

和官网API一致性 社区活跃度 代码生成
kubernetes-client/java 根据k8s-openapi随之更新,一致性和更新频率高 目前不活跃 kubernetes-client/java提供了生成代码的通用跨语言工具,该工具托管在 kubernetes-client / gen存储库中
fabric8io/kubernetes-client 一致性低,更新慢;其中不支持k8s1.8和1.13 社区活跃,目前使用者多

二、CRD资源增删改查

使用 CustomObjectsApi apiInstance = new CustomObjectsApi(); 操作

Method HTTP request Description
createClusterCustomObject POST /apis/{group}/{version}/{plural} 创建集群范围CRD资源对象
createNamespacedCustomObject POST /apis/{group}/{version}/namespaces/{namespace}/{plural} 创建分区范围CRD资源对象
deleteClusterCustomObject DELETE /apis/{group}/{version}/{plural}/{name} 删除集群范围CRD资源对象
deleteNamespacedCustomObject DELETE/apis/{group}/{version}/namespaces/{namespace}/{plural}/{name} 删除分区范围CRD资源对象
getClusterCustomObject GET /apis/{group}/{version}/{plural}/{name} 获取集群范围CRD资源对象
getClusterCustomObjectScale GET /apis/{group}/{version}/{plural}/{name}/scale 获取集群范围CRD资源对象-scale
getClusterCustomObjectStatus GET /apis/{group}/{version}/{plural}/{name}/status 获取集群范围CRD资源对象-状态
getNamespacedCustomObject GET /apis/{group}/{version}/namespaces/{namespace}/{plural}/{name} 获取分区范围CRD资源对象
getNamespacedCustomObjectScale GET/apis/{group}/{version}/namespaces/{namespace}/{plural}/{name}/scale 获取分区范围CRD资源对象-scale
getNamespacedCustomObjectStatus GET/apis/{group}/{version}/namespaces/{namespace}/{plural}/{name}/status 获取分区范围CRD资源对象-状态
listClusterCustomObject GET /apis/{group}/{version}/{plural} 集群范围CRD资源对象列表
listNamespacedCustomObject GET /apis/{group}/{version}/namespaces/{namespace}/{plural} 分区范围CRD资源对象列表
patchClusterCustomObject PATCH /apis/{group}/{version}/{plural}/{name} 更新集群范围CRD资源对象
patchClusterCustomObjectScale PATCH /apis/{group}/{version}/{plural}/{name}/scale 更新集群范围CRD资源对象-scale
patchNamespacedCustomObjectStatus PATCH/apis/{group}/{version}/namespaces/{namespace}/{plural}/{name}/status 更新分区范围CRD资源对象-状态
replaceClusterCustomObject PUT /apis/{group}/{version}/{plural}/{name} 替换集群范围CRD资源对象
replaceClusterCustomObjectScale PUT /apis/{group}/{version}/{plural}/{name}/scale 替换集群范围CRD资源对象-scale
replaceClusterCustomObjectStatus PUT /apis/{group}/{version}/{plural}/{name}/status 替换集群范围CRD资源对象-状态
replaceNamespacedCustomObject PUT /apis/{group}/{version}/namespaces/{namespace}/{plural}/{name} 替换分区范围CRD资源对象
replaceNamespacedCustomObjectScale PUT/apis/{group}/{version}/namespaces/{namespace}/{plural}/{name}/scale 替换分区范围CRD资源对象-scale
replaceNamespacedCustomObjectStatus PUT/apis/{group}/{version}/namespaces/{namespace}/{plural}/{name}/status 替换分区范围CRD资源对象-状态

三、Namespaces增删改查

使用 CoreV1Api apiInstance = new CoreV1Api(); 操作

Method HTTP request Description
createNamespace POST /api/v1/namespaces 创建分区
deleteNamespace DELETE/api/v1/namespaces/{name} 删除分区
listNamespace GET /api/v1/namespaces 分区列表
patchNamespace PATCH/api/v1/namespaces/{name} 更新分区内容
readNamespace GET/api/v1/namespaces/{name} 查询指定分区详情
replaceNamespace PUT/api/v1/namespaces/{name} 替换分区内容

四、Node增删改查

使用 CoreV1Api apiInstance = new CoreV1Api(); 操作

Method HTTP request Description
createNode POST /api/v1/nodes 创建节点
deleteCollectionNode DELETE /api/v1/nodes 删除多个节点
deleteNode DELETE/api/v1/nodes/{name} 删除节点
listNode GET /api/v1/nodes 节点列表
patchNode PATCH/api/v1/nodes/{name} 更新节点
readNode GET /api/v1/nodes/{name} 查询指定节点
replaceNode PUT /api/v1/nodes/{name} 替换指定节点内容
replaceNodeStatus PUT/api/v1/nodes/{name}/status 修改节点状态

五、Pod增删改查

使用 CoreV1Api apiInstance = new CoreV1Api(); 操作

Method HTTP request Description
createNamespacedPod POST /api/v1/namespaces/{namespace}/pods 创建pod
deleteCollectionNamespacedPod DELETE/api/v1/namespaces/{namespace}/pods 删除多个pod
deleteNamespacedPod DELETE/api/v1/namespaces/{namespace}/pods/{name} 删除pod
listNamespacedPod GET /api/v1/namespaces/{namespace}/pods pod列表
patchNamespacedPod PATCH/api/v1/namespaces/{namespace}/pods/{name} 更新pod
readNamespacedPod GET/api/v1/namespaces/{namespace}/pods/{name} 查询指定pod
replaceNamespacedPod PUT/api/v1/namespaces/{namespace}/pods/{name} 替换指定pod内容

六、Services增删改查

使用 CoreV1Api apiInstance = new CoreV1Api(); 操作

Method HTTP request Description
createNamespacedService POST /api/v1/namespaces/{namespace}/services 创建服务
deleteNamespacedService DELETE/api/v1/namespaces/{namespace}/services/{name} 删除服务
listNamespacedService GET /api/v1/namespaces/{namespace}/services 服务列表
patchNamespacedService PATCH/api/v1/namespaces/{namespace}/services/{name} 修改指定服务内容
readNamespacedService GET/api/v1/namespaces/{namespace}/services/{name} 查询指定服务内容
replaceNamespacedService PUT/api/v1/namespaces/{namespace}/services/{name} 替换指定服务内容

七、Deployment增删改查

使用 ExtensionsV1beta1Api apiInstance = new ExtensionsV1beta1Api(); 操作

Method HTTP request Description
createNamespacedDeployment POST /apis/extensions/v1beta1/namespaces/{namespace}/deployments 创建应用
deleteCollectionNamespacedDeployment DELETE/apis/extensions/v1beta1/namespaces/{namespace}/deployments 删除多个应用
deleteNamespacedDeployment DELETE/apis/extensions/v1beta1/namespaces/{namespace}/deployments/{name} 删除应用
listNamespacedDeployment GET /apis/extensions/v1beta1/namespaces/{namespace}/deployments 应用列表
patchNamespacedDeployment PATCH/apis/extensions/v1beta1/namespaces/{namespace}/deployments/{name} 更新应用
readNamespacedDeployment GET/apis/extensions/v1beta1/namespaces/{namespace}/deployments/{name} 查询指定应用
replaceNamespacedDeployment PUT/apis/extensions/v1beta1/namespaces/{namespace}/deployments/{name} 替换指定应用内容
上一篇:NuGet引用项目可以自动转换为引用库


下一篇:SpringBoot2.x与Swagger2的整合