묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
깃허브 캐싱
.gitignore에 추가된 application.yml을 CI/CD로 관리하기 강의에서 1:40초 부분에서 git add . / git status한 다음에 application.yml이 수정이 되고 있다. 캐싱떄문이라고 하셨는데 . application.properties를 yml로 바꾸고aws: access-key: ABCDEFG secret-key : HOIJOIASDJO 이 값들을 입력했는데 git status에 어느부분이 문제인건가요? yml파일도 modified?라는 상태가 안떠서 문제인건지 정확히 이해를 못해서 질문 남깁니다. 혹시 .gitignore에 넣었으니깐 새로운 파일을 추가하던 수정을 하던 git status에 안떠야 정상인건가요?
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
sudo nohup java -jar jscode-0.0.1-SNAPSHOT.jar & 설치 오류?
사진과 같이 강사님과 똑같이 그리고 제공해준 실습 자료를 복사 붙여넣기하면서 따라하고 있는데 저기 sudo nohup java -jar jscode-0.0.1-SNAPSHOT.jar &설치에서 강사님은 엔터를치면 ip를 확인할 수 있는 코드를 치면 나오는데 저는 exit 1 등이 뜨면서 설치가 안됩니다. 제가 잘못한 것이 있나요?node 유저라서 자바는 잘 모릅니다.
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
깃허브 시크릿
- name: application.yml 만들기 run: echo "${{ secrets.APPLICATION_PROPERTIES }}" > ./src/main/resources/application.yml 강의에서 이런식으로 시크릿 변수에 yml을 미리 넣었는데 만약에 yml안에서도 시크릿 변수를 사용하면 제대로 동작을 하나요?? ex)kakaopay: secretKey: ${KAKAOPAY_KEY} 이런식으로 yml에 있다고 할 때
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
이전 강의 이후 파드 제거??
무게감 있게 설치하는 방법 3/3 - 최종 정리 이후대시보드에 파드가 17개가 있습니다.Loki를 실습하기 위해서 파드를 다 지워도 되는건가요?
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
영상과 일치하는 Vagrantfile 버전이 있을까요?
curl -O https://raw.githubusercontent.com/k8s-1pro/install/main/ground/k8s-1.27/vagrant-2.4.3/Vagrantfile로 다운시 파일의 버전이 강의와 맞지않아서 당시에 사용하신 파일을 받을 수 있는 링크가 있을까요?
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
목표 throughput, latency는 어떤 기준으로 정하나요?
혹시 보편적으로 공유되고 있는 기준치가 별도로 존재할까요? 아니면 매번 회사, 서비스마다 달라지기 때문에 자체적으로 고민을 해야 하는 건가요 ? ㅠ ㅠ
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
aws t3a.small 비용
실습에 사용하는 t3a.small 인스턴스는 프리티어 지원이 안되는 것으로 알고 있는데 맞나요?맞다면 실습으로 인한 비용은 어느 정도로 예상해볼 수 있을까요
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
백엔드 API 설정을 https로 하고 싶은 경우
현재 서비스에서 백과 프론트의 소통이 https://도메인으로 이뤄지고 있는데, 이 경우에는 ALB와 타겟그룹 설정 시 80포트 말고 443 포트를 열도록 하면 되나요?
-
미해결비전공자도 이해할 수 있는 Nginx 입문/실전
Vite 없이 React만 배포할 시
제가 백엔드 쪽으로만 공부해서 그러는데 Vite 적용 안하고 React만 써도 영상처럼 사용 가능한가요?
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
프로메테우스랑 로키스택 설치관련 질문
안녕하세요. 강의 잘 보고 있습니다.제가 현재 맥 환경에서 사용중인데요. 제가 기존에 사용하는 페러럴즈라는 VM프로그램이 있는데, 그거로 사용시에 대쉬보드설치는 완료했는데, 프로메테우스랑 로키스택의 경우는 설치가 되지 않더라구요. 현재 제가 작은 서버를 하나 가지고 있어서 네트워크를 고정아이피로 사용중인데요. 그래서 192.168.56.x를 사용할수 없어 제가 사용하는 ip를 기반으로 VM IP를 또한, 공유네트워크를 사용할 수 없어 기본어뎁터를 베이스로하는 브릿지 모드로 맞췄습니다. 빠른설치 게시글을 통해서 해당 부분 ip를 변경해서 대쉬보드 설치는 완료해서 띄울 수 있었는데요. 프로메테우스와 로키스택의 경우는 pending이 발생하거나 설치자체가 안되는지 상태를 알수없다는 STATUS만 나오게 됩니다. 그래서 깃허브에 올려놓으신 yaml파일을 읽어보았는데요. 프로메테우스와 로키스택에서는 ip를 명시하는 부분은 없더라구요?(다른 yaml파일에서는 발견함) 왜 이런 현상이 나타나는지 모르겠습니다. 크러쉬가 일어나지도 않아서 로그가 남겨지진 않구요... 뭐가 문제일까요?ㅠㅠ 그래서 UTM을 설치해서 실행했을때는 문제가 없이 동작했습니다. 다른 부분이라하면 ip만 강의와 다르게 했을 뿐인데 .yaml파일에 ip명세가 문제가 아니라면 뭐가 문제일까요?
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
Node로 CI/CD 제작 중 안되는 이유
강사님 안녕하세요. nest를 완강하고 개인적으로 Node로 만들어보고 있습니다. 근데 Github Actions 까지 무사히 잘 완료가 되었는데요.배포가 제대로 되어있는지 확인하려고 하니까 안되고 있습니다.이렇게 서버가 살아있고 저는 3000번 포트를 사용해서 https://43.202.202.143:3000/ 이라고 작성했는데 접속이 안되더라고요. 제가 Gpt랑 나름 찾아봐서 작성해본 코드는 아래와 같습니다. =============================name: Deploy To EC2 on: push: branches: - dev jobs: deploy: runs-on: ubuntu-latest steps: - name: Github Repository 파일 불러오기 uses: actions/checkout@v4 - name: Node 설치 uses: actions/setup-node@v4 with: node-version: "20" - name: 의존성(라이브러리) 설치 run: yarn install --frozen-lockfile - name: .env 파일 만들기 run: | echo '${{secrets.ENV}}' > .env # - name: 테스트 코드 실행 # run: npm run test # - name: 빌드 # run: npm run build - name: 압축하기 run: tar -czvf project.tar.gz .env package.json yarn.lock src - name: SCP로 EC2에 빌드된 파일 전송하기 uses: appleboy/scp-action@v0.1.7 with: host: ${{ secrets.EC2_HOST }} username: ${{ secrets.EC2_USERNAME }} key: ${{ secrets.EC2_PRIVATE_KEY }} source: project.tar.gz target: /home/ubuntu/Solo-Resume-Project/tobe - name: SSH로 EC2에 접속하기 uses: appleboy/ssh-action@v1.0.3 with: host: ${{ secrets.EC2_HOST }} # EC2의 퍼블릭 IPv4 주소 = 고정 주소를 말함. 연결 된 상태의 43.202.xxx.xxx <- 이런거 username: ${{ secrets.EC2_USERNAME }} # EC2 접속 username = 대부분 우분투 key: ${{ secrets.EC2_PRIVATE_KEY }} # EC2의 key-pair 파일의 내부 텍스트 script_stop: true script: | rm -rf /home/ubuntu/Solo-Resume-Project/current mkdir /home/ubuntu/Solo-Resume-Project/current mv /home/ubuntu/Solo-Resume-Project/tobe/project.tar.gz /home/ubuntu/Solo-Resume-Project/current/project.tar.gz cd /home/ubuntu/Solo-Resume-Project/current tar -xvf project.tar.gz yarn install pm2 kill pm2 start src/app.js --name "backend-server" =============================세팅도 전부 다했고요.근데 pm2 logs를 작성하면 아래와 같이 나옵니다.제가 env에 서버포트 번호를 넣어놓고 상수값을로 지정한 후에 따로 빼서 사용하는데 그것 때문인가요?기존의 vs 코드에서는 잘 작동이 됩니다.처음 혼자서 node로 작성하는거다보니 너무 질문이 많아서 죄송한데 답을 알려주시옵소서!!!
-
해결됨비전공자도 이해할 수 있는 Nginx 입문/실전
location = /50.x.html 블럭
안녕하세요! 좋은 강의 잘 보고 있습니다!! default.conf 파일에서 location = /50.x.html 블럭의 역할이 location / 블럭과 동일해서 필요없는거 같은데 존재하는 이유가 뭔가요??단지, 현재는 두개의 블럭의 root 값이 똑같아서 그런거고 나중에 달라질수 있기때문에 일단 블럭이 2개 만들어져있는 건가요 ??
-
미해결비전공자도 이해할 수 있는 Nginx 입문/실전
NextJS 15버전의 경우 build 후 폴더가 다른 것 같습니다
NextJS 15버전에서 build를 하면 .next라는 폴더가 생기고 server폴더, static 폴더를 포함한 다양한 파일들이 나타납니다.그런데 html 파일이 없는데 어떻게 nginx 세팅을 해야하는지 잘 모르겠습니다...!
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
다양한 API가 있는 경우 효율적으로 테스트하는 방법이 있을까요?
안녕하세요 강사님! 강의를 완강한 한 학생입니다!제가 이번에 스프링부트로 개발한 서비스를 하나 배포할 예정이고 얼마 만큼의 부하를 견딜 수 있을지 궁금하여 부하테스트를 공부하고자 강의를 수강하였습니다. 근데 막상 부하테스트를 해볼려고 제가 만든 서비스에 API들이 약 30개 가까이 되는데 이 많은 API들을 어떻게 테스트 할지가 고민입니다.(학업 관련 서비스입니다. 그래서 Oauth 로그인, 시간표 CRUD, 친구 관리, 과제 CRUD 같은 API가 있습니다)하나 하나 다 테스트를 해야하는지 아니면 시나리오를 구성하여 테스트를 해야하는지 그리고 시나리오를 구성한다면 어떻게 구성해야할지 막막합니다. 어떤식으로 하면 좋을지 조언을 받고 싶습니다ㅠㅠㅠ
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
한방에 빠르게 설치하기에서 에러가 나는데요
일단 Vagrantfile보면yum install -y kubelet-1.27.2-150500.1.1.x86_64 kubeadm-1.27.2-150500.1.1.x86_64 kubectl-1.27.2-150500.1.1.x86_64 --disableexcludes=kubernetes 이렇게 각 버전을 직접 명시했는데....저는 공식가이드에서 1.30을 선택하면 그냥 버전명이 안붙은채로 되던데...어떻게 저 디테일한버전을 찾을수있나요?그리고 일단 그보다....이런 상황이고 해당 노드 내용을 보면이런 에러가 뜨고요..왠만한건 모두 pending상태입니다.해당 파드 describe 보면 0/1 nodes are available: 1 node(s) had untolerated taint {node.kubernetes.io/not-ready: }. preemption: 0/1 nodes are available: 1 Preemption is not helpful for scheduling 이거구요.. 이게 처음 설치할때 로그를 보면 여기에서부터 문제인것도 같은데...kubeadm설치시 master-node: [preflight] You can also perform this action in beforehand using 'kubeadm config images pull' master-node: W0228 15:14:16.156514 25883 checks.go:844] detected that the sandbox image "registry.k8s.io/pause:3.6" of the container runtime is inconsistent with that used by kubeadm.It is recommended to use "registry.k8s.io/pause:3.9" as the CRI sandbox image.버전이 서로 안맞다고 나옵니다.뭐가 잘못된걸까요? 그리고 vagranfile에는 kubeadm init --pod-network-cidr=20.96.0.0/16 --apiserver-advertise-address 192.168.56.30 이렇게만 있는데런타임유닉스 도메인 소켓 경로containerdunix:///var/run/containerd/containerd.sock--cri-socket=unix:///var/run/containerd/containerd.sock이부분을 추가해줘야 하나요?
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
containerd 버전확인방법
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo이부분을 추가하고 나서 설치버전을 확인할수있는데이해가 안되는게 지금 github 가이드 보면 1.6 LTS 와 1.7LTS 가 보이는데 그래서 1.7을 설치하고자 하는데 dnf list containerd.io --showduplicates | sort -r 명령어로 실행해보면 최신버전이 1.6 까지밖에 안보입니다.저는 1.7버전 이상을 사용하고 싶고 패키지 설치명령어는<major>.<minor>.<patch> 만 있는게 아니라 containerd.io-1.6.21-3.1.el8 이렇게 el8까지 보이는데 containerd 릴리즈 사이트에서는 패치까지만 보이고 그 이후는 볼수가 없습니다. 이부분이 알고싶습니다.
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
vagrant up 설치에러
vagrant up하면 에러를 FAQ에서 보고 해봐도 잘 안되네요. 검색해보고 찾아보고 coreinfo -v확인도 해보고 해봤는데..다시도 설치해보고 Hyper-V 비활성화도 되어있구요.관리자권한으로 실행도 해봤구요. 보안에서 해당 virtualbox폴더 차단 제외도 해봤구요. 에러내용은 아래와 같습니다. 해당 위치 로그 파일 내용은 다음과 같습니다. 44a8.453c: 00007ff7f25a25fd / 0x01125fd: 00 != 4e44a8.453c: 00007ff7f25a25fe / 0x01125fe: 00 != 4744a8.453c: 00007ff7f25a25ff / 0x01125ff: 00 != 5844a8.453c: Restored 0xa08 bytes of original file content at 00007ff7f25a25f844a8.453c: Error (rc=-5607):44a8.453c: ntdll.dll: SizeOfImage (0x263000) isn't close enough to the mapping size (0x266000)44a8.453c: Error (rc=-5607):44a8.453c: supHardenedWinVerifyProcess failed with -5607: ntdll.dll: SizeOfImage (0x263000) isn't close enough to the mapping size (0x266000)44a8.453c: Error -5607 in supR3HardNtChildPurify! (enmWhat=5)44a8.453c: supHardenedWinVerifyProcess failed with -5607: ntdll.dll: SizeOfImage (0x263000) isn't close enough to the mapping size (0x266000)
-
미해결쿠버네티스 어나더 클래스-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의 변화도 필요한게 아닌가요??
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
혹시 DB를 RDS로 빼지 않고 EC2안에 설치하게 되면 메트릭을 어떻게 측정할까요?
안녕하세요. 좋은 강의 잘 듣고 있습니다.예제에서 처럼이 아니라 EC2안에 DB 서버를 설치하게 된다면, 또 Spring 서버 뿐만이 아니라 필요에 따라 그 옆에 express 서버도 한 EC2 안에서 같이 돌릴 일도 있을 거라 생각하는데, 그런 경우에는 각각의 메트릭을 어떤 식으로 측정이 가능할지 질문 드립니다.
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
node, nest 사용자도 쉽게 이해가 가능할까요?
제목 그대로 node, nest 사용자인데 강의 목록에서 보면 java로 하시더라고요. 근데 제가 초보자여서 강의에서 하시는 것을 보고 node, nest에서도 쉽게 활용이 가능할지 궁금합니다. 난이도가 어느정도로 생각하면 될까요? 지식은 java는 아에 없고 node, nest는 기초적인 지식 정도만 있습니다.