묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결쿠버네티스 어나더 클래스-Sprint4 (#Promethues #Grafana #Loki #OpenTelemetry)
server-side옵션에 대해 궁금합니다.
annotations: kubectl.kubernetes.io/last-applied-configuration 부분을 kubectl에서 내용을 업데이트해준다 .kubernetes에서 알아서 내용들을 업데이트 해준게 아니라. 클라이언트가 동시에 리소스에 수정하게 될때 충돌을 관리하는데 유리하다. 그래서 server-side옵션을 주면 서버가 주도해서 이 리소스에 대한 모든 내용을 수정관리 해주기 때문에 리소스에 대한 충돌이 일어나지 않는다. . 모든 리소스가 이렇게 server-side로 관리하면 kubernetes가 부담되기 때문에 클라이언트가 이런내용들은 알아서 계산해서 저장 할때 같이 반영한다.이렇게 말씀하셨는데요...저 annotation부분의 내용은 실제 아래 리소스 yaml내용을 반영을 했다 client가~~~ 이런의미인가요?근데 저렇게 annotation 바로 밑에 kubectl.kubernetes.io/last-applied-configuration 항목에 저 내용들이 들어간들 무슨 의미가 있는지 궁금해요..실제 필요한건..그밑에 name,namespace 나 spec 이하부분들이 중요한거 아닌가요?거기에 추가로 server-side로 하면 client다른 수정과 충돌을 피한다고 했는데실무에서 운영인데 함부로 누가 같은 리소스를 따로 공유도 없이 수정할려고 들까요? 그런 상황이 있을리 만무하지 않나싶어요...그래서 결론은 client에서 누군가 수정을 동일리소스에 할거 같아서 server-side옵션을 주는건 발생하기 희박할거 같단 생각이 들고.그리고 yaml안에 last-applied-configuration이라 내용의 쓰임이...단순이 그냥 정보성정도아닌가 여쭤봅니다. 저 값들로 뭔가 하지않을것 같아서요
-
미해결쿠버네티스 어나더 클래스-Sprint4 (#Promethues #Grafana #Loki #OpenTelemetry)
containerd버전관련문의드려요
강사님이 언급하신 말씀중에리눅스버전을 설치를 하면서 연결되어 있는 레파지토리의 containerd 버전을 보면 이 버전이 최상위버전으로 레파지토리에 올라가 있다.이렇게 하셧는데...같은 rocky버전일텐데..yum --showduplicates list containerd.io또는dnf --showduplicates list containerd.io이 명령어로 확인하셨을가요?저는 해보면 32버전까지만 보여서요 containerd.io.x86_64 1.6.32-3.1.el8 docker-ce-stable
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
Elasticsearch 설치하기 강의에서 질문 있습니다.
맥에서 터미널을 이용해서 진행하고 계신데요윈도우에서 이렇게 하려면 어떻게 하면 되는지 자세하게 설명해 주셨으면 좋겠습니다.
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
강의 질문입니다.
안녕하세요.ElasticSearch 를 배우고자 수강 시작했습니다.이 강의는 유투브 에도 올리시고 계신데요, 인프런에 올리신 강의를 유투브에도 다 올리실 계획이신지요?
-
미해결쿠버네티스 어나더 클래스-Sprint4 (#Promethues #Grafana #Loki #OpenTelemetry)
Operator패턴에 대해 여쭤봅니다.
오퍼레이터 역할을 하는 컴포넌트를 개발을 해서 같이 배포를 시켜요---> 이부분은 첨부한 이미지에서 삼각형으로 deployment전체를 얘기하시는거죠? 거기에 operator는 그림에 하나만 괄호로 표시되어있는데 옆에 있는 다른pod도 같은 Operator인가요? 또 한가지는 오퍼레이터는 사용자가 CRD를 생성을 했을 때 watch로 감지를 받거나 필요시에 get으로 조회도 해서 CRD의 속성 값들을 확인하고 그 속성에 따라 secrets를변경을 합니다 ---> watch로 감지를 받는다(?)는데 저는 이 말자체가 와닿지 않아요 ㅠㅠ. 어떤의미인지~~그리고 crd생성 표시옆에 Opt라는게 CRD에서 갑자기 나와서 실체가 뭔가요? 그리고 이게 그림에서 Pod두개를 감시한다는건가요? 그림에서 표시된 Pod Operator 하나만을 감시한다는 뜻인가요?Opt라는게 뭔지요? Opt가 operator 를 감시를 하고 또 반대로 Operator에서 역으로 CRD 속성값을 확인하는건가요? 설령 crd속성값을 확인하는게 실제 값이 있는게 아니고 crd에는 속성정의만 했을뿐인데..속성값을 확인해서 어떤용도 어떻게 한다는건지도 이해가 안가네요 ㅠ 그림에서도 operator pod가 sercret를 변경이라고 표시되어있는데...crd 를 확인하면 그냥 속성 정의만 되어있는데...secret의 실제값은 어디에서 확인해서 변경한다는걸까요? 속성이름만을 변경한다는걸까요? secret에 변경하고자 하는 실제값은 어디있는걸까요?좀 헷갈립니다.^^
-
미해결쿠버네티스 어나더 클래스-Sprint4 (#Promethues #Grafana #Loki #OpenTelemetry)
CRD내용중에
CRD 패턴 말씀중에 이해가 필요해서 질문올려봅니다. 강의중 아래와 같이 말씀하셨습니다.crd를 보고 로직을 쿠버 개발자가 만들어 리소스를 생성하고 crd는 별도로 또 devops엔지니어가 crd를 만들도록 업무가 구별되어있나요?또 crd를 보고 쿠버 개발자가 한다고 하셨는데 또 반대로 구조를 만들어놓으면 거기에 맞게 crd를 devops엔지니어가 만든다는게...뭐가 뭔지 이해가 안갑니다.. ㅠㅠ 뭐가 우선인지~~ 그리고 보통 쿠버 운영하는사람이 다 하지 않나요? crd 만든사람 따로 쿠버 리소스 만드는사람 따로 있나요?myDatabase를 조회해서 안에 있는 속성을 보고 여러 리소스들을생성시키는 로직이 있어야 되는데 이건 직접 구현이 필요한 부분이고요 그래서 이렇게Kubernetes 개발자가 이런 구조를 만들어 놓으면 DevOps 엔지니어 엔지니어는 이 CRD를만들어서 쉽게 배포를 할 수가 있게 돼요
-
미해결비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
소통하면서 듣는 인터넷 강의?! 에 아무런 내용이 떠있지 않습니다.
-
해결됨실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
Elasticsearch 지난 2021년 1월 Elastic 은 소프트웨어 라이선스 전력 변경 - 관련 질문
안녕하세요 우선 좋은 강의 만들어 주셔서 정말 감사드립니다. 저희 회사가 ElasticSearch 기능을 이용해서 서버 구축을 해야 되는 상황이 왔는데요.영상 강의 말씀해주신 부분 들어보니 2021년 1월 부터 Elastic 소프트웨어 라이선스 관련 변경으로 AWS 에서 지원하는 서비스 https://aws.amazon.com/ko/opensearch-service/ 아마존 오픈서치 경우 7.10 버전부터 독자노선 통해 업데이트를 하고 있다고 이해를 했습니다. 그에 반면 Elastic Cloud(elasticsearch 개발한 회사) 경우는 계속 그대로 버전업을 하고 있다 라고 이해를 했습니다. 저희가 일단은 어쩔 수 없이 EC2를 직접 설치해서 해당 서버에서 elasticsearch 를 다운로드 해서 직접 설치하고 관리를 해야 되는 상황에 있는데요. (영상에서 말씀해주신 대로 "모니터링", "확장", "보안" 등 문제 있음) 그럼 EC2 에 elasticsearch 를 다운로드 해서 직접 설치 및 상용 서비스 운영 할 경우 7.10 이상부터는 안된다는 것도 (무료가 안된다는 말 입니다!!) 동일한가요??(검색을 해보았지만 제가 원하는 명쾌한 결과가 안나와서 이렇게 선생님에게 질문 드립니다.) 그럼 좋은 하루 보내시길 바랍니다! 감사합니다.
-
해결됨실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
[보충 강의] 비용 나가지 않게 Elastic Cloud 리소스 정리하기 - 영상 누락
[보충 강의] 비용 나가지 않게 Elastic Cloud 리소스 정리하기 영상 확인해보면 3초짜리 영상만 있습니다.그외 영상은 짤린거 같습니다.
-
해결됨실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
코드 에러 요청
Spring boot 코드 에서 완성본에CreateProductRequestDto클래스에 public CreateProductRequestDto() { }기본 생성자가 없어서 파씽 관련 에러가 발생되는거 같습니다.삭제 Controller 가보면public ResponseEntity<Void> deleteProduct(@PathVariable(name = "id") Long id) 이렇게 @Pathvariable 옵션에 name 을 명시적으로 지정하지 않으면 Spring Converter 내에 문제가 발생되는거 같습니다.(spring boot 최신 버전 한에...)
-
미해결쿠버네티스 어나더 클래스-Sprint4 (#Promethues #Grafana #Loki #OpenTelemetry)
DaemonSet 내용중에
Prometheus와 같은 서버역할을 하는 컴포넌트들은 사전에 이미 worker노드IP를 이미 알고 있는 상태라서DaemonSet에 설정된 containerPort 를 보고 각 노드별로 설치된 Pod를 호출해서 CPU와 메모리 데이터를 수집하는것이다.라고 하셨느데요서버역할을 한다고 표현하신게 무슨 의미인지 궁금합니다.그리고 Promethues가 저렇게 리소스 정보를 수집하기위해 별도로 저런 DaemonSet yml형태로 DaemonSet을 생성해야 하나요? 아니면 promethues 설치 패키지 안에 그런 Daemonset리소스(hostNework:true)를 생성하는게 포함되어있는건가요?
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
질문있습니다!!
안녕하세요, 강사님의 커리큘럼이 여러모로 정말 많은 도움이 되고있습니다!! 항상 잘보고 있습니다.질문이 있는데요, compose 파일을 통해서 이미지화하여 Elasticsearch를 활성화 시키는데, Docker의 Elasticsearch 이미지를 DockerHub에서 다운받는게 아니라 직접 yml파일을 작성해서 실행시키는 의도는 무엇인가요??
-
미해결개발자라면 알아야 할 redis 기본
key값에 대한 작성 컨벤션
좋은 강의 만들어주셔서 감사합니다. 질문드리고 싶은 내용은 key 값은 아래 처럼 리소스 관점에서 계층 방식, 스네이크 케이스로 작성하는게 일반적인 컨벤션인가요? user:email:1 user:email:{id} user:{id}:refresh_token 아래 강의에서 보여주신 user:email:{id} 은 리프레쉬 토큰의 예시랑 좀 다른 패턴인데, 무슨 차이가 있을까요?
-
미해결비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
alb에 있는 도메인을 프라이빗 서브넷에 있는 백엔드 서버에 연결하는 것이 맞는지 고민 중입니다.
위 그림은 제가 구현한 아키텍처입니다. 제 프론트 서버에서 도메인/api 경로로 백엔드로 요청을 보내기 때문에 ALB에 기본 도메인은 프론트서버로 라우팅, 도메인/api 주소는 백엔드 서버로 라우팅되게 하였습니다. 그런데 프라이빗 서브넷은 외부로부터 접근을 못하는 것에 의미가 있는데 도메인이 연결된 로드밸런서에 프라이빗 서브넷을 연결하면 route53에서 로드밸런서 ip주소에 요청을 보내고 로드밸런서는 /api가 붙어 있는 것을 확인하고 백엔드 서버 대상 그룹으로 요청을 보냅니다. 즉 백엔드 서버 자체의 공인ip가 없어도 사용자가 웹 브라우저에 https://grow-farm.com/api/auth/health 라고 적으면 백엔드 서버에 직접 요청을 할 수 있고 응답도 그대로 돌아옵니다 물론 이것은 헬스체크라서 열어둔거고 다른 API는 앱 내부 차원에서 프론트를 통한 요청으로만 접근 할 수 있게 조치는 취해놨지만 인프라 차원에서 서버가 개방되어있으니 이 설계가 베스트 프랙티스가 아닌 것 같다는 생각이 들었습니다. 제가 기존에 했던 방법으로 도메인을 가지고 있는 로드밸런서에서 프라이빗서브넷에 있는 ec2에 /api를 붙여서 경로를 붙이는 것이 자주 쓰이는 방법이고 제가 잘못 생각한 것이라 큰 문제가 없는지 궁금합니다! 만약 1번이 문제가 있는 방법이라면 대안으로 프론트 서버는 10.0.2.2 같은 백엔드 내부 ip주소로 요청을 보내게 코드를 바꾸고 로드밸런서에서 백엔드 서버를 해제하면 사용자들은 브라우저창에 10.0.2.2/api/auth/health 를 검색하더라도 백엔드 서버에 접근할 수 없는 숨겨진 공간이 될 수 있을 것 같은데 혹시 괜찮은 방법인지 궁금합니다.감사합니다!
-
해결됨비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
로드밸런서의 DNS로 들어가면 통신이 되는데 ip를 검색하면 안되는 경우는 어떤경우가 있을까요?
완강했습니다!! 처음 올린 질문이 해결이 되어서 질문을 수정했습니다!위 사진은 제가 만드려고 하는 아키텍쳐입니다사진에는 빠졌지만 alb도 있고 프론트서버에 연결되어있습니다현재까지는 프론트서버만 만든상태입니다.퍼블릭 서브넷에서 인터넷 게이트웨이 설치하고 접속이 되는건 확인했습니다.alb는 80,443 허용하였고 프론트는 22,80,443,3000허용하였습니다. (22는 나중에 배스천호스트로 옮길 생각입니다)대상그룹은 프론트 ec2로 설정하였고 http 3000으로 설정해서 healty 연결된걸 확인하였습니다.1. 로드밸런서의 dns로 들어가면 접속이 됩니다2. ec2내에서 로컬호스트로 들어가면 접속이 됩니다3. 도메인이나 ip를 검색하면 접속이 안됩니다4. 로컬에서 nslookup하면 제 서버 ip를 찾지 못합니다.어떤부분에서 빠뜨린게 있을까요? 이것저것 찾아보고 고민해도 해결이안되어서 4시간동안 찾다가 질문 드려봅니다 ㅠㅠ조금 걸리는 점은 제가 도메인사고 인증서받고나서 모든 ec2와 보안그룹들을 다 지워서 비용이 안 나가게한 적이 있습니다. 그 이후에 다시 vpc, ec2 등등 만들고 기존 도메인과 인증서를 연결했는데 인증서를 새로 발급받지 않고 기존 것을 쓴 것이 혹시 문제되지 않았을까? 라는 것이 약간 걸립니다그런데 도메인뿐만아니라 ec2의 ip로도 접근이 안되기 때문에 관련이 없다고 생각하여 그 부분은 건들지는 않았습니다 ㅠ
-
해결됨비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
프론트서버와 net인스턴스 서버는 nano 인스턴스로도 충분할까요??
제가 프론트서버 백서버 NAT인스턴스 역할을 하는 서버 이렇게 EC2를 3개 쓰려구합니다!!백서버는 프리티어인 t2.micro로 하고프론트서버는 t4g.nano로 하려고합니다1. 프론트서버라 메모리가 백서버만큼 먹진않을거같고2. t4g.nano가 nano중에 제일 싼데 성능은 제일 좋고3. arm64기반이긴한데 Next.js 서버가 충분히 호환된다고 들어서입니당Net인스턴스서버는 t3a.nano 쓰려고합니다1. Net게이트웨이 대용이라 nano면 충분할거같고2. Net Ami가 x86_64기반이라 arm64기반은 어려워 t4g.nano는 쓰지못하여 다음으로 저렴한 x86_64기반인 t3a.nano를 택했습니다근데 걱정이 일단 t2.micro의 성능은 확인해서 백서버가 돌아가는건 확인했는데 nano인스턴스들이 프론트서버와 net인스턴스의 제 역할을 해줄지 성능이 부족하진 않을지 걱정이네요 ㅠㅠ 혹시 이정도면 충분한 성능이 될까용??
-
해결됨비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
이 경우에는 인프라 설계를 어떤식으로 해야 비용을 가장 절감할 수 있을까요?
안녕하세요 강의를 보면서 실제 운영할 서비스를 AWS에 올리고 있습니다지금 AWS 기본편을 끝내고 중급편을 수강중입니다. 프리티어 사용중이고 서버는 스프링부트 프론트는 Next.js로 만들었습니다.저는 로컬에서 도커 이미지를 프론트, 백 각각 만들어서 Elastic Continer Registry로 전송하고 EC2 하나의 인스턴스에서 두개의 이미지를 다 받아와서 사용중입니다.DB는 RDS쓰고 있습니다. 기본편을 보고 따라 만들었지만 실제 운영할 목적이라 조금 변화를 주면서 따라했습니다.RDS의 보안그룹의 인바운드 규칙은 EC2의 인바운드 규칙을 포함시켰고 추가규칙으로 제 IP로만 접근가능하게 했습니다 .로드밸런서는 대상그룹을 프론트, 백 2개 만들어서 기본은 프론트로 보내고 /api/루트는 백으로 보내게 했습니다. 기타 보안그룹 설정도 조금씩 바꾸었어요사진은 서비스의 인프라 흐름 입니다 그런데 RDS와 EC2 공인ip 할당받은게 2개니 하루에 0.24달러 나가는 것은 알고있었는데확인해보니 VPC에서 하루에 0.72달러씩 나가고 있더라고요 아직 중급편 초반부라 서브넷 배우고 있어서 중급에서 추가로 설정한건 없습니다. 0.24달러가 나가야하는데 0.72달러가 나갔는데 제가 변화를 준 것 중에 추가로 돈이 나갈만한 것이 있었는지 궁금합니다. 아직 서비스를 당장 운영할 것은 아니어서 DB나 EC2등 이미 만든 것은 잠깐 지우고 싶은데 제가 도메인을 결제해서 이미 만든 것을 지우다가 도메인 산 것도 지워질까 무서워서 못 지우고 있습니다. 혹시 어떤 부분만 안 지우면 되는지 궁금합니다. 뒤에 배울 Net 게이트웨이를 써야만 보안이 가능한지 아니면 중급편에서 배울 다른 내용들로 충분한 보안이 가능한지 궁금합니다. Net 게이트웨이 비용이 무섭더라구요 ㅠ 제 상황에서 어떻게 인프라를 구성해야 가장 비용 절감을 할 수 있는지 궁금합니다. (EC2 t2.micro를 2개 만들어서 사용 시간 비용을 좀 내더라도 탄력적ip는 인스턴스 하나에만 할당하고 인스턴스끼리 통신은 프라이빗ip로 통신하고 다른 인프라를 삭제해서 비용을 아끼는 것을 생각해본적이 있습니다) 늘 좋은 강의 해주셔셔 감사합니다! 부하테스트랑 SQL튜닝 레디스도 결제했습니다!
-
미해결개발자라면 알아야 할 redis 기본
수업 자료는 어디 있을까요?
수업 자료 전달 요청 드립니다.
-
미해결비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
퍼블릭 ip 자동 할당 질문
default vpc로 인스턴스를 생성했을 때는 퍼블릭 자동 할당 활성화를 해주지 않았던 것 같은데 default vpc의 경우에만 활성화를 해주지 않아도 자동 할당 되는건가요?
-
미해결비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
az와 수평확장의 차이
안녕하세요k6 부하테스트 강의를 들었는데 그때 수평 확장하는 방법에 대해서 배웠습니다.인스턴스를 늘리는 거에 있어서 수평확장과 az별로 스프링부트 추가하는 거는 똑같지만 용도는 다르다는 것은 알겠어요인스턴스 늘릴때 수평확장은 단순히 복제 버튼 클릭하여 쉽게 스프링부트를 늘리는데az는 늘릴 때마다 매번 일일이 수동으로 다 설치해야하는건가요?