묻고 답해요
137만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2
안녕하세요 혹시 해당 에러에 대해 아시는 것 있을까요?
실습에 문제 발생 시 최대한 캡쳐 화면을 꼭 올려 주세요. (원인 파악에 도움이 큽니다)영상 내용 질문 시 해당 영상 제목과 내용이 있는 시간을 같이 올려주세요. (내용을 다시 들어보고 답변을 드리기 위해서 입니다)긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com)카페 [강의 자료실]에도 많은 질문과 답변들이 있어요!cafe: https://cafe.naver.com/kubeops 안녕하세요. 강의 잘 듣고 있습니다. 제가 다음 프로젝트에서 쿠버네티스를 도입하려고 강의에서 알려준거랑 환경을 다르게 구성해서 연습중입니다.현재 맥북 + 페러럴즈 + 우분투 ARM 사용해서 환경을 구성했는데요.. 가상 머신을 껐다키면 쿠버네티스가 동작을 안하네요. 환경이 달라서 원인을 파악하기 힘드시겠지만.. 혹시 관련 로그에 대해 아시는 것 있을까 싶어 여쭤봅니다.컴퓨터를 껐다 켰을 때, 대쉬보드에 들어가면 기존에 쿠버네티스에서 동작중인 모든 오브젝트들은 살아있습니다. 다만 kubectl을 실행하면 아래와 같은 오류가 뜹니다.E0905 20:15:10.171672 276979 memcache.go:265] couldn't get current server API group list: Get "https://10.211.55.15:6443/api?timeout=32s": tls: failed to verify certificate: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "kubernetes") 또 pod를 죽였다 살릴 때도 아래와 같은 오류가 뜨는데요..Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "dc4cf5655bccd6b273ffc61819e4bbded2684d83fd06b4868e0f9de836d7d9c0": plugin type="calico" failed (add): error getting ClusterInformation: connection is unauthorized: Unauthorized 둘 다 권한에 의해 생기는 문제인 것 같은데 혹시 짐작가시는 것 있을까요? 다시 설치하면 정상적으로 동작하긴 하는데.. 원인을 정확히 모르겠어서 질문드립니다. 감사합니다.
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
CI/CD 구현시, 여러 개의 인스턴스는 어떻게 적용할 수 있을까요?
안녕하세요~!비전공자도 이해할 수 있는 CI/CD 입문·실전수업 너무 잘 보고 있습니다~!CodeDeploy까지 친절한 수업 잘 봤습니다. 감사합니다!혹시, 복수개의 인스턴스(EC2)를 배포하고 관리하는 방법도 알 수 있을까요~?생각 보다 운용중 AWS EC2에 장애가 발생할 수 있어 복수의 EC2를 준비해야 한다는 주변의 이야기를 들었습니다 ㅠㅠ감사합니다!
-
미해결쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2
Unable to locate package kubelet, kubeadm, kubectl
실습에 문제 발생 시 최대한 캡쳐 화면을 꼭 올려 주세요. (원인 파악에 도움이 큽니다)영상 내용 질문 시 해당 영상 제목과 내용이 있는 시간을 같이 올려주세요. (내용을 다시 들어보고 답변을 드리기 위해서 입니다)긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com)카페 [강의 자료실]에도 많은 질문과 답변들이 있어요!cafe: https://cafe.naver.com/kubeops 사내에서 진행하고 있어 그냥 Azure VM을 만들어서 실습을 따라하고 있었습니다. 환경은 Ubuntu 24.04 버전 기존 22 버전을 사용하다 이 버전에 gpg key issue가 있다고 하여 24로 올렸습니다. 하지만 에러가 발생하여 문의 올립니다.https://kubernetes.io/ko/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#kubeadm-kubelet-%EB%B0%8F-kubectl-%EC%84%A4%EC%B9%98기준으로 설치 진행중입니다.sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl마지막으로 진행하는 이 CLI에 대해서 진행하던 중이러한 문제가 발생했습니다. 어떻게 진행하면 될까요?
-
미해결쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2
Jenkins 서버에 Kubectl 설치 해야하나요?
실습에 문제 발생 시 최대한 캡쳐 화면을 꼭 올려 주세요. (원인 파악에 도움이 큽니다)영상 내용 질문 시 해당 영상 제목과 내용이 있는 시간을 같이 올려주세요. (내용을 다시 들어보고 답변을 드리기 위해서 입니다)긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com)카페 [강의 자료실]에도 많은 질문과 답변들이 있어요!cafe: https://cafe.naver.com/kubeops 현재 구성하려고 하는 건, 서버 1에 Jenkins를 window운영체제로 실행해놓고, 나머지 서버 2에는 Kubernetes를 활용해서 구성하려고 합니다.1. 서버 1에도 Kubernetes 관련 파일들을 설치해야할까요?사용하려는 형상저장소를 Github가 아닌 bitbucket을 쓰려고 합니다. 사용하는데 문제는 없나요? 현재 소스코드가 jre1.8로 돌아가는데, jenkins에는 jdk 17 버전을 사용하고 추가로 jdk 8버전을 다운해서 사용하면 될까요?
-
미해결쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2
Vagrant SSL 인증 오류
실습에 문제 발생 시 최대한 캡쳐 화면을 꼭 올려 주세요. (원인 파악에 도움이 큽니다)영상 내용 질문 시 해당 영상 제목과 내용이 있는 시간을 같이 올려주세요. (내용을 다시 들어보고 답변을 드리기 위해서 입니다)긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com)카페 [강의 자료실]에도 많은 질문과 답변들이 있어요!cafe: https://cafe.naver.com/kubeops 이렇게 발생하면서 Root certificate 오류가 발생하는데 이러한 오류는 어떻게 처리하면 될까요?
-
미해결쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2
서비스 (NodePort) 질문 드려요.
안녕하세요. 강의 잘 듣고 있습니다.다름이 아니라 쿠버네티스관련 책을 보니깐 NodePort에서 targetPort 와 nodePort 이외에 그냥 port도 있길래요.. 여기저기 찾아봐도 이해가 잘 안되어서요.. 혹시 그냥 port는 어떤 용도인지 질문 드려도 될까요? apiVersion: v1kind: Servicemetadata: name: nginx-svc labels: app: nginxspec: type: NodePort ports: - port: 8080 nodePort: 31472 targetPort: 80 selector: app: nginx 실습에 문제 발생 시 최대한 캡쳐 화면을 꼭 올려 주세요. (원인 파악에 도움이 큽니다)영상 내용 질문 시 해당 영상 제목과 내용이 있는 시간을 같이 올려주세요. (내용을 다시 들어보고 답변을 드리기 위해서 입니다)긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com)카페 [강의 자료실]에도 많은 질문과 답변들이 있어요!cafe: https://cafe.naver.com/kubeops
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
환경변수 질문 있습니다
저는 application.yml을 통째로 git secret에 작성하지 않고 다음과 같이 각각을 환경변수로 잡아서 민감한 정보를 숨겼습니다. 그리고 build step 에서 env를 통해 환경변수 값들을 전달해서 사용하려 하였는데, 실제 docker를 통해 실행할 때 해당 환경변수 값들을 찾을수 없다는 에러가 발생하는 상황입니다.저는 build 단계에서 해당 환경변수 값들이 모두 들어간 상태의 완전한 상태로 build가 된다고 생각했지만 실제로는 해당 환경변수들을 일단 빈값으로 놔두고 build하기 때문이라고 알게되었는데 저의 이러한 방식보다는 그냥 application.yml을 통째로 git secret에 넣는 방식이 좋은걸까요..?spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: {SQL_URL} username: {SQL_USERNAME} password: {SQL_PASSWORD} jpa: hibernate: ddl-auto: update properties: hibernate: format_sql: true data: redis: host: {REDIS_HOST:localhost} port: ${REDIS_PORT:6379}name : Deploy To EC2 on: push: branches: - main - feat/ci_cd jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: JDK 17 version install uses: actions/setup-java@v4 with: distribution: temurin java-version: 17 - name: test and build run: | chmod +x ./gradlew ./gradlew clean build working-directory: ./ env: SQL_URL: {{ secrets.DB_URL }} SQL_USERNAME: {{ secrets.DB_USERNAME }} SQL_PASSWORD: {{ secrets.DB_PASSWORD }} REDIS_HOST: {{ secrets.REDIS_HOST }} REDIS_PORT: {{ secrets.REDIS_PORT }} AWS_ACCESS_KEY: {{ secrets.AWS_ACCESS_KEY }} AWS_REGION: {{ secrets.AWS_REGION }} AWS_S3_BUCKET: {{ secrets.AWS_S3_BUCKET }} AWS_SECRET_KEY: {{ secrets.AWS_SECRET_KEY }} TOUR_INFO_KEY: {{ secrets.TOUR_INFO_KEY }} - name: AWS credential setup uses: aws-actions/configure-aws-credentials@v4 with: aws-region: {{ secrets.AWS_REGION }} aws-access-key-id: {{ secrets.AWS_ACCESS_KEY }} aws-secret-access-key: {{ secrets.AWS_SECRET_KEY }} - name: ECR login id: login-ecr uses: aws-actions/amazon-ecr-login@v2 - name: Docker image create run: docker build -t kkilogbu . - name: Docker tag run: docker tag kkilogbu {{ steps.login-ecr.outputs.registry }}/backend:latest - name: Docker image push to ECR run: docker push {{ steps.login-ecr.outputs.registry }}/backend:latest - name: EC2 connection with SSH uses: appleboy/ssh-action@v1.0.3 with: host: {{ secrets.EC2_HOST }} username: {{ secrets.EC2_USERNAME }} key: {{ secrets.EC2_PRIVATE_KEY }} script: | docker stop kkilogbu || true docker rm kkilogbu || true docker pull {{ steps.login-ecr.outputs.registry }}/backend:latest docker run -d --name kkilogbu -p 8080:8080 ${{ steps.login-ecr.outputs.registry }}/backend:latest
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
codedeploy 배포 관련 질문
현재 appspec.yml을 보면 S3에 저장한 모든 파일을 destination에 저장하도록 되어있습니다.files: # S3에 저장한 파일들 중 destination(AWS EC2)으로 이동시킬 대상을 지정한다. # / 이라고 지정하면 S3에 저장한 전체 파일을 뜻한다. - source: / # EC2의 어떤 경로에 저장할 지 지정한다. destination: /home/ubuntu/spring-gift-point그런데 push를 여러개 진행하면 tar.gz파일도 여러개 생기게되는데 이러면 S3의 있는 모든 tar.gz파일을 가져오게되는건가요?deploy.yml에서 파일 압축을 할 때 yml 파일과 scripts폴더를 같이 압축하는 이유가 궁금합니다. 두 파일 모두 project.jar 파일에 들어있기 때문에 project.jar파일만 압축해도 상관없지않나요?- name: 압축하기 run: tar -czvf $GITHUB_SHA.tar.gz project.jar appspec.yml scriptscodedeploy를 활용한 무중단 배포나 로드 밸런싱 강의를 할 수 있다고 하셨는데 따로 강의를 내실 예정이 있으신지 궁금합니다!
-
미해결쿠버네티스 어나더 클래스 (지상편) - Sprint3
컨테이너-일관성 있는 배포 환경 관련 질문
VM환경에서는 VM안에 Guest OS가 있고 JDK가 있어 JDK가 GuestOS의 라이브러릴 사용하므로 OS버전이 업데이트되면 문제가 발생한다고 이해했습니다. 그런데 컨테이너를 사용하면 호스트OS의 운영체제를 패치하더라도 JDK에 대한 영향도가 없어진다고 말씀하셨는데 이 부분이 정확하게 이해가 안가서 질문드립니다. 컨테이너 환경도 GuestOS는 없지만 Host OS의 커널을 이용해서 HostOS 버전에 따라 영향이 있지 않나요?이 부분이 잘 이해가 안갑니다...
-
미해결쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2
쿠버네티스 최신상태 저장 방법
안녕하세요,쿠버네티스 강의 듣고, 관심있는 솔루션을 쿠버네티스로 배포하면서 궁금한게 생겼습니다. 쿠버네티스에 A라는 솔루션을 배포하고 나서, 해당 pod에 직접들어가서설정을 바꾸고 필요에 따라 특정 패키지를 설치하는 등의 작업을 했습니다. 그리고 나서 쿠버네티스를 띄운 PC가 정지가되서 다시 PC를 부팅하고 쿠버네티스에 들어가 보니처음배포한 상태로 running이 됩니다. 최근상태로 pod를 저장했다가 다시 그 상태로 올릴 수는 없는건가요?
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
역할과 정책에 관한 질문
IAM 설정을 처음해보면서 역할과 정책에 대한 개념이 아직 제대로 이해되지 않은거 같아 질문드립니다.'다른 AWS 리소스에 접근하기 위해선 역할이나 사용자를 생성해 그 안에서 정책을 연결해서 권한을 부여해야한다.' 이렇게 이해했는데 맞을까요?ec2에서는 역할을 만들때 정책을 생성했는데 CodeDeploy에서는 정책을 설정하지 않아도 되는 이유가 궁금합니다.EC2 인스턴스는 역할 연결을 통해, github actions는 엑세스 키를 통해 권한을 부여받는다고 이해했는데 맞을까요?
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
도커 이미지 푸시까지는 성공하나, ssh에서 fail이 나옵니다.
강의 및 노션에 있는 부분을 최대한 응용해서, next.js app을 생성중입니다.ecr 저장소에서 도커 이미지가 확실히 푸시되었지만, ssh접속에서 에러가 발생했습니다.======CMD====== docker stop instagram-server || true docker rm instagram-server || true docker pull 767398114270.dkr.ecr.ap-northeast-2.amazonaws.com/instagram-server:latest docker run -d --name instagram-server -p 3000:3000 767398114270.dkr.ecr.ap-northeast-2.amazonaws.com/instagram-server:latest ======END====== err: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.44/containers/instagram-server/stop": dial unix /var/run/docker.sock: connect: permission denied err: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Delete "http://%2Fvar%2Frun%2Fdocker.sock/v1.44/containers/instagram-server": dial unix /var/run/docker.sock: connect: permission denied err: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.44/images/create?fromImage=767398114270.dkr.ecr.ap-northeast-2.amazonaws.com%2Finstagram-server&tag=latest": dial unix /var/run/docker.sock: connect: permission denied 2024/08/13 11:11:21 Process exited with status 1그래서 workflow를 수정했는데, 밑에 처럼 진행하니 정상처리가 되었습니다.- name: SSH로 EC2에 접속하기 uses: appleboy/ssh-action@v1.0.3 with: host: ${{ secrets.EC2_HOST }} # 인스턴스의 퍼블릭 IP 또는 DNS 이름 username: ${{ secrets.EC2_USERNAME }} # 일반적으로 'ubuntu' 또는 'ec2-user' key: ${{ secrets.EC2_PRIVATE_KEY }} # SSH 개인 키 script_stop: true script: | aws ecr get-login-password --region ap-northeast-2 | sudo docker login --username AWS --password-stdin ${{ steps.login-ecr.outputs.registry }} sudo docker stop instagram-server || true sudo docker rm instagram-server || true sudo docker pull ${{ steps.login-ecr.outputs.registry }}/instagram-server:latest sudo docker run -d --name instagram-server -p 3000:3000 ${{ steps.login-ecr.outputs.registry }}/instagram-server:latest혹시 제가 실수하거나 놓친 부분이있을까요??
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
배포는 성공하지만, pm2 list를 확인해보면 에러가 발생이 되어있습니다.
해당 부분을 응용해서, aws linux / next.js를 진행하고 있었습니다. 앞선 강의는 잘 되었으나, 해당 강의해서 어려움을 겪게되어 질문을 남기게 되었습니다.우서 배포를 확인해보니 성공, s3버킷에는 압춗파일이 잘 올라갔습니다.ls를 통해서 디렉토리까지 생성이 되는것을 확인하였습니다.하지만 node_modules가 설치가 안되어 log를 확인해보니,아래와 같은 에러가 발생합니다. 혹시 설정에 문제가 있을까요? cd: /home/ec2-user/instantgram-server: No such file or directory 2024-08-12 15:00:19 [stderr]npm ERR! Tracker "idealTree" already exists 2024-08-12 15:00:19 [stderr] 2024-08-12 15:00:19 [stderr]npm ERR! A complete log of this run can be found in: /home/ec2-user/.npm/_logs/2024-08-12T15_00_19_547Z-debug-0.log 2024-08-12 15:00:20 [stdout][PM2] Spawning PM2 daemon with pm2_home=/home/ec2-user/.pm2 2024-08-12 15:00:20 [stdout][PM2] PM2 Successfully daemonized 2024-08-12 15:00:20 [stderr][PM2][WARN] No process found 2024-08-12 15:00:20 [stdout][PM2] [v] All Applications Stopped 2024-08-12 15:00:20 [stdout][PM2] [v] PM2 Daemon Stopped 2024-08-12 15:00:21 [stdout][PM2] Spawning PM2 daemon with pm2_home=/home/ec2-user/.pm2 2024-08-12 15:00:21 [stdout][PM2] PM2 Successfully daemonized 2024-08-12 15:00:21 [stdout][PM2] Starting /usr/bin/npm in fork_mode (1 instance) 2024-08-12 15:00:21 [stdout][PM2] Done.#appspec.yml version: 0.0 os: linux files: # S3에 저장한 파일들 중 destination(AWS EC2)으로 이동시킬 대상을 지정한다. # / 이라고 지정하면 S3에 저장한 전체 파일을 뜻한다. - source: / # EC2의 어떤 경로에 저장할 지 지정한다. destination: /home/ec2-user/instagram-server permissions: - object: / owner: ec2-user group: ec2-user hooks: ApplicationStart: - location: scripts/start-server.sh timeout: 60 runas: ec2-user#deploy.yml name: Deploy To EC2 on: push: branches: - master jobs: Deploy: runs-on: ubuntu-latest steps: - name: Github Repository 파일 불러오기 uses: actions/checkout@v4 # Github Repository의 파일을 가져오는 Action - name: Node.js 설치 uses: actions/setup-node@v4 # Node.js를 설치하는 Action with: node-version: 18.x # Node.js 버전 - name: 의존성(라이브러리) 설치 run: npm ci # npm ci는 package-lock.json에 있는 의존성을 설치하는 명령어 - name: .env 파일 만들기 run: | echo '${{ secrets.ENV }}' > .env - name: 테스트 코드 실행 run: npm run test - name: 빌드 run: npm run build # 빌드 - name: 압축하기 run: tar -zcvf $GITHUB_SHA.tar.gz appspec.yml scripts public .next .env package.json package-lock.json # 압축 - name: AWS Resource에 접근할 수 있게 AWS credentials 설정 uses: aws-actions/configure-aws-credentials@v4 with: aws-region: ap-northeast-2 aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCRESS_KEY }} - name: S3에 프로젝트 폴더 업로드하기 run: aws s3 cp --region ap-northeast-2 ./$GITHUB_SHA.tar.gz s3://instagram-server-s3/$GITHUB_SHA.tar.gz - name: Code Deploy를 활용해 EC2에 프로젝트 코드 배포 run: aws deploy create-deployment --application-name instagram-server --deployment-config-name CodeDeployDefault.AllAtOnce --deployment-group-name Production --s3-location bucket=instagram-server-s3,bundleType=tgz,key=$GITHUB_SHA.tar.gz #start-server.sh #!/bin/bash echo "-----------------서버 바로 배포 시작-----------------" cd /home/ec2-user/instantgram-server npm i pm2 kill pm2 start npm --name "my-next-app" -- start echo "-----------------서버 바로 배포 끝-----------------"
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain
구글링해서 나온건 다따라해봤는데 ,...안돼네요 강사님 하신거랑 똑같이했는데 메시지는 키값을못찾는다고나오는거같은데...이거 방법이 없을까요
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
질문입니다.
비전공자도 이해할 수 있는 AWS 입문/실전 인강을 다 듣고 비전공자도 이해할 수 있는 CI/CD 입문·실전 을 들으려고 하는데 강의가 겹치는것 같아요? 어디서부터 들으면 될까요?
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
gitignore 및 branch에 대한 질문
강의를 들으면서 궁금증이 생겼습니다.gitignore에 설정된 파일은 깃허브에만 노출되지 않는것인지, 아니면 git clone으로 프로젝트 다운 시에는 폴더 안에 존재하는지 궁금합니다.만약 clone으로 다운 시 존재하지 않는다면 다른 사람이 제 프로젝트를 clone 하더라도 로컬에서 제대로 돌아가지 않는 게 제 생각인데 맞을까요?ec2에서 현재 프로젝트에 여러 branch가 있을 때, 그 중에서 어떤 branch의 코드를 사용할지는 어떻게 정해지는지 궁금합니다.
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
time out 질문
현재 github actions 실행할때마다 계속 Run Command timeout 뜨는 상태입니다. swap 생성을 해주었는데도 계속 실패하네요..아래는 yml 코드입니다.# Workflow의 이름 # Workflow : 하나의 yml 파일을 하나의 Workflow라고 부른다. name: Deploy To EC2 # Event : 실행되는 시점을 설정 # main이라는 브랜치에 push 될 때 아래 Workflow를 실행 on: push: branches: - step3 # 하나의 Workflow는 1개 이상의 Job으로 구성된다. # 여러 Job은 기본적으로 병렬적으로 수행된다. jobs: # Job을 식별하기 위한 id deploy: # Github Actions를 실행시킬 서버 종류 선택 runs-on: ubuntu-latest # Step : 특정 작업을 수행하는 가장 작은 단위 # Job은 여러 Step들로 구성되어 있다. steps: - name: SSH(원격 접속)로 EC2에 접속하기 # Step에 이름 붙이는 기능 uses: appleboy/ssh-action@v1.0.3 with: host: ${{ secrets.EC2_HOST }} # IP 주소 username: ${{ secrets.EC2_USERNAME }} key: ${{ secrets.EC2_PRIVATE_KEY }} # 키페어 값 script_stop: script: | cd /home/ubuntu/spring-gift-point git pull origin step3 ./gradlew bootJar -x test sudo fuser -k -n tcp 8080 || true nohup java -jar build/libs/*SNAPSHOT.jar > ./output.log >&1 &
-
미해결쿠버네티스 어나더 클래스 (지상편) - Sprint3
컨테이너와 VM 비교 해주신 설명중에 궁금한 부분이 있습니다.
안녕하세요. 좋은강의 많은 도움을 받고있어 항상 감사드립니다."아무나 모르는 컨테이너 기술의 장점" 섹션을 수강하던중 아래와같은 두가지 궁금한 부분이 있어 질문드립니다.VM과 Container를 비교설명 해주셨는데요. Container 설명 중에 개발자 환경이 Windows Host에 Container 환경을 구성하여 개발환경과 같은 linux명령, 환경을 동일하게 시험해 볼 수 있다고 하셨습니다. 이때 host os에 커널을 공유하는게 Container기술이라고 이해하고 있었는데, Windows Host에 linux 컨테이너 이미지가 가능한 건가요? 컨테이너가 VM에 비해 이미지화/dockerhub를 통한 배포로 인해 동일한 환경을 배포함에 있어서 장점이 있다고 설명해주셨는데요. sprint 1,2 실습환경을 제공해 주신것처럼, vagrant 와 packer를 이용하면 VM도 Container와 비슷한 조건이지 않은가요?
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
현재 강의 진행 하기전에 하나씩 훑어 보고있는중에 질문이...
안녕하세요. 현재 강의 진행 하기전에 하나씩 훑어 보고있는중에 질문이 생겨서 질문을 드립니다.아무래도 인프라, 백엔드 쪽 코드에 중점으로 맞춰서 강의를 해주신 거 같습니다. 프론트 프레임워크도 강의 섹션이 있지만, vercel 혹은 s3, cloudfront로 진행을 해주셨는데, 이렇게 간단하게 아닌, next.js도 ec2, ecr, codebuild로 진행하고 싶습니다. js코드를 보면서 익히고 싶은데, 그나마 제가 보면서 대입하기 편한 강의는 nest.js로 보이는데, 이걸로 봐도 이해하는데 지장이 없을까요??
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
DB 마이그레이션 방법 및 풀리퀘스트 거부 시 처리
안녕하세요 강의 잘 보고 있습니다~~강의를 듣다 의문점이 생겨 질문을 드립니다.전체적인 과정에 대해 생각해보다 나온 생각으로 하나의 강의에 직접적인 연관이 있지는 않습니다.개발 서버, QA, 스테이징 서버, 운영서버의 DB CI/CD는 현업에서 어떤 식으로 하나요?찾아본 결과 두 가지 방식이 있었습니다.Docker volumeFlyway 등 마이그레이션 라이브러리 사용만약 EC2 RDS를 사용하면 다른 서버에서도 그냥 DB를 사용해야 하는 게 아닌가 하는 생각이 듭니다. 개발서버는 Docker를 사용하고 운영서버에서는 RDS를 사용하는 식으로 하지는 않을 것 같은데 관련 내용이 궁금합니다.Docker volume을 사용하여 대량의 데이터를 관리하는 경우가 현업에서 있는지 궁금합니다.QA브랜치에서 테스트를 통과하지 못하면 수정 브랜치를 만들어 개발서버에 다시 머지하고 테스트하나요? QA브랜치 뿐만 아니라 다른 브랜치에 오류가 생기면 바로 머지 할 지(hotfix처럼), 개발 브랜치에 머지 해 테스트를 다시 할 지 선택하는 건지 궁금합니다.풀 리퀘스트가 거절되면 통합된 코드들은 어떻게 되는 지 궁금합니다. 항상 롤백이 되는 거라고 이해하면 될까요?쉽고 확실하게 설명해주셔서 많이 배웠습니다. 조금 더 확실히 하기 위해서 질문을 드립니다. 항상 감사합니다!!