본문 바로가기

클라우드/AWS86

[AWS] EKS monitoring - 4주차 원클릭배포 매주 동일하게 환경 배포를 할 하는 방법부터 알려드리겠습니다. 스터디장 가시다님이 만들어 준건데 너무 편리합니다. 원클릭 배포 -cloud formation에 기입 링크 aws cli를 통한 배포 * 이번 실습환경은 123주차보다 높은 스펙의 인스턴스를 사용하기 때문에 빨리 실습하고, 리소스 삭제하셔야합니다. 더보기 aws cloudformation deploy --template-file eks-oneclick3.yaml --stack-name myeks --parameter-overrides KeyName=kp-gasida SgIngressSshCidr=$(curl -s ipinfo.io/ip)/32 MyIamUserAccessKeyID=AKIA5... MyIamUserSecretAccessKey='.. 2023. 5. 18.
[AWS] EKS backup (velero) 2023.05.13 - [클라우드/AWS] - [AWS] EKS EBS Snapshots EBS 스냅샷의 기능도 있지만 클러스터 단위의 전체 백업이 필요하거나 네임스페이스 단위의 백업이 필요한 경우 velero를 사용하게 된다. velero는 pv의 내용도 백업하기 때문에 EBS Snapshot 기능보다 백업 범위가 넓은 점 참고하여 테스트 진행해보자. 참고 (https://hanhorang31.github.io/post/pkos2-2-localstorage/) 생성 순서 1. s3 버킷 접근을 윈한 IAM USER ID 와 키 생성 aws s3 mb s3:// --region ap-northeast-2 2. 정책 추가 # 버킷 변수 설정 export BUCKET= # IAM Policy 생성 cat >.. 2023. 5. 13.
[AWS] EKS PV for instance store & 노드그룹 추가하기 PV for instance store을 사용하면 PV 속도가 향상된다. 이유는 이미 붙어놓은 이미지 타입이기 때문에 타인스턴스와 생성 속도 및 물리적인 속도가 다르기 때문이다. 아래의 예제를 통해 add workgroup을 추가하는 방법도 있으니 PV for instance store를 사용하지 안하더라도 노드그룹추가하는 예제를 익혀보면 좋을 것 같다. # 인스턴스 스토어 볼륨이 있는 c5 모든 타입의 스토리지 크기 aws ec2 describe-instance-types \ --filters "Name=instance-type,Values=c5*" "Name=instance-storage-supported,Values=true" \ --query "InstanceTypes[].[InstanceType.. 2023. 5. 13.
[AWS] EKS 프라이빗 서브넷에 NATGW 및 라우팅 정보 추가하여 외부 와 통신 시키기 아래와 같이 EKS에 프라이빗 환경이 외부와 통신이 필요하면 아래의 명령어로 진행하면 외부와 통신이 가능하다. 다만 NATGW비용이 비싸기 때문에 빠르게 테스트만 진행해본다. # 변수 지정 PrivateSubnetRouteTable=$(aws ec2 describe-route-tables --filters Name=tag:Name,Values=$CLUSTER_NAME-PrivateSubnetRouteTable --query 'RouteTables[0].RouteTableId' --output text) # NATGW 생성, Private 라우팅 정보 추가 curl -s -O https://s3.ap-northeast-2.amazonaws.com/cloudformation.cloudneta.net/K8S/.. 2023. 5. 13.
[AWS] EKS EFS Controller EKS에 EFS 컨트롤러를 사용하면 모든 인스턴스에 마운트하여 사용 가능하기 때문에 EBS처럼 pod가 특정 인스턴스에서만 생성되어야하는 번거로움이 없어졌다. EFS를 사용하는 것은 편하지만 속도면에선 EBS보다는 느릴 것이다. 속도가 중요한 pod 인지 아닌지 확인하여 적절하게 사용하는 것을 권장드립니다. Amazon EFS CSI driver - Amazon EKS spec.capacity is ignored by the Amazon EFS CSI driver because Amazon EFS is an elastic file system. The actual storage capacity value in persistent volumes and persistent volume claims isn't.. 2023. 5. 13.
[AWS] EKS EBS Snapshots AWS EBS를 사용하면 스냅샷이 가능한데 EKS를 통해 EBS를 연결했으면 동일한 기능인 스냅샷을 사용 할 수 있다. 설치 # (참고) EBS CSI Driver에 snapshots 기능 포함 될 것으로 보임 kubectl describe pod -n kube-system -l app=ebs-csi-controller # Install Snapshot CRDs curl -s -O https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/master/client/config/crd/snapshot.storage.k8s.io_volumesnapshots.yaml curl -s -O https://raw.githubusercontent.co.. 2023. 5. 13.
[AWS] EKS Strage EBS Controller EKS는 EBS controller를 사용해서 volum을 생성 후 pod의 데이터를 저장할 수 있다. persistentvolume, persistentvolumeclaim의 accessModes는 ReadWriteOnce로 설정해야 합니다. > 블록스토리지는 인스턴스 하나만 연결되기 때문에 ReadWriteOnce되어야합니다. CSI controller와 CSI Node가 필요합니다. *해당 방법도 블록스토리지도 인스턴스 하나와 연결되기 때문에 pod가 어떤 노드에 생성되는지에 따라 running 이 안 될수 있습니다. EBS CSI설치 1. ISRA설정 > CNI와 비슷 eksctl create iamserviceaccount \ --name ebs-csi-controller-sa \ --names.. 2023. 5. 13.
[AWS] EKS Storage 속도 (kubestr & sar) # kubestr 툴 다운로드 wget https://github.com/kastenhq/kubestr/releases/download/v0.4.37/kubestr_0.4.37_Linux_amd64.tar.gz tar xvfz kubestr_0.4.37_Linux_amd64.tar.gz && mv kubestr /usr/local/bin/ && chmod +x /usr/local/bin/kubestr # 스토리지클래스 점검 kubestr -h kubestr # 모니터링 watch 'kubectl get pod -owide;echo;kubectl get pv,pvc' ssh ec2-user@$N1 iostat -xmdz 1 -p nvme0n1 ssh ec2-user@$N2 iostat -xmdz 1 -p .. 2023. 5. 13.
[AWS] EKS Storage hostPath 실습 local-path-host-provider 생성하기 - 링크 curl -s -O https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml kubectl apply -f local-path-storage.yaml # 확인 kubectl get-all -n local-path-storage kubectl get pod -n local-path-storage -owide kubectl describe cm -n local-path-storage local-path-config kubectl get sc kubectl get sc local-path NAME PROVISIONER RE.. 2023. 5. 13.
[AWS] EKS 기본 컨테이너 환경의 임시파일 사용하기 2023.05.13 - [클라우드/AWS] - [AWS] EKS Storage 실습 환경 구축 위 링크에서 환경 구축하여 진행 부탁드립니다. 환경 AWS EKS 어플리케이션 설명 data 명령어를 10초 간격으로 /home/pod-out.txt 파일에 저장 실습 # 파드 배포 # date 명령어로 현재 시간을 10초 간격으로 /home/pod-out.txt 파일에 저장 curl -s -O https://raw.githubusercontent.com/gasida/PKOS/main/3/date-busybox-pod.yaml cat date-busybox-pod.yaml | yh kubectl apply -f date-busybox-pod.yaml # 파일 확인 kubectl get pod kubectl ex.. 2023. 5. 13.
[AWS] EKS Storage 실습 환경 구축 안녕하세요. 벌써 3주차 EKS 스토리지를 포스팅하게 되었는데요. 3주차에 cloud fomation에 원클릭 yaml이 수정되었는데 yaml 링크는 아래와 이전 포스팅을 참고하여 생성하시면 됩니다. 원클릭- 다운로드 링크 2023.05.02 - [클라우드/AWS] - [AWS] EKS 실습 ( 원클릭으로 생성하기 ) - 2 주차 원클릭이 아닌 aws cli로 하는 경우 펼쳐보기로 확인 부탁드립니다. 더보기 aws cloudformation deploy --template-file eks-oneclick2.yaml --stack-name myeks --parameter-overrides KeyName=kp-gasida SgIngressSshCidr=$(curl -s ipinfo.io/ip)/32 MyIa.. 2023. 5. 13.
[AWS] AWS Kube-pos-view 설치하기 kube-pos-view를 사용하면 웹페이지에 노드/파드의 추가/생성/삭제/진행 상황을 UI를 통해확인이 가능합니다. 한번 사용해보면 좋은 실습인 것 같아서 포스팅합니다. 준비물 AWS 계정 EKS route53에 도메인이 등록 실습 코드 # AWS LB Controller helm repo add eks https://aws.github.io/eks-charts helm repo update helm install aws-load-balancer-controller eks/aws-load-balancer-controller -n kube-system --set clusterName=$CLUSTER_NAME \ --set serviceAccount.create=false --set serviceAccou.. 2023. 5. 13.
반응형