묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
기술의 흐름으로 이해하는 컨테이너 질문드립니다!
실습에 문제 발생 시 최대한 캡쳐 화면을 꼭 올려 주세요. (원인 파악에 도움이 큽니다)영상 내용 질문 시 해당 영상 제목과 내용이 있는 시간을 같이 올려주세요. (내용을 다시 들어보고 답변을 드리기 위해서 입니다)긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com)카페 [강의 자료실]에도 많은 질문과 답변들이 있어요!cafe: https://cafe.naver.com/kubeops --9분 58초쯤에 나오는 설명에 대한 질문입니다.kubelet에서 컨테이너 런타임으로 바로 받는다는 의미가 잘 이해가 안갑니다.우선 제가 이해한것을 말씀드리겠습니다.!CRI를 이용해서 grpc로 통신하는 방법에서 CRI-plugin을 통해 직접 받는 방법으로 변경되었다.각각의 컨테이너 밴더에서 플러그인을 구현하고 kubelet에서 해당 플러그인을 직접 호출한다. 여기서 궁금한 점입니다!CRI 구조에서, 도커의 새로운 기능이 생기면 쿠버네티스도 패치해야한다고 하셨는데 이는 CRI-plugin를 이용할때도 동일한게 아닌가요? 둘의 개발 라이프사이클을 다르게 가져갈 수 있는 이유가 궁금합니다. 새로운 기능이 생겨도 인터페이스만 맞으면 되는 것인데,인터페이스의 변화가 필요하다면 결국은 플러그인이나 CRI나 kubelet의 변화도 필요한게 아닌가요??
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
컨테이너 내부에서 사용하는 포트를 어떻게 지정하나요?
공부를 하다가 궁금해진건데 예를 들어서 MYSQL을 사용하면 3306 포트를 호스트에 노출 시켜서 run하는 시점에 docker run -p 3306:3306 이렇게 매핑을 한다 쳤을 때 컨테이너 내부의 3306은 어떤 기준으로 열리게 된건지가 궁금합니다. 처음에는 프로그램마다 다를거라고 생각을 했습니다. MYSQL은 3306 포트를 열게하는 설정이 있다. 그리고 자바로 치면 application.yml을 보고 server.port을 참고하여 포트를 열어버린다? 근데 이렇게 생각하니까 외부 프로그램이 포트를 연다라는 발상을 하게 되는데 좀 이상한 것 같습니다. 또한 어떤 기준으로 포트가 열리는지 궁금합니다.
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
카페 게시글 누락 (체험 App배포)
안녕하세요 일프로님.강의 영상에서 띄어주신 '[섹션2] 쿠버네티스가 정말 편한 이유 [체험 App배포]라는 게시글이 현재 카페에 존재하지 않습니다. 다시 보니 다른 제목의 동일한 내용의 게시물이 존재하네요.([Sprint1] 실무에서 느껴 본 쿠버네티스가 정말 편한 이유 > 쿠버네티스 대표 기능)강의 영상과 제목이 다른 카페 게시글이 종종 있는 것 같습니다. 관련하여 안내가 보강되면 좋을 것 같습니다.강의 잘 보고 있습니다 완강까지 달려보겠습니다 감사합니다!
-
해결됨개발자를 위한 쉬운 도커
COPY 경로에 관한 질문드립니다.
WORKDIR /app 으로 바꾸고 나서COPY ./ / 을 COPY . . 으로 변경하셨는데요WORKDIR 을 지정하게되면 컨테이너 작업디렉토리를 지정하게되지만 빌드컨텍스트 위치는 그대로이니 COPY ./ . 라고 생각했는데 제가 뭘 잘못생각하고 있는 걸까요?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
localhost 관련
안녕하세요! 그러면 이전 영상대로 실습했을 때 docker compose ps 했을 때, 정상적으로 my-db와 my-server가 작동중인 경우는 잘못된건가요?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
failed to connect to mysql
gradlew build 이후compose up 했을 때mysql만 올라오고 spring boot서버는 안올라오는 상황입니다.gui db로 접속하려고 하니 밑의 그림과 같이 뜹니다.제가 직접 컨테이너에 접근하여 접속한 결과다음과 같이 똑같은 id,pw로 로그인이 되는데왜 gui환경에서만 로그인이 안되는 걸까요?root계정으로 접속 후 저 계정에 대한 비밀번호를 변경해보았습니다.root계정 접속 후 저 계정에 대한 모든 권한을 부여하였습니다.차이점application.yml파일에서 username: root로 실행하면스프링부트도 잘 올라오는데 username:xoxoxmin1268이런식으로 제 아이디를 넣으면 다음과 같은 로그 뜹니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
[실습] 백엔드 프로젝트(Spring Boot) 프로젝트를 Docker로 실행시키기 import문제
현재 start.spring.io에서 의존성 두개 추가해서 generate 이후demo.zip파일을 받았는데 압축을 풀고 setting.gradle을 눌렸더니 밑의 그림과 같이 뜹니다.이게 압축을 푸는게 맞는건가요?혹시 몰라서 이클립스를 다운받고 이클립스에서 zip파일을 import시키고 appcontroller생성 후 @Restconrollerimport하는 부분에서 어노테이션을 못찾습니다.
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
해당 수업자료 이미지 블로그에 사용
"강의 영상을 캡쳐해서 이미지로 써도 다 상관없으니까 기록으로 남겨보세요" 라고 하셨지만혹시나 한번 더 확인차 블로그에 해당 자료 이미지 사용해도 되는거죠..?
-
미해결개발자를 위한 쉬운 도커
gradle 빌드 환경 에 따른 도커파일 설정 값 문의
gredle 을 빌드 도구 설치 해보려 하는데 메이븐과 그래들 도커파일이 설정값이 많이 달라질까요? 빌드 환경이 무엇 이냐에 따라 도커파일 설정값들을 어떻게 해야 하는지 참조 할 수 있는 있는 사이트가 있을지 궁금합니다 같은 코드로 gradle일때 변경되는 설정 값에 대해 시간이 되신다면 pdf, 깃 파일, 강의 아무거나 넣어 주시면 너무 감사드리겠습니다 gradle 하나 겨우 배워놨는데 아래에 내용에 모두 메이븐 이라고 생각하니 슬프네유 ㅠ
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
테스트
kubectl config get-contextskubectl config current-context
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
nestjs 예제
쭉 결제해서 nestjs 부분만 듣고 있는데, 이번 강의는 nestjs예제가 spring에 비해 부실하네요nestjs 예제도 spring 예제 처럼 추가해줄 수 있나요? 예전에 시간 남을 때, 추가해주신다고 해서 기다리고 다시 들어와봤는데 업데이트가 안되어 있어서 아쉬워요 혹시 계획 있으신가요?
-
해결됨개발자를 위한 쉬운 도커
도커 컨테이너 내부에서 개발하는 것의 장단점에 대해
도커 컨테이너 내부에서 개발하는 것에 의문점이 있습니다.개발 환경 세팅이 오래 걸려도 사실 그렇게까지 오래 걸리진 않는다고 생각하고, 개발 환경 버전이 바뀔 때도 팀 내에서 의견을 맞춰서 싱크를 맞추면 문제가 없지 않을까 싶은데요. 물론 버전이 다른 프로젝트를 여러 개 관리해야하는 상황이라면 번거로움을 없애기 위해 필요할 수도 있겠다는 생각이 들긴 합니다.그런데 도커 컨테이너로 한 번 감싸서 개발을 진행하게 되면, 성능에 이슈가 생기지는 않나요? 바로 개발하는 것과 달리 리소스에 제한을 두게 되고 도커를 한 번 거쳐서 개발을 하게 되는 것 같아서요.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
spring boot를 docker compose 활용하여 --build시 문제
안녕하세요! docker 수업을 듣다가 해결되지 않는 부분이 있어 질문 남깁니다!docker compose up에서 --build 옵션을 추가하면 새로 springboot 가 빌드되고 그 이미지를 기반으로 새로 compose 한다고 이해를 하였고 compose.yml과 Dockerfile은 아래 사진과 같이 작성을 하였습니다!작동은 잘 되지만 내용을 수정하고 다시docker compose up -d --build를 입력해도 전에 있던 내용이 나와 질문 드립니다!캐시 문제일 수도 있다고 해docker compose build --no-cache && docker compose up -d위와 같은 명령어로도 해봤는데 그대로였습니다!pc는 m2 pro입니다!
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
빠른 설치 진행중 containerd 설치명령어관련
스크립트 다운받아 보니...containerd repo 설치 하는 명령어가 아래와 같이 되어있는데실제 문서상에는 dnf 가 들어가있고 추가로sudo dnf -y install dnf-plugins-core 도 있던데...이부분은 누락된건가요?? 그냥 아래 명령어로 되는건가요?yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo또 한가지는 강의중에 containerd.io 버전에 대해 언급하신건 들었는데...LTS버전까지는 들어서 알겠는데..실제 설치할 버전확인 하는법에 대해서는 언급이 없었는데...나중에 설명해주신다고 하셨던것도 같고...docker설치하면 거기에서 명령어로 확인할수있다고 검색은 되는데...이건 설치도 전인데 어떻게 파일명까지 사전에 확인이 가능한지요?yum install -y containerd.io-1.6.21-3.1.el8
-
미해결처음 시작하는 도커와 컨테이너
PostgreSQL 실습시 아래 오류 발생합니다.
1. 무엇을 하고 싶으신가요? PostgreSQL 실습시 아래 오류 발생합니다.2. 언제, 어떤 오류가 발생하시나요? 3. 어떤 시도를 해보셨나요? 4. 작성한 코드를 공유해주세요.
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
containerd 설치중 cgroup드라이버 관련
설치방법 강의중에 containerd 설치부분에서 cgroup언급부분에서 default를 쓸거기 때문에 containerd는 systemd cgroup드라이버를 설정할필요없이 넘어간다고 말씀하셨는데요~문서에는 kubelet의 디폴트가 cgroupfs인데 단 리눅스배포판의 init시스템이 systemd인경우는 systemd cgroup드라이버를 사용해야한다고 문서에 나와있어서 결국 강사님이 Rocky Linux 8을 사용하시는걸로 아는데 그러면 Rocky Liunx 8의 init 프로세스는 systemd라서 kubelet의 디폴트인 cgroupfs를 사용못하고 systemd를 사용해야 하고 그래서 결국 containerd로 systemd cgroup드라이버로 설정해야하는게 아닌지 궁금합니다.
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
Rocky linux 8 에 대한 containerd 설치 os조건
CentOS 9 (stream)containerd/docs/getting-started.md at main · containerd/containerd · GitHubcontainerd 설치 방식중 Option2 에 해당하는 containerd.io packages 설치를 위해 Rocky Linux 8이니까 CentOS클릭해서 들어가보면 OS조건이 CentOS 9에 해당되는데 그러면 Rocky Linux 8은 대상이 안되지 않나요?
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
런타임 설치 가이내용
참고:도커 엔진은 컨테이너 런타임이 쿠버네티스와 호환되기 위한 요구 사항인CRI를 만족하지 않는다. 이러한 이유로, 추가 서비스인cri-dockerd가 설치되어야 한다. cri-dockerd는 쿠버네티스 버전 1.24부터 kubelet에서제거된 기존 내장 도커 엔진 지원을 기반으로 한 프로젝트이다.이렇게 되어있는데 설명해주신 내용이라 하셨는데...설명해주신 내용이랑 참고글이 조금 이해가 안되서 글 올려봅니다.docker엔진은 dockershim이라는 cri가 있기 때문에 계속 써도 된다고 하셨던것같고 그림에도그렇게 표시되어있는데 위 참고글에는 cri를 만족하지 않는다고 하니 이부분이 일단 이해가 안가구요~ 1.23에 deprecated된다고 하더라도 dockershim 이 비록 관리나 버그가 문제라 하더라도 1.24에는 cri-dockerd라는게 내장되어 docker는 결국 계속 써도 되는거 아닌가요?
-
미해결처음 시작하는 도커와 컨테이너
도커를 실행하기 위해 무엇이 더 필요한가요?
1. 무엇을 하고 싶으신가요? docker run --rm -d -p 8080:80 nginx위 명령어 수행2. 언제, 어떤 오류가 발생하시나요? 아래 이미지와 같이 에러 표출 됩니다.3. 어떤 시도를 해보셨나요? 명령어 수행4. 작성한 코드를 공유해주세요. 도커를 실행하기 위해 무엇이 더 필요한가요?
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
명령어 실행이 안되는거 같습니다...ㅠㅠ
실습에 문제 발생 시 최대한 캡쳐 화면을 꼭 올려 주세요. (원인 파악에 도움이 큽니다)영상 내용 질문 시 해당 영상 제목과 내용이 있는 시간을 같이 올려주세요. (내용을 다시 들어보고 답변을 드리기 위해서 입니다)긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com)카페 [강의 자료실]에도 많은 질문과 답변들이 있어요!cafe: https://cafe.naver.com/kubeopsC:\k8s>vagrant box add rockylinux-repo.json==> box: Loading metadata for box 'rockylinux-repo.json' box: URL: file://C:/k8s/rockylinux-repo.json==> box: Adding box 'rockylinux/8' (v8.8-20230518.0) for provider: virtualbox box: Downloading: https://dl.rockylinux.org/vault/rocky/8.8/images/x86_64/Rocky-8-Vagrant-Vbox-8.8-20230518.0.x86_64.box==> box: Box download is resuming from prior download progressProgress: 0% (Rate: 16576*/s, Estimated time remaining: 24:18:20)