묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결쿠버네티스 어나더 클래스-Sprint4 (#Promethues #Grafana #Loki #OpenTelemetry)
serviceMonitor관련문의드려요
이 단원 들어오면서 어렵네요.operator가 prometheus crd를 보고 statefulset prometheus 를 만들어준다고했는데그럼 serviceMonitor crd를 보고는 operator가 무얼 만들어줍니까? serviceMonitor crd도 있고 prometheus설치하면서 service 리소스 타입도 있던데....이건 servicemonitor리소스와는 또 어떤관계인건지...?servicemonitor라는 crdservicemonitor kind타입의 리소스아래 service들......[root@k8s-master kube-prometheus-stack]# k get service -n monitoringNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEalertmanager-operated ClusterIP None <none> 9093/TCP,9094/TCP,9094/UDP 18hmonitoring-grafana ClusterIP 10.109.212.0 <none> 80/TCP 18hmonitoring-kube-prometheus-alertmanager ClusterIP 10.106.151.30 <none> 9093/TCP,8080/TCP 18hmonitoring-kube-prometheus-operator ClusterIP 10.105.53.49 <none> 443/TCP 18hmonitoring-kube-prometheus-prometheus ClusterIP 10.105.22.75 <none> 9090/TCP,8080/TCP 18hmonitoring-kube-state-metrics ClusterIP 10.99.143.250 <none> 8080/TCP 18hmonitoring-prometheus-node-exporter ClusterIP 10.101.93.137 <none> 9100/TCP 18hprometheus-operated ClusterIP None <none> 9090/TCP 18h그리고 아래 설명에서 말한 service들은 대체 어떤 service들인가요? 실제 서비스할 앱들이 있는 pod를 select하고있는 service 리소스들을 말하나요? 아니면 아래 service라고 칭한건....promethues 설치하면서 만들어진 serivceMonitor crd를 통해 만들어진 servermonitor 리소스가 있고 또 monitoring 네임스페이스에 있는 service 리소스들이 있는데 무얼 말하는지~~서비스서비스 계속 나오니 누구 어떤 서비스를 의미하는건지 구분이 통~ 안됩니다. ㅠㅠ 그리고serviceMonitor crd안에 잇는selector:matchLabels:app.kubernetes.io/instance: monitoringapp.kubernetes.io/name: prometheus-node-exporter이 설정을 그대로 monitoring-prometheus-node-exporter 라는 service 리소스에서 사용하는건가요? 여기 아래 서비스들. 앱이 들어있는 파드 select하는 서비스를 말하는지..kube-prometheus-stack 설치시 생성되는 service리소스를 말하는지...도통 ㅠㅠ- endpoints : 매칭될 타겟 Service의 Port 이름- jobLabel : 타겟 Service의 Label에 key가 jobLabel을 찾아 value 값을 매트릭의 job 라벨로 사용- selector : 매칭될 타겟 Service의 Label 정보
-
미해결쿠버네티스 어나더 클래스-Sprint4 (#Promethues #Grafana #Loki #OpenTelemetry)
kube-prometheus-stack설치시 설명중에
values-custom.yaml내용중에 storageSpec: volumeClaimTemplate: spec: #storageClassName: "storageClassName" accessModes: ["ReadWriteOnce"] resources: requests: storage: 1Gi selector: matchLabels: app.kubernetes.io/name: prometheus-volume근데 만약 파드를 늘리게 되면 이 스펙에 PVC가 또 만들어지는 거기 때문에 물론 PV를하나 더 수동으로 만들면 연결은 되겠지만 관리적으로 좋지가 않아서 테스트 환경에서 불가피할때만 이렇게 사용을 하시는 게 좋아요 라고 하신부분이 이전 설명에서 말한 prometheus 는 statefulset이라 데이타 공유를 하면 단일서버용으로 만들어진 시스템이라 데이터충돌이 난다고 말씀하셨던 그 부분을 말하는 내용입니까?
-
미해결비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
라우팅 편집 경로
안녕하세요. <라우팅 편집> 에서 경로 설명해주시는 부분에서 궁금한 점이 있습니다. 10.0.0.0/16 -> local vpc 내부에서 10.0.0.0/16 으로 보내는 트래픽은 local 로 보낸다. (private ip 를 활용해서 내부에서만 통신해라)-> 위의 말이 이해가 잘 안됩니다. 예시를 들어주실 수 있나요? 10.0.0.0/16 가 어차피 vpc 전체를 의미하는건데 "보낸다"는 의미를 잘 모르겠습니다. 그냥 말 그대로 내부에서 서로 보내는 것들은 내부 ip 안에서 놀아라~ 이런 의미라고 이해하면 될까요? 감사합니다.
-
미해결쿠버네티스 어나더 클래스-Sprint4 (#Promethues #Grafana #Loki #OpenTelemetry)
Prometheus PV관련문의
Pod를 두개로 늘리려면 PV만 수동으로 하나더 만들면되긴 하는데 그렇게 하면 두 Prometheus가 결국 한볼륨을 바라보게 된다. 그럼 문제가 된다.?prometheus는 단일 서버용으로 만들어진 시스템이다.이부분에서StatefulSet인 파드를 두개로 만들었으면 그리고 PV를 수동으로 하나더 만들엇으면 어차피 storageclass라서 동적으로 pvc도 하나더 만들어지고 각각의 파드가 pod -pvc -pv구조로 연결되는거 아닌가요? 왜 결국 한 한볼륨을 결국 바라보게된다는게 이해가 안갑니다. statefuleset pod마다 각각의 고유 pvc를 사용하는거 아닌가요?
-
미해결비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
rds 다중 AZ
안녕하세요.좋은 강의 감사합니다. rds 를 수정해서 다중AZ 를 설정하면가용영역의 모든 곳에 다 복제가 되는건가요?물론 눈으로 볼 수 없다고 하지만, 저 rds 를 바라보고 있는 다른 서브넷(ex. instagram-server-b) 의 인스턴스가 속한 가용영역의 서브넷에 자동으로 rds 인스턴스가 다 생기는건가요. 즉 instagram-server-c, instagram-server-d .. 여러대에서 다 instagram-server-a 의 서브넷에 있는 rds 인스턴스를 바라보고 있다면 c, d 쪽에도 다 생기는지 궁금합니다. 그리고 만약 4곳 (a, b, c, d) 이 있다면 그 중에서 a, b, c만 생성되도록 설정할 수도 있는 건가요? 감사합니다.
-
미해결쿠버네티스 어나더 클래스-Sprint4 (#Promethues #Grafana #Loki #OpenTelemetry)
쿠버네티스 업그레이드 관련 문
먼저 강의 질문 드리고 그 외 질문드려보겠습니다.강의에서 파드를 사전에 1,2개를 삭제해서 다른 worker노드로 보낸건 트래픽이 안끊게 하기위해 실습을 위해 보여주기위함인거죠? 만약 실운영에서 woker노드가 3개이상이면 그럴 필요없는지..실무에서 그렇게 원래하는건지 궁금합니다. 두번째는 실제 업그레이드 할때 강사님이 말씀해주신 부분외에...가령 리소스의 특정 annotation이나 버전값 등등 뭔가 버전업되면서 바뀌어야 하는정보들에 대한 실 가이드 문서를 별도로 보질 않아서 그런것들에 대해 파악하는법을 좀 알고싶습니다.쿠버 공식문서에 버전업 할때 필요한 모든 정보가 하나의 가이드에 다 들어있지 않을것 같긴한데요...가령 changelog라든가 이렇게 있던데..실제보면 양이 상당하고 모두 영어인데다가 ㅠㅠ그래서 실제 뭐뭐 바뀌는지...실무에서 정말 하나하나 다보고 파악하고 정리해야하나요?실무에서 놓치지 않고 업그레이드를 위해 빠지지 않고 다 업그레이드에 변경사항들 다 녹일려면 뭐뭐 봐야하는지...그리고 changelog보는법도 좀 알려주십시오.이것도 상당히 중요한부분같다는 생각이 들거등요이건 강의에 없는내용이고 평소궁금한부분이라 남겨봤습니다. 감사합니다.
-
미해결비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
bastion 통해서 private 서브넷의 rds 접근
안녕하세요 같은 vpc 내에서는 서로 같은 네트워크로 인식되는 것은 이해가 되었습니다. 그런데 단순하게 db 툴 설정에서, ssh 터널로 bastion 호스트에 대한 정보를 입력하는 것만으로 rds 에 어떻게 접속이 되는지 잘 이해가 안되네요. 즉 같은 vpc 내라고 하더라도, 특정한 private 서브넷에 접속하려면 그것과 동일한 vpc 에 존재하는 외부에 열려있는 아무 서버(ex. web-server With pem키) 를 그냥 입력하기만 하면 되는건가요? 내부에서 어떻게 web-server(public) <-> rds(private) 서로 연결되는지 궁금해서요! 좋은 강의 감사합니다
-
미해결비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
bastion 역할
안녕하세요 좋은 강의 감사합니다. private 서브넷에 있는 ec2 들을 보호하기 위해서 밖에서 접근을 안되도록 NAT 게이트웨이를 두고, 대신에 접근할 수 있는 ec2 인스턴스(bastion-host)를 뒀잖아요!? 그러면 결국 밖에서 어떻게든 bastion 으로 접근을 할 수도 있고, 그렇다면 결국 동일한 vpc 의 private 서브넷에 있는 ec2 들에도 접근을 할 수 있다면 보안적으로 뚫려있는 것은 동일한 것 아닌가요? 감사합니다.
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
(질문아님)Windows에서 Elasticsearch 하는 법
Docker를 설치한다. = 설치 방법은 구글링에 "Windows Docker 설치"만 검색해도 많은 자료가 있습니다. vim 설치 = 기본적으로 windows는 리눅스 환경이 아니기 때문에 CMD 또는 Powershell에서 강의처럼 vim을 사용하지 못합니다. 아래 링크를 통해서 설치만 해주고 프롬프트에 vim 입력하시면 사용 가능합니다. https://velog.io/@deadkim/windows-vim-windows%EC%97%90%EC%84%9C%EC%9D%98-vim-%EC%82%AC%EC%9A%A9
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
안녕하세요 선생님 Elastic Cloud 비용 관련해서 질문 드립니다.
의지 할 곳이 선생님 밖에 없어서 이렇게 질문 드립니다 ㅠ,ㅠ우리 회사에서 Elastic Search 를 이용해서 검색 기능을 서비스 출시 하고자 합니다. 참고로 데이터는 20~30만건 정도 됩니다. Elastic Cloud 에서 비용에서 각각 기능에 따라 등급이 있더군요. Standard Gold Platinum Enterprise 차이 간단하게 이렇게 검색해서 한번 확인 해보니깐 잘 나와 있긴 합니다만... 아무래도 선생님이 제공해주신 강의 보고 처음 접해보고 이것을 상용에서 적용 하고자 하니 비용적 부분에서 고민을 안 할 수가 없습니다. Enterprise 으로 갈수록 비용이 2배로 가긴 하지만 기능을 더 제공해주는 것 같습니다.하지만 저희는 20~30만개 정도 데이터를 활용 및 서치 기능을 구현하는 것이고기능도 선생님께서 알려주신 기능 안에서 해결이 가능 할 것 같습니다. 정리하자면20~30만개 정도 데이터를 이용해 검색 기능 제공 해야함 (앞으로 데이터 추가는 예상 됩니다.)기능은 선생님이 알려주신 기능에서 충분히 가능 할 것 같습니다.가능한 모니터링 기능이 있었으면 좋겠습니다. 그럼 standard 도 괜찮은 선택인지 알고 싶네요. 아무래도 회사가 큰 규모가 아니다 보니 비용적 부분에서 생각 안 할 수가 없습니다. (모니터링 기능도 있었으면 좋겠네요.) 다시 한번 영상 강의 만들어 주셔서 감사드리고 앞으로 더 좋은 강의 기대하도록 하겠습니다. 응원합니다. 감사합니다 :)
-
미해결쿠버네티스 어나더 클래스-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 최신 버전 한에...)