kubernetes client 相关api

x33g5p2x  于2022-02-28 转载在 Kubernetes  
字(5.1k)|赞(0)|评价(0)|浏览(671)

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(); 操作

MethodHTTP requestDescription
createClusterCustomObjectPOST /apis/{group}/{version}/{plural}创建集群范围CRD资源对象
createNamespacedCustomObjectPOST /apis/{group}/{version}/namespaces/{namespace}/{plural}创建分区范围CRD资源对象
deleteClusterCustomObjectDELETE /apis/{group}/{version}/{plural}/{name}删除集群范围CRD资源对象
deleteNamespacedCustomObjectDELETE/apis/{group}/{version}/namespaces/{namespace}/{plural}/{name}删除分区范围CRD资源对象
getClusterCustomObjectGET /apis/{group}/{version}/{plural}/{name}获取集群范围CRD资源对象
getClusterCustomObjectScaleGET /apis/{group}/{version}/{plural}/{name}/scale获取集群范围CRD资源对象-scale
getClusterCustomObjectStatusGET /apis/{group}/{version}/{plural}/{name}/status获取集群范围CRD资源对象-状态
getNamespacedCustomObjectGET /apis/{group}/{version}/namespaces/{namespace}/{plural}/{name}获取分区范围CRD资源对象
getNamespacedCustomObjectScaleGET/apis/{group}/{version}/namespaces/{namespace}/{plural}/{name}/scale获取分区范围CRD资源对象-scale
getNamespacedCustomObjectStatusGET/apis/{group}/{version}/namespaces/{namespace}/{plural}/{name}/status获取分区范围CRD资源对象-状态
listClusterCustomObjectGET /apis/{group}/{version}/{plural}集群范围CRD资源对象列表
listNamespacedCustomObjectGET /apis/{group}/{version}/namespaces/{namespace}/{plural}分区范围CRD资源对象列表
patchClusterCustomObjectPATCH /apis/{group}/{version}/{plural}/{name}更新集群范围CRD资源对象
patchClusterCustomObjectScalePATCH /apis/{group}/{version}/{plural}/{name}/scale更新集群范围CRD资源对象-scale
patchNamespacedCustomObjectStatusPATCH/apis/{group}/{version}/namespaces/{namespace}/{plural}/{name}/status更新分区范围CRD资源对象-状态
replaceClusterCustomObjectPUT /apis/{group}/{version}/{plural}/{name}替换集群范围CRD资源对象
replaceClusterCustomObjectScalePUT /apis/{group}/{version}/{plural}/{name}/scale替换集群范围CRD资源对象-scale
replaceClusterCustomObjectStatusPUT /apis/{group}/{version}/{plural}/{name}/status替换集群范围CRD资源对象-状态
replaceNamespacedCustomObjectPUT /apis/{group}/{version}/namespaces/{namespace}/{plural}/{name}替换分区范围CRD资源对象
replaceNamespacedCustomObjectScalePUT/apis/{group}/{version}/namespaces/{namespace}/{plural}/{name}/scale替换分区范围CRD资源对象-scale
replaceNamespacedCustomObjectStatusPUT/apis/{group}/{version}/namespaces/{namespace}/{plural}/{name}/status替换分区范围CRD资源对象-状态

三、Namespaces增删改查

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

MethodHTTP requestDescription
createNamespacePOST /api/v1/namespaces创建分区
deleteNamespaceDELETE/api/v1/namespaces/{name}删除分区
listNamespaceGET /api/v1/namespaces分区列表
patchNamespacePATCH/api/v1/namespaces/{name}更新分区内容
readNamespaceGET/api/v1/namespaces/{name}查询指定分区详情
replaceNamespacePUT/api/v1/namespaces/{name}替换分区内容

四、Node增删改查

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

MethodHTTP requestDescription
createNodePOST /api/v1/nodes创建节点
deleteCollectionNodeDELETE /api/v1/nodes删除多个节点
deleteNodeDELETE/api/v1/nodes/{name}删除节点
listNodeGET /api/v1/nodes节点列表
patchNodePATCH/api/v1/nodes/{name}更新节点
readNodeGET /api/v1/nodes/{name}查询指定节点
replaceNodePUT /api/v1/nodes/{name}替换指定节点内容
replaceNodeStatusPUT/api/v1/nodes/{name}/status修改节点状态

五、Pod增删改查

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

MethodHTTP requestDescription
createNamespacedPodPOST /api/v1/namespaces/{namespace}/pods创建pod
deleteCollectionNamespacedPodDELETE/api/v1/namespaces/{namespace}/pods删除多个pod
deleteNamespacedPodDELETE/api/v1/namespaces/{namespace}/pods/{name}删除pod
listNamespacedPodGET /api/v1/namespaces/{namespace}/podspod列表
patchNamespacedPodPATCH/api/v1/namespaces/{namespace}/pods/{name}更新pod
readNamespacedPodGET/api/v1/namespaces/{namespace}/pods/{name}查询指定pod
replaceNamespacedPodPUT/api/v1/namespaces/{namespace}/pods/{name}替换指定pod内容

六、Services增删改查

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

MethodHTTP requestDescription
createNamespacedServicePOST /api/v1/namespaces/{namespace}/services创建服务
deleteNamespacedServiceDELETE/api/v1/namespaces/{namespace}/services/{name}删除服务
listNamespacedServiceGET /api/v1/namespaces/{namespace}/services服务列表
patchNamespacedServicePATCH/api/v1/namespaces/{namespace}/services/{name}修改指定服务内容
readNamespacedServiceGET/api/v1/namespaces/{namespace}/services/{name}查询指定服务内容
replaceNamespacedServicePUT/api/v1/namespaces/{namespace}/services/{name}替换指定服务内容

七、Deployment增删改查

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

MethodHTTP requestDescription
createNamespacedDeploymentPOST /apis/extensions/v1beta1/namespaces/{namespace}/deployments创建应用
deleteCollectionNamespacedDeploymentDELETE/apis/extensions/v1beta1/namespaces/{namespace}/deployments删除多个应用
deleteNamespacedDeploymentDELETE/apis/extensions/v1beta1/namespaces/{namespace}/deployments/{name}删除应用
listNamespacedDeploymentGET /apis/extensions/v1beta1/namespaces/{namespace}/deployments应用列表
patchNamespacedDeploymentPATCH/apis/extensions/v1beta1/namespaces/{namespace}/deployments/{name}更新应用
readNamespacedDeploymentGET/apis/extensions/v1beta1/namespaces/{namespace}/deployments/{name}查询指定应用
replaceNamespacedDeploymentPUT/apis/extensions/v1beta1/namespaces/{namespace}/deployments/{name}替换指定应用内容

相关文章