| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- package cn.seecoder.paas.util;
- import io.kubernetes.client.Exec;
- import io.kubernetes.client.openapi.ApiClient;
- import io.kubernetes.client.openapi.apis.AppsV1Api;
- import io.kubernetes.client.openapi.apis.CoreV1Api;
- import io.kubernetes.client.openapi.apis.ExtensionsV1beta1Api;
- import io.kubernetes.client.openapi.models.V1Pod;
- import io.kubernetes.client.openapi.models.V1PodList;
- import io.kubernetes.client.util.Config;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- @Configuration
- public class K8sApiConfiguration {
- private final ApiClient apiClient;
- private final CoreV1Api coreV1Api;
- private final AppsV1Api appsV1Api;
- private final ExtensionsV1beta1Api extensionsV1beta1Api;
- private final Exec exec;
- /**
- * http读取的超时时间设置为7分钟
- */
- private final ApiClient watchApiClient;
- private final CoreV1Api watchCoreV1Api;
- private final AppsV1Api watchAppsV1Api;
- @Autowired
- public K8sApiConfiguration(ApplicationProperties applicationProperties) {
- ApplicationProperties.K8s k8s = applicationProperties.getK8s();
- this.apiClient = Config.fromToken(k8s.getApiServer(), k8s.getToken(), k8s.isValidateSSL());
- this.apiClient.setDebugging(k8s.isDebug());
- io.kubernetes.client.openapi.Configuration.setDefaultApiClient(this.apiClient);
- this.coreV1Api = new CoreV1Api();
- this.appsV1Api = new AppsV1Api();
- this.extensionsV1beta1Api = new ExtensionsV1beta1Api();
- this.exec = new Exec();
- this.watchApiClient = Config.fromToken(k8s.getApiServer(), k8s.getToken(), k8s.isValidateSSL());
- this.watchCoreV1Api = new CoreV1Api(watchApiClient);
- this.watchAppsV1Api = new AppsV1Api(watchApiClient);
- }
- @Bean
- public ApiClient apiClient() {
- return apiClient;
- }
- @Bean
- public CoreV1Api coreV1Api() {
- return coreV1Api;
- }
- @Bean
- public AppsV1Api appsV1Api() {
- return appsV1Api;
- }
- @Bean
- public ExtensionsV1beta1Api extensionsV1beta1Api() {
- return extensionsV1beta1Api;
- }
- @Bean
- public Exec exec() {
- return exec;
- }
- @Bean
- public ApiClient watchApiClient() {
- return watchApiClient;
- }
- @Bean
- public CoreV1Api watchCoreV1Api() {
- return watchCoreV1Api;
- }
- @Bean
- public AppsV1Api watchAppsV1Api() {
- return watchAppsV1Api;
- }
- }
|