본문 바로가기

클라우드157

[AWS] EKS monitoring - AWS LB/ExternalDNS/EBS/EFS, kube-ops-view 설치 3주차 포스팅으로도 다뤘지만 4주차에도 동일하게 필요한 부분이라 별도 진행 부탁드립니다. kube-ops-view는 데브옵스하신다면 켜놓고 파드가 어디에 생성되는지 시각적으로 확인하면 작업에 용이할 것 같습니다. MyDomain= echo "export MyDomain=" >> /etc/profile MyDomain=gasida.link echo "export MyDomain=gasida.link" >> /etc/profile MyDnzHostedZoneId=$(aws route53 list-hosted-zones-by-name --dns-name "${MyDomain}." --query "HostedZones[0].Id" --output text) echo $MyDomain, $MyDnzHostedZo.. 2023. 5. 18.
[AWS] EKS monitoring - 4주차 이번주는 스터디를 통해 eks의 모니터링을 실습해봤는데요. 기존 프로메테우스와 그라파나의 조합으론 실습해 본 경험이 있었는데 EKS에서 AWS의 서비스를 통해 모니터링하는 부분이 인상 깊었습니다. AWS에서 신경써서 CRD를 만든 부분들이 섬세하면서 AWS에서 kubernetes를 사용하면 얻는 이점들을 부각 시킨 것 같아 csp사의 노력이 보입니다. 이번주 포스팅시작하겠습니다. 실습 환경은 이전 글 참고 부탁드립니다. 2023.05.18 - [클라우드/AWS] - [AWS] EKS monitoring - 4주차 원클릭배포 AWS LB/ExternalDNS/EBS/EFS, kube-ops-view 설치 2023.05.18 - [클라우드/AWS] - [AWS] EKS monitoring - AWS LB/E.. 2023. 5. 18.
[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.
반응형