Jump to contentJump to page navigation: previous page [access key p]/next page [access key n]
Applies to SUSE Cloud Application Platform 2.1.1

9 Eirini

Eirini, an alternative to Diego, is a scheduler for the Cloud Foundry Application Runtime (CFAR) that runs Cloud Foundry user applications in Kubernetes. For details about Eirini, see https://www.cloudfoundry.org/project-eirini/ and http://eirini.cf

Different schedulers and stacks have different memory requirements for applications. Not every combination is tested so there is no universal memory setting for Cloud Application Platform, and because it depends on the application deployed, it is up to the user to adjust the setting based on their application.

9.1 Limitations and Other Considerations

When using Eirini, it is important to take into consideration:

  • If you are upgrading from SUSE Cloud Application Platform 2.0.1 to 2.1.0 and plan to convert from Diego to Eirini, please upgrade your Diego environment to SUSE Cloud Application Platform 2.1.0 first and then migrate to Eirini as the earlier CAP versions relied a technical preview version of Eirini.

    In this situation, your current applications relying on the cflinuxfs3 stack need to be converted to the sle15 stack. You can re-push your applications with cf push APP_NAME -s sle15 to do so, otherwise your applications will crash on Eirini.

  • Applications on Eirini will require slightly more memory than on Diego. From testing, add an additional 32 MB to your application's manifest. The increase may vary, depending on your application.

  • TCP routing is not available in Eirini deployments at this time.

  • Eirini requires the k8s-metrics-server to be installed on the Kubernetes environment where SUSE Cloud Application Platform is installed in order for Stratos Metrics to work.

  • Stratos Metrics will not show disk stats on Eirini.

  • When there is a Kubernetes outage, Eirini will not automatically restart applications upon its return. You will need to manually start them up at present.

9.2 Enabling Eirini

  1. To enable Eirini, and disable Diego, add the following to your kubecf-config-values.yaml file.

    features:
      eirini:
        enabled: true

    When Eirini is enabled, both features.suse_default_stack and features.suse_buildpacks must be enabled as well. A cflinuxfs3 Eirini image is currently not available, and the SUSE stack must be used. By default, both the SUSE stack and buildpacks are enabled.

    Note
    Note
    • After enabling Eirini, you will still see the diego-api pod. This is normal behavior because the Diego pod has a component required by Eirini.

    • Eirini will only work on a cluster that has the parameter --cluster-domain set to cluster.local.

  2. Deploy kubecf.

    Refer to the following for platform-specific instructions:

  3. In order for Eirini to report application metrics, Metrics Server (link xlink:href="https://github.com/kubernetes-sigs/metrics-server"/> must be installed.

    Note that --kubelet-insecure-tls is not recommended for production usage, but can be useful in test clusters with self-signed Kubelet serving certificates. For production, use --tls-private-key-file.

    tux > helm install metrics-server stable/metrics-server --set args[0]="--kubelet-preferred-address-types=InternalIP" --set args[1]="--kubelet-insecure-tls"