类 KubernetesRuntime
- java.lang.Object
-
- org.apache.pulsar.functions.runtime.kubernetes.KubernetesRuntime
-
- 所有已实现的接口:
Runtime
public class KubernetesRuntime extends java.lang.Object implements Runtime
Kubernetes based runtime for running functions. This runtime provides the usual methods to start/stop/getfunctionstatus interfaces to control the kubernetes job running function. We first create a headless service and then a statefulset for starting function pods Each function instance runs as a pod itself. The reason using statefulset as opposed to a regular deployment is that functions require a unique instance_id for each instance. The service abstraction is used for getting functionstatus.
-
-
字段概要
字段 修饰符和类型 字段 说明 static java.util.regex.PatternVALID_POD_NAME_REGEX
-
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 static java.lang.StringcreateJobName(org.apache.pulsar.functions.proto.Function.FunctionDetails functionDetails, java.lang.String jobName)voiddeleteService()voiddeleteStatefulSet()static voiddoChecks(org.apache.pulsar.functions.proto.Function.FunctionDetails functionDetails, java.lang.String overridenJobName)java.util.concurrent.CompletableFuture<org.apache.pulsar.functions.proto.InstanceCommunication.MetricsData>getAndResetMetrics()java.lang.ThrowablegetDeathException()protected java.util.List<java.lang.String>getExecutorCommand()java.util.concurrent.CompletableFuture<org.apache.pulsar.functions.proto.InstanceCommunication.FunctionStatus>getFunctionStatus(int instanceId)java.util.concurrent.CompletableFuture<org.apache.pulsar.functions.proto.InstanceCommunication.MetricsData>getMetrics(int instanceId)java.lang.StringgetPrometheusMetrics()booleanisAlive()voidjoin()voidreinitialize()java.util.concurrent.CompletableFuture<java.lang.Void>resetMetrics()voidstart()The core logic that creates a service first followed by statefulset.voidstop()
-
-
-
方法详细资料
-
start
public void start() throws java.lang.ExceptionThe core logic that creates a service first followed by statefulset.
-
reinitialize
public void reinitialize()
- 指定者:
reinitialize在接口中Runtime
-
getDeathException
public java.lang.Throwable getDeathException()
- 指定者:
getDeathException在接口中Runtime
-
getFunctionStatus
public java.util.concurrent.CompletableFuture<org.apache.pulsar.functions.proto.InstanceCommunication.FunctionStatus> getFunctionStatus(int instanceId)
- 指定者:
getFunctionStatus在接口中Runtime
-
getAndResetMetrics
public java.util.concurrent.CompletableFuture<org.apache.pulsar.functions.proto.InstanceCommunication.MetricsData> getAndResetMetrics()
- 指定者:
getAndResetMetrics在接口中Runtime
-
resetMetrics
public java.util.concurrent.CompletableFuture<java.lang.Void> resetMetrics()
- 指定者:
resetMetrics在接口中Runtime
-
getMetrics
public java.util.concurrent.CompletableFuture<org.apache.pulsar.functions.proto.InstanceCommunication.MetricsData> getMetrics(int instanceId)
- 指定者:
getMetrics在接口中Runtime
-
getPrometheusMetrics
public java.lang.String getPrometheusMetrics() throws java.io.IOException- 指定者:
getPrometheusMetrics在接口中Runtime- 抛出:
java.io.IOException
-
deleteStatefulSet
public void deleteStatefulSet() throws java.lang.InterruptedException- 抛出:
java.lang.InterruptedException
-
deleteService
public void deleteService() throws java.lang.InterruptedException- 抛出:
java.lang.InterruptedException
-
getExecutorCommand
protected java.util.List<java.lang.String> getExecutorCommand()
-
createJobName
public static java.lang.String createJobName(org.apache.pulsar.functions.proto.Function.FunctionDetails functionDetails, java.lang.String jobName)
-
doChecks
public static void doChecks(org.apache.pulsar.functions.proto.Function.FunctionDetails functionDetails, java.lang.String overridenJobName)
-
-