안녕하세요! 강의 정말 잘 들었습니다. 강의를 듣고 나서 혼자 프로젝트에 적용해 보던 중, 몇 가지 궁금한 점이 생겨 질문드립니다. 강의에서는 Docker Compose를 활용하여 세 개의 컨테이너를 하나의 컴포즈 파일로 묶고, 동일한 네트워크를 사용하여 API를 주고받는 방식을 설명해 주셨습니다. 이를 참고하여 직접 간단한 프로젝트를 만들어 실습해 보았는데, DB 연결에는 문제가 없었지만 프론트엔드와 백엔드 간의 통신에서 CORS 문제가 발생했습니다. 혹시 LEAFT 프로젝트에서는 CORS 문제를 어떤 방식으로 해결했는지 궁금합니다. 또한, AWS에 배포할 경우 Docker Compose로 프론트엔드와 백엔드를 하나로 묶어 한 번에 배포하는 것이 일반적인지, 아니면 각각 별도로 배포하는 것이 더 일반적인지도 궁금합니다. 다시 한번 좋은 강의 해주셔서 감사합니다!
실습에 문제 발생 시 최대한 캡쳐 화면을 꼭 올려 주세요. (원인 파악에 도움이 큽니다) 영상 내용 질문 시 해당 영상 제목과 내용이 있는 시간을 같이 올려주세요. (내용을 다시 들어보고 답변을 드리기 위해서 입니다) 긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com) 카페 [강의 자료실]에도 많은 질문과 답변들이 있어요! cafe: https://cafe.naver.com/kubeops 젠킨스 파이프라인 2211 실행완료해고 배포 잘 되었는데 쿠버네티스 대시보드에서 이런식으로 계속 경고 뜨면서 디플로이먼트 실행 안되다가 가끔씩 되어도 redinessprobe 경고 뜨는데 이유를 모르겠어서 질문 올립니다. 현재 앱은 잘 실행되는거 같은데 자꾸 이 오류가 뜨네요. 이유를 모르겠어서 질문 올립니다. 현재 총메모리량은 93퍼를 사용중인데 가상환경 서버 메모리가 남아 있더란도 이 총 메모리량때문에 오류가 뜰수 있는건가요?
안녕하세요. 강의 잘 듣고 있습니다. EC2 userdata에 강사님이 제공한 스크립트를 넣고 인스턴스 시작을 하면 스크립트 실행이 되지 않고 있어서 문의 드립니다. EC2 처음 생성시에는 스크립트가 잘 동작하는데 한번 instance stop한 다음에 다시 start 하면 실행이 되지 않습니다. 테스트를 스크립트 내에 echo 등 다양한 방법으로 시도를 해 보았는데 실행이 되지 않고 있습니다. 직접 connect 해서 아래 스크립트 실행하면 잘 됩니다. Security Group 이슈는 아닐 것 같습니다. 혹시 어떤 문제가 있는지 확인 가능할까요? 그리고 첫번째 인스턴스 생성시에 aws-operation-prac 폴더가 ec2-user에 생기는 것이 아니고 "/" 루트에 생성이 됩니다. 아래 userdata 스크립트입니다. 인스턴스를 몇개 만들어서 테스트를 해도 동일한 결과가 나옵니다. 이 이슈로 ALB, Auto scaling 등에서 진행이 되지를 않고 있습니다. #!/bin/bash sudo yum update -y sudo yum install -y git sudo yum install -y java-17-amazon-corretto-devel git clone -b 2_monolithic_cloud https://github.com/burger-2023/aws-operation-prac.git cd aws-operation-prac ./gradlew build sudo java -jar build/libs/aws-msa-monolithic-prac-0.1.jar
안녕하세요. 도커 데스크탑 설치가 회사 컴퓨터로 설치하다보니 유료버젼만 가능한 상태인데 혹시 다른 방법에 대해 설명 해주실 수 있으실까요? https://hackerpark.tistory.com/entry/Windows-%EB%8B%A8%EC%9D%BC-%EB%AA%85%EB%A0%B9-%ED%95%9C%EC%A4%84%EB%A1%9C-WSL2-Ubuntu-%ED%86%B5%ED%95%A9-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0 https://hackerpark.tistory.com/entry/Docker-Windows-WSL%EC%97%90%EC%84%9C-Docker-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0-Docker-Desktop-%EC%95%84%EB%8B%98 위 링크와 같은 글들을 봤는데 맞는지 모르겠습니다. 우선 설치해서 해보았는데 도커의 버전은 확인가능 하나(docker --version) 도커 실행이 되지 않습니다. docker is not running cannot connect to the docker daemon at unix:///var/run/docker.sock. is the docker daemon running? 위와 같이 나오는 상황입니다.
포트 포워딩을 통해 mysql을 외부에서 접속가능하게 할려고하는데 PS C:\kubernates\mysql-project> kubectl port-forward pod/mysql-deployment-545cb7c695-dxbm7 3306:3306 Unable to listen on port 3306: Listeners failed to create with the following errors: [unable to crea te listener: Error listen tcp4 127.0.0.1:3306: bind: An attempt was made to access a socket in a way forbidden by its access permissions. unable to create listener: Error listen tcp6 [::1]:3306: bind: An attempt was made to access a socket in a way forbidden by its access permissions.] error: unable to listen on any of the requested ports: [{3306 3306}] 이런식으로 오류가 떠서 어떻게 해야될지 모르겠어요...ㅠㅠ
EC2에서 ECR이미지를 pull하여 실행중에 exec /usr/java/openjdk-17/bin/java: exec format error 해당 오류가 계속발생합니다. dockerimage가 ec2의 arm64와 달라서 그렇다는 글도 있어 docker buildx build --platform linux/arm64 -t kube-ecr . 해당 명령어로 build하여 ECR에 push도 해보고 했지만 여전히 같은 오류가 발생합니다. 어떻게 해결해야할까요??
안녕하세요! Configmap과 Secret 기본 개념 강의를 보다가 궁금한 것이 생겨 문의 드립니다. 수업 자료 중 컨테이너 안에 볼륨 마운트 경로인 /usr/src/myapp/datasource/dev 안에 postgresql-info.yaml 이 생성되는 것으로 표시 설명하셨는, 실제로는 secret-datasource 마운트 경로인 secret-datasource에 있습니다. 볼륨 설정 중 "files"는 앱에서 사용할 볼륨을 설정하는 것이고, "secret-datasource"는 secret의 내용을 저장하는 볼륨으로 이해하면 맞는 걸까요?
안녕하세요 강의 재밌게 듣고 있습니다. 멀티 스테이지 빌드 강의 부분 7분42초 경에 대해 궁금한 점이 있습니다. 멀티 스테이지 빌드는 빌드 스테이지 따로, 빌드한 아티팩트 실행 스테이지 따로 이렇게 진행되는 것으로 알고 있는데요 여기서 첫 번째 스테이지에서 FROM maven AS build 이렇게 주고 --from 으로 가져올 때 빌드 컨텍스트에서 가져오지 않고 스테이지에서 가져온다고 하였는데 여기서 스테이지가 이해가 가지 않는데 첫 번째 빌드 스테이지가 실행되고 난 뒤 해당 이미지 디렉토리에서 파일을 가져온다는 뜻인가요.?
강사님 안녕하세요:) 강의 잘 듣고 있으며 docker에 대해 쉽고 친절하게 알려주셔서 감사합니다. 질문을 한개 드립니다. '[실습] AWS ECR 사용해보기' 강의를 들으면서 aws ecr get-login-password로 시작하는 명령어를 사용해 로그인을 시도했습니다. 그런데 아래와 같은 에러가 표출되었습니다. Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'> BrokenPipeError: [Errno 32] Broken pipe [1] 69874 exit 120 aws ecr get-login-password --region ap-northeast-2 | 69875 killed docker login --username AWS --password-stdin 이것은 어떻게 해결할 수 있을까요~?
안녕하세요. 컨테이너 가상화에서 OS 관련하여 질문이 있습니다. 아래 설명에서 궁금한점이 있습니다. """ 하이퍼바이저 가상화는 게스트OS와 호스트OS가 따로 존재합니다. 컨테이너 가상화는 리눅스 커널 기술을 활용해서 프로세스 간 격리를 합니다. 컨테이너 가상화에서 컨테이너는 호스트OS를 사용합니다. 이미지 개발자는 소프트웨어, 의존성 파일, OS를 준비해 이미지로 만듭니다. """ 이미지에 OS가 있다면 호스트OS와 게스트OS 개념이 들어가는거 아닌가 싶어서요 그러면 하이퍼바이저 가상화가 아닌가 싶어서요... 사용자 환경이 windows or ubuntu고 이미지에 사용하고 있는 os는 linux or centos라고 가정할때 해당 이미지를 실행하면 다른 os를 가지는거 아닌가 싶습니다. 추가로 "이미지의 이름을 동료나 친구에게 전달해 주시면 어떤 환경에서든 도커만 설치되어 있으면 완벽하게 일치하는 서버를 구성할 수 있습니다." 해당 작동이 어떻게 될 수 있는지도 궁금합니다. 제 windows 환경에서 도커이미지를 만들어 배포를 합니다. linux를 사용하고 있는 동료가 해당 이미지를 사용하게 되었을때 어떻게 완벽하게 일치하는 서버를 구성할 수 있는지도 궁금하고요.
보안적으로 민감한 변수를 저장하기 위해 활용한다고 배웠습니다. 그러나 Secret의 작성 방법이 별다른 암복호화 로직없이 configMap과 99% 동일한 것 같아서요. 같은 repository에서 Secret과 ConfigMap가 함께 위치하는 경우 ConfigMap에 접근할 수 있는 사용자는 Secret에도 손쉽게 접근할 수 있을것 같다는 생각이 듭니다. Secret이 ConfigMap보다 어떠한 측면에서 보안상의 이점이 있는지 궁금합니다.
Pod 내부 API는 성공한다는 말이 User 초기화 상관없이 내부에서 성공하는 API를 말하는 것인가요 ? 외부 트래픽은 차단됐다는 말이 아직 User 초기화가 되지 않아서 외부 API는 차단이 되고, 이 상황에서 내부에서는 날리는 API는 실행되기 때문에 (App이 기동됐기 때문) 내부 API는 성공을 한다고 이해하면 될까요 ?
안녕하세요. 선생님 오늘도 공부하다 궁금증이 생겨 질문 드립니다. services: my-web-server: container_name: webserver image: nginx ports: - 80:80 여기서 선생님이 나눠주신 자료랑 강의를 보면 하나의 서비스가 하나의 컨테이너라고 설명해주셨습니다. 그러면 my-web-server는 서비스 이름이니까 컨테이너 이름도 맞는 설명인가 같은데 아래 보면 container_name: webserver 도 하나의 컨테이너 이름으로 설명하셨습니다. 이 my-web-server와 webserver 차이점이 무엇인지 궁금하고 어느 곳에서 쓰이는지 활용사례(?)도 궁금합니다!!