묻고 답해요
129만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
4000번 포트를 그대로 사용하면 로드밸런스와 연결이 불가능한가요?
선생님 강의를 따라하며 80번포트가아닌 4000번 포트를 그대로 두면 로드밸런스는 연결 불가능한가요?인스턴스의 80번 포트와 연결을하는건가요
-
미해결쥬쥬와 함께 하루만에 시작하는 백엔드 - 스프링, 도커, AWS
서비스 메소드 작성 시 질문!
안녕하세요 쥬쥬님 서비스에서 메서드를 만들 때 질문 있습니다. A라는 서비스 메소드를 만들 때 로직이 복잡하면 코드가 엄청 길어지면 그 때는 안에 있는 메소드를 B, C 서비스 메소드로 분리해야 할 것 같은데 서비스 메소드를 만들 때 기준이 있나요?지금 createReview 서비스 메소드를 만들때restaurantRepository.findById(restaurantId).orElseThrow()를 사용하여 조회 및 검증 작업을 진행하는데 추후에 해당 코드를 그대로 유지하는지, 서비스 메소드로 분리하는지, 스태틱 메서드로 만드는지 기준이 궁금합니다.
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
4 쿠버네티스 워크로드에서부터 갑자기
섹션 4 쿠버네티스 워크로드 - 4-1) 포드 디스크립터 작성강의에서 kubectl port-forward 가 해본적 없는데 해본적 있죠 하면서 나옵니다. 또한 kubectl logs 도 그렇습니다. 무언가 강의 순서가 꼬인 것 같은데 어떤순서로 강의를 수강해야하나요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
axios오류 문의드립니다!
프론트엔드 폴더에서 npm run start하면 바로 저 에러가 발생하고 소스 컨트롤 +S (저장)버튼 한번 누르면 되돌아옵니다.install axios 을 통해 package.json에 정상적으로 들어가 있는것도 확인했습니다.. 인풋값에 값 입력 후 전송 해도 동일한 에러가 발생하고axiox관련 404문제라 경로 및 오타도 확인해봤지만 문제가 없다고 생각하며 소스도 복사해서 가져온 상태입니다. 어떤곳을 확인을 해봐야될까요??ㅠㅠ
-
해결됨개발자를 위한 쉬운 도커
git clone https://github.com/daintree-henry/leafy.gif가 not found로 뜹니다.
PostgreSQL 컨테이너 구성에서 2:05초에 leafy 소스코드 다운로드를 하는데 아래와 같이 찾을 수 없습니다. $ git clone https://github.com/daintree-henry/leafy.gif Cloning into 'leafy.gif'... remote: Repository not found. fatal: repository 'https://github.com/daintree-henry/leafy.gif/' not found 실제 github를 가도 해당 gif파일이 존재하지 않습니다.이전 leafy 실습 테스트에서도 내부 사진들은 전부 로드되지 않았는데, 파일이 없다 보니 동일한 문제였던 것 같습니다.
-
미해결실습으로 배우는 선착순 이벤트 시스템
kafka 사용 이유
안녕하세요,궁금한 내용이 생겨 기존에 질문들을 살펴보고 제가 이해한 것이 맞는지 확인차 질문드립니다. redis의 싱글스레드 특성으로 100개 발급에 대한 race condition 해결 --> 그러나 insert 시 DB 처리량에 부하가 발생할 수 있음kafka 미들웨어를 통해 100개의 쿠폰 저장 이벤트를 보관해두었다가 컨슈머에서 원할때 꺼내어 처리할 수 있는 여지를 주어 처리량 부하를 분산시킬 수 있음ex) 쿠폰 발급은 당장 안해도 되니, kafka에 이벤트만 잘 발행되어 있다면 DB 작업량이 적은 새벽에 꺼내서 저장해도 됨 이렇게 이해했는데, 맞을까요?
-
해결됨개발자를 위한 쉬운 도커
docker compose부분 질문드립니다
제가 이해하는 바로는 build에 있는 도커파일을 바탕으로 image에 적힌 이름으로 이미지를 생성한다라고 이해했는데요 사진속에 초록색 부분 run부분에 deviwikirepo/leafy-postgres:1.0.0이 아니라 leafy-backend:5.0.0-compose가 있어야 하는게 아닌가요?
-
미해결대세는 쿠버네티스 [초급~중급]
authentication에서 클러스터 2개를 활용해서 kubectl로 context 변경하시는데
이거 기존에 만든 클러스터 외에 별도 VM 띄워서 클러스터 하나 더 만드신거죠??
-
해결됨개발자를 위한 쉬운 도커
docker 볼륨마운트에 대해서 질문드립니다
안녕하세요 :)배운 내용을 토대로 제 개인 우분투 컴퓨터 서버에 배포를 하려 하는데요수업에서 배운 3-Teir 형식으로 network설정도 하고, /api로 스프링 서버에 요청이 가도록 nginx도 설정했습니다 서버에 만들어놓은 RAID1 (경로는 /mydata/img) 디렉토리를 스프링과 볼륨 마운트해서 POST 요청시 이미지를 저장하도록 만들었는데요저장이 잘 되는건 확인했는데 클라이언트에서 src에 이미지경로를 어떻게 설정해야 할까요? 찾아보고 구현해본 방법중에서 아래 사진과 같이 만들었는데요 이게 3-Teir 의 요점과도 가장 잘 맞는거 같아서요..uploadPath와 RAID1을 볼륨 마운트하고,src="/images/이미지명",nginx에 location 으로 proxy_pass 설정만 해주면 될까요?아니면 추가적으로 설정할게 더 필요할까요?@Configuration public class WebConfig implements WebMvcConfigurer{ @Value("${upload.path}") private String uploadPath; @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/images/**") .addResourceLocations("file:/" + uploadPath); } }아니면 진짜 정배가 따로 있을까요 ㅋㅋ...정확한 방법을 알고싶어서 질문드립니다 ㅠ
-
미해결대세는 쿠버네티스 [초급~중급]
Longhorn으로 설치를 완료했는데 대시보드를 보니 노드가 두 대 설정되어 있는데
마스터와 노드1만 설정되어 있는데 노드2는 왜 설정이 안되었을까요?
-
미해결대세는 쿠버네티스 [초급~중급]
StorageOS 설치 과정에서 설치는 된 것 같은데 강의 실습에서 다른 메시지가 보여 확인차 문의 드립니다.
namespace/storageos-operator createdclusterrole.rbac.authorization.k8s.io/storageos-operator createdserviceaccount/storageoscluster-operator-sa createddeployment.apps/storageos-cluster-operator created여기까지는 강의 실습 내용과 동일한 것 같습니다.하지만 추가적으로 아래 메시지가 더 발생했는데... 확인차 문의드려요! resource mapping not found for name: "storageosclusters.storageos.com" namespace: "" from "https://github.com/storageos/cluster-operator/releases/download/1.5.0/storageos-operator.yaml": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1beta1"ensure CRDs are installed firstresource mapping not found for name: "storageosupgrades.storageos.com" namespace: "" from "https://github.com/storageos/cluster-operator/releases/download/1.5.0/storageos-operator.yaml": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1beta1"ensure CRDs are installed firstresource mapping not found for name: "jobs.storageos.com" namespace: "" from "https://github.com/storageos/cluster-operator/releases/download/1.5.0/storageos-operator.yaml": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1beta1"ensure CRDs are installed firstresource mapping not found for name: "nfsservers.storageos.com" namespace: "" from "https://github.com/storageos/cluster-operator/releases/download/1.5.0/storageos-operator.yaml": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1beta1"ensure CRDs are installed firstresource mapping not found for name: "storageoscluster-operator-rolebinding" namespace: "" from "https://github.com/storageos/cluster-operator/releases/download/1.5.0/storageos-operator.yaml": no matches for kind "ClusterRoleBinding" in version "rbac.authorization.k8s.io/v1beta1"ensure CRDs are installed first
-
미해결개발자를 위한 쉬운 도커
docker remote JVM debug 설정
안녕하세요. 강의듣다가 Remote JvmDebug에서 Before launch를 설정하려고 하는데요. 제 인텔리제이에서는 Launch Docker Before Debug라는 항목이 보이지 않아서요.. plugin으로 docker설치하고 다시 intellij 실행하였고, 인텔리제이 버전은 2024.1 입니다. Mac 환경이고.. 왜 저는 안나오는지 모르겠어요 ㅠㅠ
-
해결됨개발자를 위한 쉬운 도커
[개발환경구성] docker vscode로 실행시
vscode로 node설치 안하고 node docker를 이용해서 npm install을 하고서 npm run serve 명령어를 하면요분명 localhost:80 이라고 쓰여있는데 막상 눌러서 브라우저에 니깐 포트번호가 다르더라고요.그냥 제 PC에 브라우저에서 localhost:80이라고 접속하면 되지 않구요!왜그런걸까요?? 이거에 대한 설명이 부족한거 같아서 질문으로 올립니다.
-
해결됨개발자를 위한 쉬운 도커
docker 실행시 네트워크 질문
강사님 강의 잘 듣고 있습니다.docker 컨테이너 실행시, --network 옵션으로 네트워크를 지정해주지 않으면 디폴트로 'bridge' 라는 네트워크에 컨테이너가 실행되는건가요?? network 리스트에서 'bridge'라는 name을 찾아서 기본값으로 사용하는걸까요?
-
미해결[2024] [DevOps] 빠르고 안전한 어플리케이션 배포 파이프라인(CI/CD) 만들기
강의 교안
강의 교안은 없는 건가요? 못잧겠어요. 어느경로에 있나요 ?
-
미해결[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
nodemon refresh
터미널에 yarn start:dev 를 입력하면 에러가 나와고 있어요. 어떻게 해결할까요? node:internal/modules/cjs/loader:1147 throw err; ^Error: Cannot find module '/Users/navruzbekabdullajonov/Desktop/codecamp-backend-mento/class/section03/index.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15) at Module._load (node:internal/modules/cjs/loader:985:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:135:12) at node:internal/main/run_main_module:28:49 { code: 'MODULE_NOT_FOUND', requireStack: []}Node.js v20.11.1[nodemon] app crashed - waiting for file changes before starting...^[[A
-
미해결초보를 위한 쿠버네티스 안내서
kubectl apply 적용 시 status "imagepullbackoff, errimagepull" 상태
안녕하세요 kubectl apply -f wordpress-k8s.yml 적용시 이미지들이 제대로 불러와지지 않습니다.확인 부탁드립니다 감사합니다 (__ ) kubectl get all 사진과 아래 kubectl describe pod 명령어 출력 내용 전달 드립니다. Name: wordpress-746bd6d54b-glpjqNamespace: defaultPriority: 0Service Account: defaultNode: minikube/172.22.59.104Start Time: Tue, 23 Apr 2024 15:41:01 +0900Labels: app=wordpress pod-template-hash=746bd6d54b tier=frontendAnnotations: <none>Status: PendingIP: 10.244.0.10IPs: IP: 10.244.0.10Controlled By: ReplicaSet/wordpress-746bd6d54bContainers: wordpress: Container ID: Image: wordpress:5.9.1-php8.1-apache Image ID: Port: 80/TCP Host Port: 0/TCP State: Waiting Reason: ImagePullBackOff Ready: False Restart Count: 0 Environment: WORDPRESS_DB_HOST: wordpress-mysql WORDPRESS_DB_NAME: wordpress WORDPRESS_DB_USER: root WORDPRESS_DB_PASSWORD: password Mounts: /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-v6cfh (ro)Conditions: Type Status Initialized True Ready False ContainersReady False PodScheduled True Volumes: kube-api-access-v6cfh: Type: Projected (a volume that contains injected data from multiple sources) TokenExpirationSeconds: 3607 ConfigMapName: kube-root-ca.crt ConfigMapOptional: <nil> DownwardAPI: trueQoS Class: BestEffortNode-Selectors: <none>Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s node.kubernetes.io/unreachable:NoExecute op=Exists for 300sEvents: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 7m50s default-scheduler Successfully assigned default/wordpress-746bd6d54b-glpjq to minikube Warning Failed 7m9s kubelet Failed to pull image "wordpress:5.9.1-php8.1-apache": Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 172.22.48.1:53: read udp 172.22.59.104:33889->172.22.48.1:53: i/o timeout Warning Failed 6m29s kubelet Failed to pull image "wordpress:5.9.1-php8.1-apache": Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 172.22.48.1:53: read udp 172.22.59.104:46061->172.22.48.1:53: i/o timeout Warning Failed 5m46s kubelet Failed to pull image "wordpress:5.9.1-php8.1-apache": Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 172.22.48.1:53: read udp 172.22.59.104:39787->172.22.48.1:53: i/o timeout Normal Pulling 4m58s (x4 over 7m49s) kubelet Pulling image "wordpress:5.9.1-php8.1-apache" Warning Failed 4m35s (x4 over 7m9s) kubelet Error: ErrImagePull Warning Failed 4m35s kubelet Failed to pull image "wordpress:5.9.1-php8.1-apache": Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 172.22.48.1:53: read udp 172.22.59.104:39383->172.22.48.1:53: i/o timeout Warning Failed 4m23s (x6 over 7m9s) kubelet Error: ImagePullBackOff Normal BackOff 4m9s (x7 over 7m9s) kubelet Back-off pulling image "wordpress:5.9.1-php8.1-apache" Warning Failed 2m40s kubelet Failed to pull image "wordpress:5.9.1-php8.1-apache": Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 172.22.48.1:53: read udp 172.22.59.104:45684->172.22.48.1:53: i/o timeoutName: wordpress-mysql-78488dd7d5-t9mz5Namespace: defaultPriority: 0Service Account: defaultNode: minikube/172.22.59.104Start Time: Tue, 23 Apr 2024 15:41:01 +0900Labels: app=wordpress pod-template-hash=78488dd7d5 tier=mysqlAnnotations: <none>Status: PendingIP: 10.244.0.9IPs: IP: 10.244.0.9Controlled By: ReplicaSet/wordpress-mysql-78488dd7d5Containers: mysql: Container ID: Image: mariadb:10.7 Image ID: Port: 3306/TCP Host Port: 0/TCP State: Waiting Reason: ImagePullBackOff Ready: False Restart Count: 0 Environment: MYSQL_DATABASE: wordpress MYSQL_ROOT_PASSWORD: password Mounts: /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-7hxcx (ro)Conditions: Type Status Initialized True Ready False ContainersReady False PodScheduled True Volumes: kube-api-access-7hxcx: Type: Projected (a volume that contains injected data from multiple sources) TokenExpirationSeconds: 3607 ConfigMapName: kube-root-ca.crt ConfigMapOptional: <nil> DownwardAPI: trueQoS Class: BestEffortNode-Selectors: <none>Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s node.kubernetes.io/unreachable:NoExecute op=Exists for 300sEvents: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 7m50s default-scheduler Successfully assigned default/wordpress-mysql-78488dd7d5-t9mz5 to minikube Warning Failed 7m29s kubelet Failed to pull image "mariadb:10.7": Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 172.22.48.1:53: read udp 172.22.59.104:50523->172.22.48.1:53: i/o timeout Warning Failed 6m49s kubelet Failed to pull image "mariadb:10.7": Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 172.22.48.1:53: read udp 172.22.59.104:42046->172.22.48.1:53: i/o timeout Warning Failed 6m7s kubelet Failed to pull image "mariadb:10.7": Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 172.22.48.1:53: read udp 172.22.59.104:51638->172.22.48.1:53: i/o timeout Normal Pulling 5m15s (x4 over 7m49s) kubelet Pulling image "mariadb:10.7" Warning Failed 4m55s (x4 over 7m29s) kubelet Error: ErrImagePull Warning Failed 4m55s kubelet Failed to pull image "mariadb:10.7": Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 172.22.48.1:53: read udp 172.22.59.104:42815->172.22.48.1:53: i/o timeout Warning Failed 4m40s (x6 over 7m29s) kubelet Error: ImagePullBackOff Normal BackOff 2m47s (x12 over 7m29s) kubelet Back-off pulling image "mariadb:10.7"
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
Database retry 관련
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요~ 좋은 강의 잘 듣고 있습니다 세션 16. 도커 컴포즈 구축 추가 강의 보다가 질문드립니다. docker compose는 컨테이너 혹은 컨테이너 내부 프로세스가 실행 가능한 상태가 되기 전 종속 컨테이너가 실행되어 실행 오류가 나는것을 방지하기 위해 health check 기능을 제공하는 것으로 알고 있습니다.혹시 이 기능을 사용하지 않고 데이터베이스 retry 기능을 로직으로 구현해놓으신 이유가 있으실까요? (기능이 적합하지 않거나 하자가 있거나 등)
-
해결됨개발자를 위한 쉬운 도커
컨테이너 실행 명령어관련 질문드립니다.
명령어 관련해서 헷갈리는 부분이 있어 질문드립니다.명령어 "docker run ~" 관련해서 '-p' 옵션을 따로 추가해서 설정하지 않고 실행하면 특정 포트로 publishing이 되지는 않지만 컨테이너가 내부에서 그냥 실행 되고있는건가요??
-
해결됨개발자를 위한 쉬운 도커
이미지 레이어 관련 궁금증 질문드립니다!
안녕하세요 궁금증이 생겨 질문드립니다!강의 중 엔진엑스로 만든 이미지가 있는데 index.html이 다른 A가 있고 B가 있다라는 예시가 있었습니다. 이때 아래와 같이 설명해주셨는데요 이미지를 공유해서 사용하는거랑 컨테이너 생성속도랑 어떻게 연관이 있는건지 잘 이해가 가지 않아 질문드립니다.동일한 이미지로 컨테이너를 아주 많이 만들어도 이 이미지로 실행된 모든 컨테이너가 하나의 이미지를 공유해서 읽어옵니다. 실제로 큰 부분을 차지하는 이미지를 하나로 유지할 수 있기 때문에 컨테이너를 생성할 때 속도가 빨라지는 것이죠. 또한 아래와 같이 설명해주셨는데요컨테이너를 만들 때 사용된 이미지에 따라서 이미지의 읽기 전용 레이어 전체를 공유할수도 있고 일부만 공유할 수도 있습니다 이렇게 이미지의 읽기 전용 레이어를 활용하면 컨테이너를 실행할 때 전체 공간을 복사하지 않아도 되기 때문에 컨테이너를 빠르게 실행할 수 있습니다. 그리고 컨테이너가 늘어나면서 사용하는 공간을 최대한 작게 관리할 수 있습니다.엔진엑스 이미지 A가 다운받아져있다 가졍하고 index.html이 다른 이미지 B를 다운 받는다 가정해보겠습니다. 이미지 B를 다운받을때 이미지 A와 레이어가 같은것은 다운받지 않고 레이어가 다른 index.html레이어만 다운받는걸까요? 컨테이너가 늘어나면서 사용하는 공간을 최대한 작게 관리할 수 있다라는게 어떤것인지 잘 이해가 되지 않아 질문드려봅니다 (레이어별로 파일이 나뉘어 있는걸까요)혹시 위와 같은 부분을 실습으로 확인할 수 있는 것이나 공식문서 부분에서 확인할 수 있는게 있다면 같이 부탁드립니다!