Stratos on EKS
EKS Setup
Follow the instructions outlined in https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html to deploy an EKS cluster.
If you plan to deploy SCF in the cluster, make the following modifications when creating the worker nodes.
- Set
NodeInstanceTypetot2.large - Set
NodeInstanceVolumeto75
Helm Setup
Download the latest Helm release (at least 2.9 is required for RBAC support) from https://github.com/helm/helm/releases
Save the following to a file caleld helm-rbac.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: tiller
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: tiller
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: tiller
namespace: kube-system
Apply the configuration to the EKS cluster
$ kubectl apply -f helm-rbac.yaml
Install Helm
$ helm init --service-account tiller
Storage Classes
Stratos requires a storage class that is scoped to a single AZ.
To setup the scoped storage class, save the following to scoped_storage_class.yaml.
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: gp2scoped
provisioner: kubernetes.io/aws-ebs
parameters:
type: gp2
zone: "us-east-1a"
reclaimPolicy: Retain
mountOptions:
- debug
To create the storage class, execute the following:
$ kubectl apply -f scoped_storage_class.yaml
In this guide, the scoped storage class will be referred to as gp2scoped.
Stratos Deployment
To deploy Stratos on EKS, the following configuration overrides are required, save the following to a file named stratos-values.yaml.
storageClass: gp2scoped
useLb: true
Install stratos with Helm
$ helm install stratos/console -f stratos-values.yaml --namespace stratos --name stratos