묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결쿠버네티스 어나더 클래스-Sprint4 (#Promethues #Grafana #Loki #OpenTelemetry)
Prometheus PV관련문의
Pod를 두개로 늘리려면 PV만 수동으로 하나더 만들면되긴 하는데 그렇게 하면 두 Prometheus가 결국 한볼륨을 바라보게 된다. 그럼 문제가 된다.?prometheus는 단일 서버용으로 만들어진 시스템이다.이부분에서StatefulSet인 파드를 두개로 만들었으면 그리고 PV를 수동으로 하나더 만들엇으면 어차피 storageclass라서 동적으로 pvc도 하나더 만들어지고 각각의 파드가 pod -pvc -pv구조로 연결되는거 아닌가요? 왜 결국 한 한볼륨을 결국 바라보게된다는게 이해가 안갑니다. statefuleset pod마다 각각의 고유 pvc를 사용하는거 아닌가요?
-
미해결쿠버네티스 어나더 클래스-Sprint4 (#Promethues #Grafana #Loki #OpenTelemetry)
쿠버네티스 업그레이드 관련 문
먼저 강의 질문 드리고 그 외 질문드려보겠습니다.강의에서 파드를 사전에 1,2개를 삭제해서 다른 worker노드로 보낸건 트래픽이 안끊게 하기위해 실습을 위해 보여주기위함인거죠? 만약 실운영에서 woker노드가 3개이상이면 그럴 필요없는지..실무에서 그렇게 원래하는건지 궁금합니다. 두번째는 실제 업그레이드 할때 강사님이 말씀해주신 부분외에...가령 리소스의 특정 annotation이나 버전값 등등 뭔가 버전업되면서 바뀌어야 하는정보들에 대한 실 가이드 문서를 별도로 보질 않아서 그런것들에 대해 파악하는법을 좀 알고싶습니다.쿠버 공식문서에 버전업 할때 필요한 모든 정보가 하나의 가이드에 다 들어있지 않을것 같긴한데요...가령 changelog라든가 이렇게 있던데..실제보면 양이 상당하고 모두 영어인데다가 ㅠㅠ그래서 실제 뭐뭐 바뀌는지...실무에서 정말 하나하나 다보고 파악하고 정리해야하나요?실무에서 놓치지 않고 업그레이드를 위해 빠지지 않고 다 업그레이드에 변경사항들 다 녹일려면 뭐뭐 봐야하는지...그리고 changelog보는법도 좀 알려주십시오.이것도 상당히 중요한부분같다는 생각이 들거등요이건 강의에 없는내용이고 평소궁금한부분이라 남겨봤습니다. 감사합니다.
-
미해결쿠버네티스 어나더 클래스-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
-
미해결쿠버네티스 어나더 클래스-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를만들어서 쉽게 배포를 할 수가 있게 돼요
-
미해결쿠버네티스 어나더 클래스-Sprint4 (#Promethues #Grafana #Loki #OpenTelemetry)
DaemonSet 내용중에
Prometheus와 같은 서버역할을 하는 컴포넌트들은 사전에 이미 worker노드IP를 이미 알고 있는 상태라서DaemonSet에 설정된 containerPort 를 보고 각 노드별로 설치된 Pod를 호출해서 CPU와 메모리 데이터를 수집하는것이다.라고 하셨느데요서버역할을 한다고 표현하신게 무슨 의미인지 궁금합니다.그리고 Promethues가 저렇게 리소스 정보를 수집하기위해 별도로 저런 DaemonSet yml형태로 DaemonSet을 생성해야 하나요? 아니면 promethues 설치 패키지 안에 그런 Daemonset리소스(hostNework:true)를 생성하는게 포함되어있는건가요?
-
미해결DevSecOps Basic (/w SAST)
Master -> Agent 노드로 SSH 접근을 못하네요
강사님께서 알려주신 공개키/개인키 생성 방법 그대로 따라했음에도 불구하고.$ ssh -i /var/jenkins_home/.ssh/id_rsa jenkins@172.17.0.4 jenkins@172.17.0.4: Permission denied (publickey).이처럼 Agent 노드로 SSH 접근이 실패합니다.Agent 노드의 퍼미션 설정은 하기와 같습니다.chown -R jenkins:jenkins /home/jenkins/.ssh chmod 700 /home/jenkins/.ssh chmod 600 /home/jenkins/.ssh/authorized_keys또한 Agent 노드의 sshd config 설정 또한 하기와 같이 진행하였습니다.sudo nano /etc/ssh/sshd_config PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys sudo systemctl restart ssh더 이상은 무엇이 문제인지 모르겠습니다."authorized_keys" 파일내 공백/누락/오타 등은 일절 없습니다.
-
해결됨스프링 부트 - 핵심 원리와 활용
스프링부트 ioc 컨테이너 갯수
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요 강사님레거시 스프링프레임워크같은 경우root-context.xml, servlet-context.xml 로 보통 계층적으로 2개의 ioc 컨테이너를 생성해서 스프링을 운용하는걸로 알고 있습니다. 그런데 스프링부트와 같은경우 스프링프레임워크과 달리 위 2개를 통합하여 1개의 ioc 컨테이너로 운용되는걸까요?
-
해결됨스프링 부트 - 핵심 원리와 활용
404 페이지
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.Test 까지는 강의와 같이 잘 뜹니다TestServlet.serviceTestServlet.serviceTestServlet.serviceTestServlet.service근데 c, ctx 를 하려니 안 나오더라고요그래서 예제 파일로 돌려봤는데도 동일했습니다파일도 첨부드립니다https://drive.google.com/drive/folders/1V5yyb9d7viV1mqRUkkJ4hr-gFdNtzTes?usp=drive_link
-
해결됨스프링 부트 - 핵심 원리와 활용
순수 라이브러리 사용하기 2 - memory-v1
memory-v1 을 project-v1에 적용하는 과정에서 dependencies { implementation files('libs/memory-v1.jar') }해당 방식으로 의존성 추가해주는 것이 되지 않습니다.인텔리제이 재실행 해봐도 안됩니다. repositories { flatDir { dirs 'libs' } } dependencies { implementation name: 'memory-v1' } 따라서 위처럼 등록해주니 됐습니다.
-
해결됨쿠버네티스 어나더 클래스-Sprint4 (#Promethues #Grafana #Loki #OpenTelemetry)
OpenTelemetry 실습
안녕하세요 강사님OpenTelemetry 구조와 Log 포맷 실습 과정에서 제공해주신 Core, Cust Application 배포했는데아래 사진과 같이 에러가 발생하는데cust,core pod 둘다 아래 사진처럼 로그가 남습니다 배포자료 확인 부탁드립니다 ㅠ.
-
해결됨쿠버네티스 어나더 클래스-Sprint4 (#Promethues #Grafana #Loki #OpenTelemetry)
grafana loki 연동
안녕하세요 강사님opentelemetry 연동까지 했는데 위와 사진과 같이grafana dashboard에는 unknown_service 이라고 logs에서 하나만 보이는데 확인해볼 설정이 있을까요?
-
해결됨스프링 부트 - 핵심 원리와 활용
외부설정 @ConfigurationProperties의 내부 클래스에서 static을 사용하는 이유를 알고 싶습니다.
외부 설정 쪽을 보고 있는데요. application.yml 에서 설정한 값을 safe 하게 사용하기 위한 코드인데요. 내부 클래스에 static 을 사용한 이유가 있을까요? @Data@ConfigurationProperties("my.datasource")public class MyDataSourcePropertiesV1 { private String url; private String username; private String password; private Etc etc = new Etc(); @Data public static class Etc { private int maxConnection; private Duration timeout private List<String> options = new ArrayList<>(); }}
-
미해결스프링 부트 - 핵심 원리와 활용
서블릿 컨테이너 초기화1 강의 관련 질문입니다~
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 스프링부트 톰캣 내부에 서블릿 컨테이너도 있고 스프링 컨테이너도 같이 존재하는 건가요?그래서,API 호출이 오면 서블릿 컨테이너 내부의 DispatcherServlet이 스프링 컨테이너로 연결시켜서 컨트롤러 빈으로 매핑하도록 한다고 보면 될까요?
-
미해결스프링 부트 - 핵심 원리와 활용
Thread Config Max 패널 설정 변경 질문
tomcat_threads_config_max_threads로 설정을 했는데 왜 200이 안뜨고 계속 N/A 로 되어있는지 의문입니다. 서버, 프로메테우스도 다 켜져있는데 뭐가 문제일까요?
-
미해결스프링 부트 - 핵심 원리와 활용
스프링 액츄에이터 shutdown 엔드포인트 활성화가 안됩니다.
yml 파일에서 이렇게 shutdown 기능을 활성화 시켰는데Deprecated configuration property 'management.endpoint.shutdown.enabled'이렇게 나오는데 'Deprecated' 된 건지 아니면 제가 잘못 설정을 한 건지 궁금합니다. 기능은 정상적으로 작동하는데 저 경고는 무시해도 되는 건가요?management: endpoint: shutdown: enabled : true
-
미해결스프링 부트 - 핵심 원리와 활용
테스트 실행시 동일 오류 3가지 발생
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 테스트 실행시 아래의 세가지 오류가 계속해 뜹니다. 강의 자료를 복붙해도 동일하게 뜨네요 ㅠㅠ 뭐가 문제일까요 압축해서 업로드 했습니다..! https://drive.google.com/drive/folders/1M5BcvT6aVbxMq1C3xVFfoOSTyAEashKH?usp=sharing
-
미해결실습으로 배우는 프로메테우스 - {{ x86-64, arm64 }}
vagrant up 실행 시 에러
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요](https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.[질문 하기]PS C:\Users\dltkd\k8s-edu\_Lecture_prom_learning.kit\ch2\2.3> vagrant up>>Bringing machine 'cp-k8s-1.30.3' up with 'virtualbox' provider...Bringing machine 'w1-k8s-1.30.3' up with 'virtualbox' provider...Bringing machine 'w2-k8s-1.30.3' up with 'virtualbox' provider...Bringing machine 'w3-k8s-1.30.3' up with 'virtualbox' provider...==> cp-k8s-1.30.3: Checking if box 'sysnet4admin/Ubuntu-k8s' version '0.8.6' is up to date...==> cp-k8s-1.30.3: Clearing any previously set network interfaces...There was an error while executing VBoxManage, a CLI used by Vagrantfor controlling VirtualBox. The command and stderr is shown below.Command: ["hostonlyif", "create"]Stderr: 0%...E_FAILVBoxManage.exe: error: Failed to create the host-only adapterVBoxManage.exe: error: Querying NetCfgInstanceId failed (ERROR_FILE_NOT_FOUND)VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component HostNetworkInterfaceWrap, interface IHostNetworkInterfaceVBoxManage.exe: error: Context: "enum RTEXITCODE __cdecl handleCreate(struct HandlerArg *)" at line 105 of file VBoxManageHostonly.cpp이런 에러가 발생합니다
-
미해결스프링 부트 - 핵심 원리와 활용
강의 싱크 에러
오늘 영한님 spring boot 강의를 듣는데 싱크가 안맞느거 같습니다 ㅠㅜ 확인 필요할 거 같아요!!