원클릭으로
aws-eks
Amazon Elastic Kubernetes Service (EKS) for running Kubernetes on AWS. Use for container orchestration, deploying applications, managing clusters, and Kubernetes workloads on AWS.
메뉴
Amazon Elastic Kubernetes Service (EKS) for running Kubernetes on AWS. Use for container orchestration, deploying applications, managing clusters, and Kubernetes workloads on AWS.
Amazon SageMaker for building, training, and deploying machine learning models. Use for SageMaker AI endpoints, model training, inference, MLOps, and AWS machine learning services.
NVIDIA NeMo framework for building and training conversational AI models. Use for NeMo Retriever models, RAG (Retrieval-Augmented Generation), embedding models, enterprise search, and multilingual retrieval systems.
AWS Prescriptive Guidance for best practices and architectural patterns. Use for AWS architecture recommendations, SageMaker AI endpoints guidance, deployment patterns, and AWS solution architectures.
NVIDIA API documentation for integrating NVIDIA services. Use for NVIDIA NIM (NVIDIA Inference Microservices), LLM APIs, visual models, multimodal APIs, retrieval APIs, healthcare APIs, and CUDA-X microservices integration.
NVIDIA NIM (NVIDIA Inference Microservices) for deploying and managing AI models. Use for NIM microservices, model inference, API integration, and building AI applications with NVIDIA's inference infrastructure.
| name | aws-eks |
| description | Amazon Elastic Kubernetes Service (EKS) for running Kubernetes on AWS. Use for container orchestration, deploying applications, managing clusters, and Kubernetes workloads on AWS. |
Comprehensive assistance with Amazon EKS development, cluster management, and Kubernetes workloads on AWS.
Trigger this skill when working with:
CriticalAddonsOnly taint# Simple cluster creation with default settings
eksctl create cluster --name my-cluster --region us-west-2
# With specific node configuration
eksctl create cluster \
--name my-cluster \
--region us-west-2 \
--nodegroup-name standard-workers \
--node-type t3.medium \
--nodes 3 \
--nodes-min 1 \
--nodes-max 4
Use when: Starting a new EKS cluster quickly with standard configuration.
# Command-line approach
eksctl create cluster --name auto-cluster --enable-auto-mode
# YAML configuration approach
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: my-auto-cluster
region: us-west-2
autoModeConfig:
enabled: true
# Leave nodePools empty for defaults (general-purpose, system)
nodePools: []
Use when: You want AWS to manage compute resources automatically without configuring node groups.
# Create namespace
kubectl create namespace eks-sample-app
# Deploy application
kubectl apply -n eks-sample-app -f - <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
name: eks-sample-deployment
spec:
replicas: 3
selector:
matchLabels:
app: eks-sample
template:
metadata:
labels:
app: eks-sample
spec:
containers:
- name: nginx
image: public.ecr.aws/nginx/nginx:latest
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: eks-sample-service
spec:
selector:
app: eks-sample
ports:
- port: 80
targetPort: 80
type: LoadBalancer
EOF
Use when: Deploying a simple application with load balancer exposure.
# Check add-on type
aws eks describe-addon-versions --addon-name metrics-server
# Install via AWS API
aws eks create-addon \
--cluster-name my-cluster \
--addon-name metrics-server \
--addon-version v1.0.0-eksbuild.1
# Verify installation
kubectl get deployment metrics-server -n kube-system
Use when: Adding the Kubernetes Metrics Server for resource monitoring and HPA.
# Deploy sample application
kubectl apply -f https://k8s.io/examples/application/php-apache.yaml
# Create autoscaler (scale between 1-10 pods at 50% CPU)
kubectl autoscale deployment php-apache \
--cpu-percent=50 \
--min=1 \
--max=10
# Check autoscaler status
kubectl get hpa
# Generate load to test scaling
kubectl run -i --tty load-generator --rm --image=busybox:1.28 --restart=Never -- /bin/sh -c "while sleep 0.01; do wget -q -O- http://php-apache; done"
Use when: Implementing automatic scaling based on CPU utilization.
apiVersion: apps/v1
kind: Deployment
metadata:
name: critical-addon
namespace: kube-system
spec:
replicas: 2
selector:
matchLabels:
app: critical-addon
template:
metadata:
labels:
app: critical-addon
spec:
# Select system node pool
nodeSelector:
eks.amazonaws.com/compute-type: auto
karpenter.sh/nodepool: system
# Tolerate system node taint
tolerations:
- key: CriticalAddonsOnly
operator: Exists
effect: NoSchedule
containers:
- name: app
image: critical-app:latest
Use when: Running critical infrastructure components on dedicated system nodes in EKS Auto Mode.
# Create trust policy
cat > eks-cluster-role-trust-policy.json <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "eks.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
EOF
# Create IAM role
aws iam create-role \
--role-name myEKSClusterRole \
--assume-role-policy-document file://eks-cluster-role-trust-policy.json
# Attach required policy
aws iam attach-role-policy \
--role-name myEKSClusterRole \
--policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy
Use when: Setting up IAM permissions for EKS cluster control plane.
# Create namespace
kubectl create namespace prometheus
# Add Helm repository
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
# Install Prometheus
helm install prometheus prometheus-community/prometheus \
--namespace prometheus \
--set alertmanager.persistentVolume.storageClass="gp2" \
--set server.persistentVolume.storageClass="gp2"
# Port forward to access dashboard
kubectl port-forward -n prometheus deploy/prometheus-server 9090
Use when: Setting up comprehensive monitoring for your EKS cluster.
# Create cluster with IPv6
aws eks create-cluster \
--name my-ipv6-cluster \
--kubernetes-network-config ipFamily=ipv6 \
--vpc-config subnetIds=subnet-xxx,subnet-yyy,securityGroupIds=sg-xxx \
--role-arn arn:aws:iam::account-id:role/myEKSClusterRole
# Get IPv6 service CIDR
aws eks describe-cluster \
--name my-ipv6-cluster \
--query cluster.kubernetesNetworkConfig.serviceIpv6Cidr \
--output text
Use when: Building IPv6-native clusters to avoid IPv4 address exhaustion.
# Create namespace
kubectl create namespace game-2048 --save-config
# Deploy application with ingress
kubectl apply -n game-2048 -f https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.8.0/docs/examples/2048/2048_full.yaml
# Get ingress address
kubectl get ingress -n game-2048
# Output will show ALB address:
# NAME CLASS HOSTS ADDRESS PORTS AGE
# ingress-2048 alb * k8s-game2048-ingress2-xxx.region.elb.amazonaws.com 80 30s
Use when: Exposing applications via AWS Application Load Balancer with Kubernetes Ingress.
This skill includes comprehensive documentation in references/:
When to read: Installing or managing cluster add-ons, configuring system node pools.
When to read: Creating new clusters, troubleshooting cluster issues, configuring monitoring.
When to read: Deploying applications, setting up monitoring, configuring autoscaling.
When to read: First-time EKS setup, onboarding new team members.
When to read: Configuring cluster networking, troubleshooting connectivity, setting up load balancers.
When to read: Managing compute resources, configuring node groups, setting up Fargate.
When to read: Implementing security best practices, configuring IAM permissions, certificate management.
When to read: API integration, advanced use cases, troubleshooting complex issues.
getting_started.md for fundamental concepts and your first clusternetworking.mdaddons.mdsecurity.mdnetworking.mdother.mdview command to read specific sections of large reference filesgetting_started.md → Example 1 (cluster creation) → Example 3 (deploy app) → Example 4 (add monitoring)
cluster_management.md → security.md (IAM) → networking.md (VPC/IPv6) → addons.md (install essentials) → deployment.md (deploy workloads)
cluster_management.md (observability dashboard) → nodes.md (node health) → networking.md (connectivity) → other.md (common issues)
Example 2 (create Auto Mode cluster) → nodes.md (understand node pools) → Example 6 (critical add-ons) → deployment.md (migrate workloads)
To refresh this skill with updated documentation: