게시글
질문&답변
2024.11.09
VPC CNI 네트워크 환경 확인 문의
안녕하세요. CloudNet@ 팀입니다. VPC CNI 관련해서 깊이 있게 확인하시고 질문주시것 같네요. 확인이 늦어져 답변이 늦어진 점 양해 말씀드립니다. 저도 VPC CNI 동작관련해서 살펴 보았을때 “최초 파드 생성”에 대한 이벤트의 전과 후에 따른 상태가 다른 것으로 파악되었습니다.최초 파드가 생성되지 않는 상태에서는 별도의 Secondary ENI를 생성하지 않고 Primary ENI만 가지고 있는 상태를 볼 수 있습니다. 최초 파드가 생성되지 않는 노드에는 VPC CNI가 파드의 네트워크 설정을 관리하는 행위를 기록한 plugin.log 파일이 보이지 않을 수 있습니다. 어찌 보면 별도의 행위를 하지 않았으니 자연스러울 수도 있겠네요. 참고로 실습 환경에서 최초 환경을 보자면 daemon set 형태가 아닌 파드는 coreDNS 파드 뿐입니다.그런 측면에서 coreDNS 파드가 위치한 노드에는 VPC CNI 동작에 의해 plugin.log 파일이 보일 것이며, 그것이 아닌 노드에는 대상 파일이 보이질 않겠네요. 관련 동작에 대한 이유는 VPC CNI의 동작 알고리즘이니 제 기준으로 답을 내리긴 어려워 보입니다ㅠㅠVPC CNI 동작은 이런 형태로 취하구나 정도로만 이해하면 좋을 것 같습니다. 좋은 질문과 자체적인 답변 감사드립니다.
- 0
- 2
- 30
질문&답변
2024.10.24
안녕하세요 ~ 궁금한 사항이 있습니다.
안녕하세요. CloudNet@ 팀입니다.일단 질문 내용은 아래와 같으며 이에 대한 답변드립니다."혹시 외부와 통신시에 고정 ip 1개로 통신하고 싶다면 워커노드를 프라이빗 서브넷에 배치후 NAT GateWay 를 통한 방법만 있을까요 ??" 질문주신 내용 그대로 해석하면 프라이빗 서브넷 환경을 구성하고 NAT GW 구성을 하는 방법 뿐이겠네요. 프라이빗 서브넷을 구성한다는 것은 외부에서 접근하는 노출을 막는 것이며, 구성된 자원의 외부 통신을 위해 NAT GW를 구성해야겠죠. 추가로 워커 노드를 프라이빗 서브넷을 구성하는 목적은 API 서버의 접근을 프라이빗하게 구성하는 것도 있습니다.강의 설명에도 있듯이 Endpoint Public Access와 Endpoint Public & Private Access와 Endpoint Private Access가 있다고 설명드렸죠.관련 내용 설명은 별도로 드리진 않고 아래 그림으로 갈음하겠습니다.(사진)감사합니다.
- 0
- 2
- 39
질문&답변
2024.10.20
Karpenter VPC 질문입니다.
안녕하세요. CloudNet@ 팀입니다. 질문하신 내용에 대해 답변드립니다.먼저 Karpenter Preconfig로 배포하는 VPC는 EKS Bastion Host가 구성되는 네트워크 환경입니다. 참고로 EKS Bastion Host는 EKS Cluster를 관리하는 목적으로 사용되는데요.현재 API Endpoint 접근이 퍼블릭 액세스로 특별한 제약 없이 외부 통신만 가능하면 됩니다. 그래서 별도의 VPC에 퍼블릭 환경으로 구성한 것이죠. 반면 eksctl 명령으로 EKS 클러스터를 구성할 때 별도의 VPC를 지정하지 않으면, 자동으로 신규 VPC와 서브넷을 자동으로 생성하고 배포됩니다.이때 생성되는 VPC의 IP CIDR는 192.168.0.0/16이고 /19로 서브넷팅하여 퍼블릭 서브넷 3개와 프라이빗 서브넷 3개로 구성되네요. 정리해보면 CloudFormation을 통해 배포되는 VPC는 관리 용도의 Bastion Host를 위한 네트워크이고, eksctl로 배포되는 VPC는 클러스터의 네트워크로 서로 상관 관계가 없습니다.이러한 이유는 API 접근이 퍼블릭 액세스로 외부 인터넷을 통해 접근하기 때문인 것이죠.만약 프라이빗 액세스라면 VPC간 통신이 가능하도록 설정하거나, EKS Bastion Host가 클러스터 용도의 VPC에 존재해야 합니다. 추가로 eksctl로 배포할 때 발생하는 로그는 오류 메시지보다는 권고 사항을 알리는 목적으로 보입니다.IRSA를 통해 권한을 위임하는 방식에서 EKS Pod Identity로 위임하는 방식을 권고하는 것인데요. 참고로 Pod Identity는 파드에 대한 AWS 자원의 접근을 권한을 정의하는 새로운 방식으로 AWS에서 밀고 있는 방식입니다.이부분은 참고만 하세요~! 감사합니다.
- 0
- 1
- 54
질문&답변
2024.10.16
강의 수강기간 연장에 대하여
안녕하세요. CloudNet@ 팀입니다.요청하신 건에 대해 3개월 연장해두었습니다.감사합니다 :)
- 0
- 2
- 33
질문&답변
2024.10.12
EKS 클러스터 및 관리형 노드 그룹 생성에서 에러나시는 분들
안녕하세요. CloudNet@ 팀입니다. CloudFormation을 통해 생성된 myeks-host에는 userdata 정의로 키 파일을 자동으로 생성하고 있습니다. 아래와 같이 말이죠.# Create SSH Keypair ssh-keygen -t rsa -N "" -f /root/.ssh/id_rsa 참고로 위에서 생성한 id_rsa 키는 ssh 접근을 할 때, 별도의 키 경로를 지정하지 않으면 인식하는 키입니다. 근본적으로 eksctl 명령으로 클러스터를 생성할 때 ssh-access를 활성화하면 public key를 지정하는 것은 맞습니다.여기서 별도의 public key를 지정하지 않는다면? 자동으로 키 경로 값이 들어가는데요.... ssh: allow: true publicKeyPath: ~/.ssh/id_rsa.pub그러면 앞서 생성한 id_rsa 키를 사용해서 동작하겠네요. 이로써 별도의 ssh 키 지정이 없어도 해당 키를 사용해서 접속합니다. 질문자 분의 테스트 환경이 어떤 부분이 달라서 증상이 나오는지 모르겠지만 아래와 같은 사항을 점검해 보면 좋겠네요. 1) ~/.ssh/id_rsa와 ~/.ssh/id_rsa.pub이 존재하는 확인2) eksctl로 클러스터를 배포할 때 --dry-run 옵션을 추가하고 ssh 영역의 publicKeyPath 설정 확인 감사합니다.
- 0
- 3
- 78
질문&답변
2024.10.03
강의가 오늘까지라
안녕하세요. CloudNet@ 팀입니다.인프런 일시적인 현상인지 모르겠네요.일단 해당 강의 기한을 연장해 두었으니 나머지 부분도 잘 들어주시면 될 것 같습니다.감사합니다.
- 0
- 2
- 29
질문&답변
2024.09.28
ingress 도메인 연결 문의
안녕하세요. CloudNet@ 팀입니다. 먼저 개인적인 일이 있어서 질문 확인이 늦어진 점 양해 말씀드립니다.질문하신 내용에 대해 인프런 AI 인턴에서 어느정도 답변을 달아준것 같은데요. 작성하신 글을 보니 aws-load-balancer-controller에서 Webhook을 통한 유효성 검사에 실패한 것으로 보이네요. 실패한 이유는 aws-load-balancer-webhook-service에 연결할 수 없는 것이고요. 먼저 정상적인 aws-load-balancer-controller 설치에 대해 확인이 필요해 보입니다.앞서 AI 인턴 답변으로 생성된 확인 요청에 대해 체크해 보시고 코멘트 부탁드립니다. 그리고 왜 이러한 증상이 나오는지 저도 재현 테스트를 해보고 싶습니다.강의 내용에서 어느 파트를 진행하다 발생하는지와 당시 설정에서 특이점이 있을만한 부분에 대해 사소한 것이라도 얘기해 주시면 도움이 될 것같습니다. 우선적으로 기본적인 확인 작업이 끝나면 그 밖에 문제가 일어날 수 요소에 대해 점검해 보도록 하시죠. 감사합니다.
- 0
- 2
- 101
질문&답변
2024.09.20
연장
안녕하세요. CloudNet@ 팀입니다.수강 기간 연장해 두었으니 반영되었는지 확인바랍니다.감사합니다.
- 0
- 2
- 51
질문&답변
2024.09.04
PDF 학습 자료 요청드렸는데 언제 받을 수 있을까요
안녕하세요. CloudNet@ 팀입니다. PDF 파일은 강의 학습 자료에서 받을 수 있고요.읽기 전용 PPT라면 별도로 신청해주셔야 합니다.메일함 확인해보니 수신된 메일이 없네요.
- 0
- 1
- 66
질문&답변
2024.09.04
Karpenter 설정
안녕하세요. CloudNet@ 팀입니다. 일단 말씀하신대로 Karpenter 실습은 기존 원클릭 배포와 다르게 기본 인프라 구성 후 eksctl 명령으로 EKS Cluster를 배포하고 있습니다.아무래도 Karpenter에 의해 노드에 구성된 자원을 컨트롤 하기 위해 구성된 다양한 Add-On이나 자원이 방해가 되기 때문이죠.뭐 방해라기 보단 원하는 형태로 컨트롤하기 힘들어 실습 환경을 위해 최소화한 부분입니다. 질문 내용 중에서 “Karpenter YAML에도 addons 및 IAM을 추가한 전체 파일을 볼 수 있을까요?”라고 하셨는데… 기존 원클릭 배포에서 Karpenter 구성을 위한 설정을 포함한 CloudFormation 파일을 말씀하시는 걸까요?공교롭게… 그렇게 구성된 CloudFormation 파일은 없습니다. 기존 원클릭 배포 후 Karpenter 설정을 위한 tag 구성, ServiceAccount 설정, IAM 설정을 수동으로 하는 것을 권장합니다. 그래도 기존 원클릭 배포 파일 기준으로 가이드를 드려보자면… 1. EKS Cluster에 Tag 추가karpenter.sh/discovery: ${CLUSTER_NAME}tags 정보가 필요합니다.CloudFormation의 EC2 UserData 영역에서 tags 옵션을 추가합니다. [수정 전](사진) [수정 후]--tags karpenter.sh/discovery: ${ClusterBaseName} 옵션 추가 Karpenter Service Account 추가 ($ 하나 제거)iam: withOIDC: true serviceAccounts: - metadata: name: karpenter namespace: karpenter roleName: $${CLUSTER_NAME}-karpenter attachPolicyARNs: - arn:aws:iam::$${AWS_ACCOUNT_ID}:policy/KarpenterControllerPolicy-$${CLUSTER_NAME} roleOnly: true CloudFormation의 EC2 UserData 영역에서 SA 내용을 추가합니다.[수정 전](사진) [수정 후] ($ 하나 제거)- metadata: name: karpenter namespace: karpenter roleName: $${ClusterBaseName}-karpenter attachPolicyARNs: - arn:aws:iam::$${ACCOUNT_ID}:policy/KarpenterControllerPolicy-$${ClusterBaseName} roleOnly: trueirsa.yaml 영역에 내용 추가 IamIdentityMapping 추가 ($ 하나 제거)iamIdentityMappings: - arn: "arn:aws:iam::$${AWS_ACCOUNT_ID}:role/KarpenterNodeRole-$${CLUSTER_NAME}" username: system:node:{{EC2PrivateDNSName}} groups: - system:bootstrappers - system:nodes [수정 후] ($ 하나 제거)cat iamIdentityMappings.yaml iamIdentityMappings: - arn: "arn:aws:iam::$${ACCOUNT_ID}:role/KarpenterNodeRole-$${ClusterBaseName}" username: system:node:{{EC2PrivateDNSName}} groups: - system:bootstrappers - system:nodes EOT sed -i -n -e '/iamIdentityMappings:/r iamIdentityMappings.yaml' -e '1,$p' myeks.yamliamIdentityMappings.yaml 파일을 만들고 myeks.yaml에 내용을 주입합니다. 아무래도 직접 작업한 것이 아니라 코드를 보면서 생각한 부분을 가이드한 것이라 변수 호출이 올바르게 되고 동작할 지 확신할 순 없네요.명기된 내용이 정답은 아니며 가이드 용도로 참고해서 파일을 작성해 보시면 좋을 것 같네요. 감사합니다.
- 0
- 2
- 106