Skip to content

Latest commit

 

History

History
52 lines (43 loc) · 2.03 KB

eks-fargate.md

File metadata and controls

52 lines (43 loc) · 2.03 KB

EKS Fargate - Limitations

AWS Fargate is a serverless compute engine for containers that works with both Amazon Elastic Container Service (ECS) and Amazon Elastic Kubernetes Service (EKS). Fargate removes the need to provision and manage servers, lets you specify and pay for resources per application, and improves security through application isolation by design.

  • Limitations
    • There is a maximum of 4 vCPU and 30Gb memory per pod.
    • Currently there is no support for stateful workloads that require persistent volumes or file systems.
    • You cannot run Daemonsets, Privileged pods, or pods that use HostNetwork or HostPort.
    • The only load balancer you can use is an Application Load Balancer.

Kube-Visibility

Node-Exporter - Daemonset

If you deploy kube-visibility on an EKS Kubernetes cluster with workloads on Fargate, by default the kube-scheduler will attempt to deploy the node-exporter on the Fargate nodes.

The node-exporter pod will hang in a pending state because of the Fargate limitations.

Deactivate node-exporter from being scheduled on Fargate nodes.

affinity:
nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
    nodeSelectorTerms:
    - matchExpressions:
        - key: eks.amazonaws.com/compute-type
        operator: NotIn
        values:
        - fargate  

Full deployment patch manifest that can be applied on node-exporter

---
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: node-exporter
spec:
  template:
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: eks.amazonaws.com/compute-type
                operator: NotIn
                values:
                - fargate