You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Fabric8 Java库的Ingress资源实现示例及Builder查询

使用Fabric8构建Ingress资源的示例

当然有!Fabric8 Kubernetes Client提供了专门的IngressBuilder来轻松构建Ingress资源,完全可以实现你给出的配置。下面是对应你提供的Ingress YAML的Java代码示例:

import io.fabric8.kubernetes.api.model.extensions.Ingress;
import io.fabric8.kubernetes.api.model.extensions.IngressBuilder;
import io.fabric8.kubernetes.api.model.extensions.IngressBackendBuilder;
import io.fabric8.kubernetes.api.model.extensions.IngressPathBuilder;
import io.fabric8.kubernetes.api.model.extensions.HttpIngressRuleValueBuilder;

public class IngressExample {
    public static void main(String[] args) {
        Ingress testIngress = new IngressBuilder()
                // 对应YAML里的apiVersion和kind
                .withApiVersion("extensions/v1beta1")
                .withKind("Ingress")
                // 配置metadata
                .withMetadata()
                    .withName("test-ingress")
                    // 添加rewrite-target注解
                    .addToAnnotations("nginx.ingress.kubernetes.io/rewrite-target", "/")
                    .endMetadata()
                // 配置spec规则
                .withSpec()
                    .addNewRule()
                        .withHttp(new HttpIngressRuleValueBuilder()
                                .addNewPath()
                                    .withPath("/testpath")
                                    .withBackend(new IngressBackendBuilder()
                                            .withServiceName("test")
                                            .withServicePort(80)
                                            .build())
                                    .endPath()
                                .build())
                        .endRule()
                    .endSpec()
                .build();

        // 这里可以将构建好的Ingress对象提交到Kubernetes集群
        // client.extensions().ingresses().inNamespace("your-namespace").createOrReplace(testIngress);
    }
}

额外提示

  • 如果你使用的是较新版本的Fabric8 Kubernetes Client,建议切换到networking.k8s.io/v1版本的Ingress API(extensions/v1beta1已被官方弃用),对应的Builder类会在io.fabric8.kubernetes.api.model.networking.v1包下,用法逻辑和上面示例一致,只需调整API版本和类导入路径。
  • 确保项目中已正确引入Fabric8 Kubernetes Client依赖,比如Maven项目需要添加fabric8-kubernetes-client的依赖坐标。

内容的提问来源于stack exchange,提问作者user_mda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:51:49