import io.dekorate.kubernetes.annotation.KubernetesApplication; import io.dekorate.kubernetes.annotation.Port; import io.dekorate.kubernetes.annotation.Probe; @KubernetesApplication( name = "myapp", labels = "app=myapp", replicas = 3, ports = @Port(name = "http", containerPort = 8080), livenessProbe = @Probe(httpActionPath = "/health", initialDelaySeconds = 30, timeoutSeconds = 5), readinessProbe = @Probe(httpActionPath = "/ready", initialDelaySeconds = 20, timeoutSeconds = 5) ) public class MyApp { public static void main(String[] args) { } } <dependency> <groupId>io.dekorate</groupId> <artifactId>dekorate-annotations</artifactId> <version>1.15.1</version> </dependency> <dependency> <groupId>io.dekorate</groupId> <artifactId>kubernetes-annotations</artifactId> <version>1.15.1</version> </dependency> <dependency> <groupId>io.dekorate</groupId> <artifactId>kubernetes-generator</artifactId> <version>1.15.1</version> </dependency> <dependency> <groupId>io.dekorate</groupId> <artifactId>kubernetes-decorators</artifactId> <version>1.15.1</version> </dependency> yaml apiVersion: v1 kind: List items: - apiVersion: "apps/v1" kind: "Deployment" metadata: name: "${app.name}" labels: app: "${app.name}" spec: replicas: ${app.replicas} selector: matchLabels: app: "${app.name}" template: metadata: labels: app: "${app.name}" spec: containers: - name: "${app.name}" image: "${project.groupId}/${project.artifactId}:${project.version}" ports: - containerPort: ${app.port.http} name: http livenessProbe: httpGet: path: "${app.livenessProbe.httpActionPath}" port: http initialDelaySeconds: ${app.livenessProbe.initialDelaySeconds} timeoutSeconds: ${app.livenessProbe.timeoutSeconds} readinessProbe: httpGet: path: "${app.readinessProbe.httpActionPath}" port: http initialDelaySeconds: ${app.readinessProbe.initialDelaySeconds} timeoutSeconds: ${app.readinessProbe.timeoutSeconds}


上一篇:
下一篇:
切换中文