k8s云原生-Fluid-如何使用其他语言(非Go语言)客户端

作者: K8S实践指南

Fluid 通过 kube-openapi 与 swagger-codegen 可以支持多种语言,包括 Java、Python等。

生成方法

$ cd $GOPATH/src/github.com/fluid-cloudnative
$ hack/sdk/gen-sdk.sh

hack/sdk/gen-sdk.sh 脚本会在 sdk 目录下自动生成 Python 和 Java client 代码。如果你想使用其他客户端,可以在脚本最下方加入这一行命令:

java -jar ${SWAGGER_CODEGEN_JAR} generate -i ${SWAGGER_CODEGEN_FILE} -l <language> -o ${JAVA_SDK_OUTPUT_PATH} -c ${SWAGGER_CODEGEN_CONF} --model-package com.github.fluid-cloudnative.fluid

如何使用

推荐直接使用 io.kubernetes:client-java 的 ApiClient 和 CustomObjectsApi。 只需要导入 com.github.fluid_cloudnative.fluid.* 的Api定义即可。

import io.kubernetes.client.openapi.ApiClient;
import io.kubernetes.client.openapi.apis.CustomObjectsApi;
import com.github.fluid_cloudnative.fluid.*;
public class MyExample {
    // generate this client from a kubeconfig file or something else
    ApiClient apiClient;
    public void createAlluxioRuntime(String namespace, AlluxioRuntime runtime) throws ApiException {
        CustomObjectsApi customObjectsApi = new CustomObjectsApi(apiClient);
        customObjectsApi.createNamespacedCustomObject(
                AlluxioRuntime.group,
                AlluxioRuntime.version,
                namespace,
                AlluxioRuntime.plural,
                runtime,
                "true"
        );
    }
    public AlluxioRuntime getAlluxioRuntime(String namespace, String name) throws Exception {
        CustomObjectsApi customObjectsApi = new CustomObjectsApi(apiClient);
        Object obj = customObjectsApi.getNamespacedCustomObject(
                AlluxioRuntime.group,
                AlluxioRuntime.version,
                namespace,
                AlluxioRuntime.plural,
                name
        );
        Gson gson = new JSON().getGson();
        return gson.fromJson(gson.toJsonTree(obj).getAsJsonObject(), AlluxioRuntime.class);
    }
    /*
    Note that currently ClientJava can only support merge-patch+json
    */
    public void patchAlluxioRuntime(String namespace, String name, String patchBody) throws ApiException {
        CustomObjectsApi customObjectsApi = new CustomObjectsApi(apiClient);
        customObjectsApi.patchNamespacedCustomObject(
                AlluxioRuntime.group,
                AlluxioRuntime.version,
                namespace,
                AlluxioRuntime.plural,
                name,
                patchpatchBody.getBytes()ody
        );
    }
}

文章列表

更多推荐

更多
  • Kubenetes扩展教程-三、API 流扩展 忽必烈 API Flow,身份验证网页挂钩,授权网页挂钩,动态准入控制器,关键要点,证明,服务器 API 配置库,服务器 API 配置库,Webhook 配置资源,> —埃隆·马斯克 >> 商业巨头、工业设计师、工程师Kuber
    Apache CN

  • Kubenetes扩展教程-四、扩展 Kubernetes API kuble API 概述,自定义资源定义和控制器,聚合的 API 和扩展服务器,关键要点,API 版本控制,API 组,库 API 中的扩展点,Kubernetes 客户库,Kubernetes 中的运算符模式,kubebuilder
    Apache CN

  • Kubenetes扩展教程-七、即将到来的扩展点 服务目录,集群 API,关键要点,结论,> —西奥多·罗斯福 >> 美国第 26 任总统Kubernetes 凭借其在云原生世界中的强大基础获得了成功。它提供了一组丰富的特性来管理容器化的应用,并提供了各种扩展点来添加新的功能。
    Apache CN

  • Kubenetes扩展教程-六、基础设施扩展 云原生基础架构,存储插件,网络插件,设备插件,关键要点,容器存储接口,kubernetes 中的 CSI 插件,库柏网络模型,容器网络接口(CNI),设备插件 API,设备插件的开发和部署,> —马克·扎克伯格 >> 美国企业家、脸
    Apache CN

  • Kubenetes扩展教程-五、调度扩展 库调度程序概述,配置和管理多个调度程序,调度程序扩展器,关键要点,调度框架,配置详细信息,> —圣雄甘地 >> 印度律师、政治家、社会活动家、作家 调度器是 Kubernetes 的核心部分,用于将工作负载分配给集群中的节点。分
    Apache CN

  • Kubenetes扩展教程-二、`kubectl`插件 二、kubectl插件kubectl 安装和使用,立方插件设计,创建您的第一个 kubectl 插件,插件库:krew,关键要点,> —马歇尔·麦克卢汉 >> 媒体学者和评论家 命令行工具是开发人员的瑞士军刀。您可以连接到后端系
    Apache CN

  • Kubenetes扩展教程-一、简介 忽必烈再世,Kubernetes 扩展模式,关键要点,控制平面组件,节点组件,配置 Kubernetes 集群,控制器,web 手册,二进制插件,立方扩展点,> 卡尔沙堡 >> 美国诗人、传记作家、记者和编辑,三次获得普利策奖K
    Apache CN

  • Azure Kubernetes微服务教程-六、AK 的 CI/CD 介绍,快速浏览 DevOps,本次练习的目标,使用 Azure 门户创建 Azure Kubernetes 服务,使用 Azure 门户创建 Azure 容器实例,使用 Visual Studio 构建示例应用,使用 Azure Dev
    Apache CN

  • Azure Kubernetes微服务教程-五、保护和监控 AKS 上运行的应用 介绍,安全概念,蓝色库柏服务清单,监控概念,摘要,主安全,节点安全性,集群升级,网络安全性,不可告人的秘密,安全概念:结论,容器洞察,Azure 监视器功能,介绍首先,祝贺你完成了本书的 60%。在阅读完架构设计和模式之后,
    Apache CN

  • Azure Kubernetes微服务教程-二、微服务:架构和设计考虑 介绍,微服务架构优势,衍生商业价值,定义面向目标的分层方法,应用面向目标的分层方法,微服务设计,微服务的系统方法,微服务设计流程,目标和原则,平台,文化,摘要,附录,模块性,粘结性,相互关系,微服务架构目标和优势的成熟度模型,服务,解决
    Apache CN

  • 近期文章

    更多
    文章目录

      推荐作者

      更多