Interface ServiceProps

  • All Superinterfaces:
    software.amazon.jsii.JsiiSerializable, ResourceProps
    All Known Implementing Classes:
    ServiceProps.Jsii$Proxy

    @Generated(value="jsii-pacmak/1.73.0 (build 6faeda3)",
               date="2023-01-26T02:32:34.923Z")
    @Stability(Stable)
    public interface ServiceProps
    extends software.amazon.jsii.JsiiSerializable, ResourceProps
    Properties for `Service`.
    • Method Detail

      • getClusterIP

        @Stability(Stable)
        @Nullable
        default String getClusterIP()
        The IP address of the service and is usually assigned randomly by the master.

        If an address is specified manually and is not in use by others, it will be allocated to the service; otherwise, creation of the service will fail. This field can not be changed through updates. Valid values are "None", empty string (""), or a valid IP address. "None" can be specified for headless services when proxying is not required. Only applies to types ClusterIP, NodePort, and LoadBalancer. Ignored if type is ExternalName.

        Default: - Automatically assigned.

        See Also:
        https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
      • getExternalIPs

        @Stability(Stable)
        @Nullable
        default List<String> getExternalIPs()
        A list of IP addresses for which nodes in the cluster will also accept traffic for this service.

        These IPs are not managed by Kubernetes. The user is responsible for ensuring that traffic arrives at a node with this IP. A common example is external load-balancers that are not part of the Kubernetes system.

        Default: - No external IPs.

      • getExternalName

        @Stability(Stable)
        @Nullable
        default String getExternalName()
        The externalName to be used when ServiceType.EXTERNAL_NAME is set.

        Default: - No external name.

      • getLoadBalancerSourceRanges

        @Stability(Stable)
        @Nullable
        default List<String> getLoadBalancerSourceRanges()
        A list of CIDR IP addresses, if specified and supported by the platform, will restrict traffic through the cloud-provider load-balancer to the specified client IPs.

        More info: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/

      • getPorts

        @Stability(Stable)
        @Nullable
        default List<ServicePort> getPorts()
        The ports this service binds to.

        If the selector of the service is a managed pod / workload, its ports will are automatically extracted and used as the default value. Otherwise, no ports are bound.

        Default: - either the selector ports, or none.

      • getSelector

        @Stability(Stable)
        @Nullable
        default IPodSelector getSelector()
        Which pods should the service select and route to.

        You can pass one of the following:

        • An instance of Pod or any workload resource (e.g Deployment, StatefulSet, ...)
        • Pods selected by the Pods.select function. Note that in this case only labels can be specified.

        Default: - unset, the service is assumed to have an external process managing its endpoints, which Kubernetes will not modify.

        Example:

         // select the pods of a specific deployment
         const backend = new kplus.Deployment(this, 'Backend', ...);
         new kplus.Service(this, 'Service', { selector: backend });
         // select all pods labeled with the `tier=backend` label
         const backend = kplus.Pod.labeled({ tier: 'backend' });
         new kplus.Service(this, 'Service', { selector: backend });
         
      • getType

        @Stability(Stable)
        @Nullable
        default ServiceType getType()
        Determines how the Service is exposed.

        More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types

        Default: ServiceType.ClusterIP