2023.09.12 - [인프라/AWS] - AWS - EKS 실습
AWS - EKS 실습
AWS의 Elastic Kubernetes Service를 통해 로컬에서 만들었던 것 과 비슷한 환경을 구축 해볼 예정입니다. bastion 및 NAT Instance 겸용으로 사용할 인스턴스 한개와 두개의 워커 노드를 통해 만들어볼 예정입
younyellow.tistory.com
프라이빗 VPC 생성
참고
2023.09.12 - [인프라/AWS] - AWS NAT Gateway, NAT Instance
AWS NAT Gateway, NAT Instance
AWS에는 NAT Gateway와 NAT Instance은 private 사설망을 외부와 연결시키기 위해서 사용합니다. NAT Gateway 와 NAT Instance 비교 NAT Gateway NAT Instance AWS에서 관리하여 고가용성을 보장합니다. EC2와 동일 최대 100
younyellow.tistory.com
EKS생성
사전 설정
2023.09.05 - [인프라/Kubernetes] - AWS EKS 생성
AWS EKS 생성
2023.08.27 - [인프라/Kubernetes] - Kubernetes 실습 및 서비스 구축 Kubernetes 실습 및 서비스 구축 예상 k8s 서비스 아키텍쳐 Kubernetes 란? 쿠버네티스는 컨테이너화된 서비스를 쉽고 빠르게 배포,확장,관리
younyellow.tistory.com
참고
EKSCluster 유저에 권한 추가
IAMFullAccess,AmazonVPCReadOnlyAccess,EC2-Security-Group
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:DescribeSecurityGroups",
"ec2:DescribeSecurityGroupRules",
"ec2:DescribeTags"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:AuthorizeSecurityGroupIngress",
"ec2:RevokeSecurityGroupIngress",
"ec2:AuthorizeSecurityGroupEgress",
"ec2:RevokeSecurityGroupEgress",
"ec2:ModifySecurityGroupRules",
"ec2:UpdateSecurityGroupRuleDescriptionsIngress",
"ec2:UpdateSecurityGroupRuleDescriptionsEgress"
],
"Resource": [
"arn:aws:ec2:region:ap-northeast-2:security-group/*"
],
"Condition": {
"StringEquals": {
"aws:ResourceTag/Department": "Test"
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:ModifySecurityGroupRules"
],
"Resource": [
"arn:aws:ec2:region:ap-northeast-2:security-group-rule/*"
]
}
]
}
k8s 생성
cluster 인바운드 규칙 수정
Bastion(NAT Instance)서버에
kubectl 설치
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
aws-cli설치
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
apt install unzip
unzip awscliv2.zip
sudo ./aws/install
그 후 cli에 만들어두었던 유저로 로그인
aws configure
AWS Access Key ID [None]: [아이디 값]
AWS Secret Access Key [None]: [키 값]
Default region name [None]: ap-northeast-2
Default output format [None]:
aws cli를 통해 kubectl 설정 적용
aws eks update-kubeconfig --region ap-northeast-2 --name k8s-cluster
IAM role 생성
정책 연결
노드 그룹 생성
deployment 적용
aws-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-web-server1
spec:
replicas: 4
selector:
matchLabels:
app: my-web-server1
template:
metadata:
name: my-web-server1
labels:
app: my-web-server1
spec:
containers:
- name: my-web-server1
image: sihyun2/firstservice:v1
테스트
'인프라 > AWS' 카테고리의 다른 글
EKS auto scalling (0) | 2023.09.14 |
---|---|
EKS NLB,ALB (0) | 2023.09.14 |
다른 IAM 계정에서 EKS-Cluster 조작 방법 (0) | 2023.09.12 |
AWS NAT Gateway, NAT Instance (0) | 2023.09.12 |
AWS - EKS 실습 (0) | 2023.09.12 |