Skip to content

Commit c534ba8

Browse files
committed
README: Clarify distinctions between IMDS and QP modes
1 parent 6efd62a commit c534ba8

File tree

1 file changed

+31
-26
lines changed

1 file changed

+31
-26
lines changed

README.md

Lines changed: 31 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -42,36 +42,41 @@ You can run the termination handler on any Kubernetes cluster running on AWS, in
4242

4343
## Major Features
4444

45-
### Instance Metadata Service Processor
46-
- Monitors EC2 Metadata for Scheduled Maintenance Events
47-
- Monitors EC2 Metadata for Spot Instance Termination Notifications
48-
- Monitors EC2 Metadata for Rebalance Recommendation Notifications
45+
Both modes (IMDS and Queue Processor) monitor for events affecting your EC2 instances, but each supports different types of events. Both modes have the following:
46+
4947
- Helm installation and event configuration support
5048
- Webhook feature to send shutdown or restart notification messages
51-
- Unit & Integration Tests
49+
- Unit & integration tests
50+
51+
### Instance Metadata Service Processor
52+
When running NTH in IMDS Processor mode, you must deploy as a Kubernetes DaemonSet.
53+
54+
- Monitors EC2 Instance Metadata for:
55+
- [Spot Instance Termination Notifications](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-instance-termination-notices.html)
56+
- [Scheduled Events](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html)
57+
- [Instance Rebalance Recommendations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/rebalance-recommendations.html)
5258

5359
### Queue Processor
54-
- Monitors an SQS Queue for:
55-
- EC2 Spot Interruption Notifications
56-
- EC2 Instance Rebalance Recommendation
57-
- EC2 Auto-Scaling Group Termination Lifecycle Hooks to take care of ASG Scale-In, AZ-Rebalance, Unhealthy Instances, and more!
58-
- EC2 Status Change Events
59-
- EC2 Scheduled Change events from AWS Health
60-
- Helm installation and event configuration support
61-
- Webhook feature to send shutdown or restart notification messages
62-
- Unit & Integration Tests
60+
When running NTH in Queue Processor mode, you must deploy as a Kubernetes Deployment. This mode also requires some additional infrastructure setup, such as an SQS queue and EventBridge rules.
6361

64-
## Which one should I use?
65-
| Feature | IMDS Processor | Queue Processor |
66-
| :-----------------------------------: | :------------: | :-------------: |
67-
| K8s DaemonSet |||
68-
| K8s Deployment |||
69-
| Spot Instance Interruptions (ITN) |||
70-
| Scheduled Events |||
71-
| EC2 Instance Rebalance Recommendation |||
72-
| ASG Lifecycle Hooks |||
73-
| EC2 Status Changes |||
74-
| Setup Required |||
62+
- Monitors an SQS Queue for:
63+
- Spot Instance Termination Notifications
64+
- Scheduled Events (via AWS Health)
65+
- Instance Rebalance Recommendations
66+
- ASG Termination Lifecycle Hooks to handle the following:
67+
- [ASG Scale-In](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html)
68+
- [Availability Zone Rebalance](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html)
69+
- [Unhealthy Instances](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-health-checks.html), and more
70+
- [Instance State Change events](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instance-state-changes.html)
71+
72+
### Which one should I use?
73+
| Feature | IMDS Processor | Queue Processor |
74+
| :-------------------------------------------: | :------------: | :-------------: |
75+
| Spot Instance Termination Notifications (ITN) |||
76+
| Scheduled Events |||
77+
| Instance Rebalance Recommendation |||
78+
| ASG Termination Lifecycle Hooks |||
79+
| Instance State Change Events |||
7580

7681

7782
## Installation and Configuration
@@ -425,7 +430,7 @@ For a full list of configuration options see our [Helm readme](https://github.co
425430

426431
#### Kubectl Apply
427432

428-
Queue Processor needs an **sqs queue url** to function; therefore, manifest changes are **REQUIRED** before using kubectl to directly add all of the above resources into your cluster.
433+
Queue Processor needs an **SQS queue URL** to function; therefore, manifest changes are **REQUIRED** before using kubectl to directly add all of the above resources into your cluster.
429434

430435
Minimal Config:
431436

0 commit comments

Comments
 (0)