Как подключиться к Istio api из Java-клиента Kubernetes? - PullRequest
1 голос
/ 21 мая 2019

Java-клиент Kubernetes имеет функции sdk для создания развертывания, службы и многие другие основные функции kubernetes.Как я могу получить доступ к пользовательским ресурсам, таким как доступ к сервису istio, правила назначения, виртуальные сервисы из клиента java kubernetes?

1 Ответ

2 голосов
/ 22 мая 2019

Для подключения к Istio вы можете использовать проект istio-java-api .В этом проекте используется тот же подход, что и в kubernetes-модели Fabric8.В приведенном ниже примере показано, как создать и создать VirtualService:

import me.snowdrop.istio.api.networking.v1alpha3.ExactMatchType;
import me.snowdrop.istio.api.networking.v1alpha3.VirtualService;
import me.snowdrop.istio.api.networking.v1alpha3.VirtualServiceBuilder;
import me.snowdrop.istio.client.DefaultIstioClient;
import me.snowdrop.istio.client.IstioClient;


Config config = new ConfigBuilder().withMasterUrl(masterURL).build();
IstioClient istioClient = new DefaultIstioClient(config);


VirtualService virtualService = new VirtualServiceBuilder()
        .withApiVersion("networking.istio.io/v1alpha3")
        .withNewMetadata()
        .withName("details")
        .endMetadata()
        .withNewSpec()
        .withHosts("*")
        .withGateways("system-gateway")
        .addNewHttp()
        .addNewRoute()
        .withNewDestination()
     	.withHost("service-example")
        .withNewPort()
        .withNewNumberPort(9900)
        .endPort()
	.endDestination()
        .endRoute()
        .endHttp()
        .endSpec()
        .build();
        
 istioClient.virtualService().create(virtualService);
...