Java-клиент Kubernetes имеет функции SDK для создания развертывания, сервисов и многих других основных функций kubernetes. Как я могу получить доступ к настраиваемым ресурсам, таким как запись службы istio, правила назначения, виртуальные службы, из java-клиента kubernetes?
Как подключиться к API Istio из java-клиента kubernetes?
comment
Istio установлен в выделенном пространстве имен под названием istio-system, поэтому я думаю, что вы можете использовать Java-клиент Kubernetes для доступа к службам/развертываниям, работающим в этом пространстве имен, что позволит вам получить доступ к этим ресурсам.
- person Anshul Jindal   schedule 21.05.2019
comment
Я так понимаю, что мы можем получить доступ к подам, сервисам istio, используя kubernetes api. Но мой вопрос заключается в том, как программно перечислить/создать/обновить виртуальные сервисы, правила назначения, ресурс входа в сервис. Я обновил свои вопросы с деталями соответственно.
- person Malathi   schedule 21.05.2019
Ответы (1)
Для подключения к 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);
person
Zeina
schedule
22.05.2019