All Projects → cloudfoundry-incubator → eirini-release

cloudfoundry-incubator / eirini-release

Licence: Apache-2.0 license
Helm release for Project Eirini

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to eirini-release

aks-multi-tenant-agic
This sample shows how to use the Application Gateway Ingress Controller in a multi-tenant AKS cluster to expose multiple instances of the same application, one for each tenant.
Stars: ✭ 27 (-27.03%)
Mutual labels:  helm, helm-chart
helm-unittest
BDD styled unit test framework for Kubernetes Helm charts as a Helm plugin.
Stars: ✭ 276 (+645.95%)
Mutual labels:  helm, helm-chart
kube-karp
☸ Add a floating virtual IP to Kubernetes cluster nodes for load balancing easily.
Stars: ✭ 104 (+181.08%)
Mutual labels:  helm, helm-chart
kubehelper
KubeHelper - simplifies many daily Kubernetes cluster tasks through a web interface. Search, analysis, run commands, cron jobs, reports, filters, git synchronization and many more.
Stars: ✭ 200 (+440.54%)
Mutual labels:  helm, helm-chart
aks-terraform-helm
Showcase for Azure, AKS, Terraform, Helm and Let's Encrypt
Stars: ✭ 23 (-37.84%)
Mutual labels:  helm, helm-chart
hull
The incredible HULL - Helm Uniform Layer Library - is a Helm library chart to improve Helm chart based workflows
Stars: ✭ 66 (+78.38%)
Mutual labels:  helm, helm-chart
pulsar-helm-chart
Official Apache Pulsar Helm Chart
Stars: ✭ 122 (+229.73%)
Mutual labels:  helm, helm-chart
cf-k8s-networking
building a cloud foundry without gorouter....
Stars: ✭ 33 (-10.81%)
Mutual labels:  cloudfoundry, eirini
khelm
A Helm chart templating CLI, kpt function and kustomize plugin
Stars: ✭ 46 (+24.32%)
Mutual labels:  helm, helm-chart
stackstorm-ha
K8s Helm Chart (βeta!) that codifies StackStorm (aka "IFTTT for Ops" https://stackstorm.com/) Highly Availability fleet as a simple to use reproducible infrastructure-as-code app
Stars: ✭ 74 (+100%)
Mutual labels:  helm, helm-chart
charts
Helm charts for creating reproducible and maintainable deployments of Polyaxon with Kubernetes.
Stars: ✭ 32 (-13.51%)
Mutual labels:  helm, helm-chart
octant-dashboard-turnkey
A turnkey Docker-ready and Kubernetes-ready Octant dashboard config
Stars: ✭ 40 (+8.11%)
Mutual labels:  helm, helm-chart
helm-zabbix
Helm Chart For Zabbix
Stars: ✭ 56 (+51.35%)
Mutual labels:  helm, helm-chart
thunder
REST API application that manages user databases
Stars: ✭ 22 (-40.54%)
Mutual labels:  helm, helm-chart
helm-charts
Source & Repo of https://charts.kubesphere.io/main & https://charts.kubesphere.io/test
Stars: ✭ 85 (+129.73%)
Mutual labels:  helm, helm-chart
litmus-helm
Helm Charts for the Litmus Chaos Operator & CRDs
Stars: ✭ 23 (-37.84%)
Mutual labels:  helm, helm-chart
charts
Public helm charts
Stars: ✭ 15 (-59.46%)
Mutual labels:  helm, helm-chart
helm-charts
docs.renovatebot.com/helm-charts
Stars: ✭ 51 (+37.84%)
Mutual labels:  helm, helm-chart
k8s-ovpn-chart
[DEPRECATED] Helm chart for a private OpenVPN server
Stars: ✭ 19 (-48.65%)
Mutual labels:  helm, helm-chart
Ingress
WIP Caddy 2 ingress controller for Kubernetes
Stars: ✭ 200 (+440.54%)
Mutual labels:  helm

Eirini Release

This is a helm release for Project Eirini. In a nutshell Eirini is a Kubernetes backend for Cloud Foundry, made in the effort to decouple Cloud Foundry from Diego, the only current option of a scheduler. It deploys CF apps to a kube backend, using OCI images and Kube deployments.

Installation

The following CFAR (Cloud Foundry Application Runtime) distributions deploy CF on top of Kubernetes and bundle Eirini with it:

Building the yaml release

To build the pure yaml files included in our release please run:

./scripts/render-templates.sh <system-namespace> <output-directory>

This will produce the yamls for all eirini components in separate directories. The components needed for cf-for-k8s are core, events and workloads.

Security

Security Overview

Of an overview of how secure Eirini is compared to other popular container runtimes please look at this table

Securing the Eirini Deployment

To learn about how you can use Kubernetes security primitives to make your deployment more secure, please take a look at our Security Guidelines.

Scalability

As of v1.5.0 a single instance of the eirini deployment can take a sustained load of 90 parallel desire LRP operations. A desire operation takes about 300ms on average when under load.

In order to better understand this result we have to state some condtitions that we assumed when performing the tests:

  • Performing well under load means that the eirini server will respond in less than 30s.
  • The tests were performed directly against the Eirini API (bypassing the cloud controller) and agains a sufficiently large cluster in order to make sure the eirini is the only bottleneck. So these results apply to eirini in isolation. The whole cf system will be as scalable as it's weakest subsystem.
  • There results describe the throughput of eirini itself. Our measurements apply from the moment a desire request is placed to the moment a stateful set is created on Kubernetes. These are not scalability results for Kubernetes.

For details about high availability see this doc.

Differences with Diego

We are working hard towards feature parity with Diego, but still there are some differences in behaviour

Environment variables

It is not possible to set environment variables containing : to your apps containers because of Kubernetes restrictions.

Docker images running with the root user

By default Eirini does not allow docker images running with the root user. Diego allows this because the application runs in a separate user namespace, which is not supported in Kubernetes as of now. However, you can configure Eirini to allow such docker images - see Security Guidelines for more information.

Task retries and parallelism

Tasks in Diego are run at most once and once completed you can determine whether they failed or not. In Eirini we run tasks as Jobs in Kubernetes with both completions and parallelism set to 1. However, as per the Kubernetes documentation, there is no guarantee that the task won't be ran more than once.

Troubleshooting

Disk full on blobstore

If all the CF apps are running, it is safe to delete all files in /var/vcap/store/shared/cc-droplets/sh/a2/ directory on the blobstore-0 pod. To do so, you can run this command:

kubectl exec -n <cf-system-namespace> blobstore-0 -c blobstore -- \
  /bin/sh -c 'rm -rf /var/vcap/store/shared/cc-droplets/sh/a2/sha256:*'

Resources

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].