This document will guide you through the installation of the Falcon Operator and deployment of the following custom resources provided by the Falcon Operator:
- FalconAdmission with the Falcon Admission Controller image being mirrored from CrowdStrike container registry to ECR (Elastic Container Registry). A new AWS IAM Policy will be created to allow the operator to push to ECR registry.
- FalconContainer with the Falcon Container image being mirrored from CrowdStrike container registry to ECR (Elastic Container Registry). A new AWS IAM Policy will be created to allow the operator to push to ECR registry.
- FalconImageAnalyzer with the Falcon Image Analyzer image being pull from the CrowdStrike container registry.
- FalconNodeSensor custom resource to the cluster.
Important
-
The correct CrowdStrike Cloud (not Endpoint) subscription
-
CrowdStrike API Key Pair (if installing the CrowdStrike Sensor via the CrowdStrike API)
If you need help creating a new API key pair, review our docs: CrowdStrike Falcon.
Make sure to assign the following permissions to the key pair:
- Falcon Images Download: Read
- Sensor Download: Read
Click to expand
-
Set up a new Kubernetes cluster or use an existing one. The EKS cluster that runs Falcon Operator needs to have the IAM OIDC provider installed. The IAM OIDC provider associates AWS IAM roles with EKS workloads. Please review AWS documentation to understand how the IAM OIDC provider works before proceeding.
-
Provide the following AWS settings as environment variables:
export AWS_REGION=<my_aws_region>
export EKS_CLUSTER_NAME=<my_cluster_name>
- Install IAM OIDC on the cluster if it is not already installed:
eksctl utils associate-iam-oidc-provider --region "$AWS_REGION" --cluster "$EKS_CLUSTER_NAME" --approve
- Install the Falcon Operator by running the following command:
kubectl apply -f https://github.com/crowdstrike/falcon-operator/releases/latest/download/falcon-operator.yaml
Click to expand
After the Falcon Operator has deployed, you can now deploy the Falcon Node Sensor:
- Deploy FalconNodeSensor through the cli using the
kubectl
command:kubectl create -n falcon-operator -f https://raw.githubusercontent.com/crowdstrike/falcon-operator/main/config/samples/falcon_v1alpha1_falconnodesensor.yaml --edit=true
Click to expand
- Create a new FalconContainer resource
kubectl create -f https://raw.githubusercontent.com/crowdstrike/falcon-operator/main/docs/deployment/eks/falconcontainer.yaml --edit=true
-
Open AWS Cloud Shell: https://console.aws.amazon.com/cloudshell/home
-
Install the operator & deploy Falcon Container Sensor
bash -c 'source <(curl -s https://raw.githubusercontent.com/crowdstrike/falcon-operator/main/docs/deployment/eks/run)'
[!NOTE] This script should be run as in the cloud shell session directly as some command line tools may be installed in the process.
Click to expand
- Create a new FalconAdmission resource
kubectl create -f https://raw.githubusercontent.com/crowdstrike/falcon-operator/main/docs/deployment/eks/falconadmission.yaml --edit=true
Click to expand
After the Falcon Operator has deployed, you can now deploy the Image Analyzer:
- Deploy FalconImageAnalyzer through the cli using the
kubectl
command:kubectl create -n falcon-operator -f https://raw.githubusercontent.com/crowdstrike/falcon-operator/main/config/samples/falcon_v1alpha1_falconimageanalyzer.yaml --edit=true
Click to expand
To upgrade, run the following command:
kubectl apply -f https://github.com/crowdstrike/falcon-operator/releases/latest/download/falcon-operator.yaml
If you want to upgrade to a specific version, replace latest
with the desired version number in the URL:
VERSION=1.2.3
kubectl apply -f https://github.com/CrowdStrike/falcon-operator/releases/download/${VERSION}/falcon-operator.yaml
Warning
It is essential to uninstall ALL of the deployed custom resources before uninstalling the Falcon Operator to ensure proper cleanup.
Click to expand
Remove the FalconNodeSensor resource by running:
kubectl delete falconnodesensor -A --all
Click to expand
Remove the FalconContainer resource. The operator will then uninstall the Falcon Container Sidecar Sensor from the cluster:
kubectl delete falconcontainers --all
Click to expand
Remove the FalconAdmission resource. The operator will then uninstall the Falcon Admission Controller from the cluster:
kubectl delete falconadmission --all
Click to expand
Remove the FalconImageAnalyzer resource. The operator will then uninstall the Falcon Image Analyzer from the cluster:
kubectl delete falconimageanalyzer --all
Click to expand
Delete the Falcon Operator deployment by running:
kubectl delete -f https://github.com/crowdstrike/falcon-operator/releases/latest/download/falcon-operator.yaml