Код: Выделить всё
package com.example;
import io.kubernetes.client.openapi.ApiClient;
import io.kubernetes.client.openapi.Configuration;
import io.kubernetes.client.util.Config;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.logging.Level;
import java.util.logging.Logger;
public class KubernetesController {
private static final Logger LOGGER = Logger.getLogger(KubernetesController.class.getName());
private ApiClient client;
public KubernetesController() {
try {
String token = new String(Files.readAllBytes(Paths.get("/var/run/secrets/kubernetes.io/serviceaccount/token")));
ApiClient client = Config.fromToken("https://kubernetes.default.svc", token, false);
Configuration.setDefaultApiClient(client);
} catch (IOException e) {
throw new RuntimeException("Failed to initialize Kubernetes client", e);
}
}
public void start() throws Exception {
try {
LOGGER.info("Connected to cluster: " + client.getBasePath());
} catch (Exception e) {
LOGGER.log(Level.SEVERE, "Error", e);
throw e;
}
}
}
Код: Выделить всё
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.example
my-maven-project
0.0.1-SNAPSHOT
jar
my-maven-project
http://maven.apache.org
UTF-8
junit
junit
3.8.1
test
io.kubernetes
client-java
14.0.0
org.apache.maven.plugins
maven-compiler-plugin
3.8.1
1.8
1.8
org.apache.maven.plugins
maven-jar-plugin
3.2.0
true
lib/
com.example.App
Код: Выделить всё
FROM openjdk:11-jre-slim
COPY target/my-maven-project-0.0.1-SNAPSHOT.jar/ app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]
Код: Выделить всё
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-maven-project
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: my-maven-project
template:
metadata:
labels:
app: my-maven-project
spec:
serviceAccountName: costum-controller
containers:
- name: my-maven-project
image: sasa001/salvo:my-maven-project
imagePullPolicy: Always
ports:
- containerPort: 8080
Код: Выделить всё
Exception in thread "main" java.lang.NoClassDefFoundError: io/kubernetes/client/util/Config
at com.example.KubernetesController.(KubernetesController.java:20)
at com.example.App.main(App.java:7)
Caused by: java.lang.ClassNotFoundException: io.kubernetes.client.util.Config
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
... 2 more
Подробнее здесь: https://stackoverflow.com/questions/785 ... de-a-clust