묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
젠킨스 배포에서 ansible의 역할에 대해 궁금한 점이 있습니다.
안녕하세요. MSA 강의부터 젠킨스까지 강의 재밌게 듣고 있습니다. 강의를 듣다가 ansible의 역할에 대해 궁금한 점이 생겨 질문드립니다.현재 저희가 구축한 환경은젠킨스 -> ansible -> k8s로 이루어진 환경으로 알고있습니다. 젠킨스가 빌드하고 빌드된 파일을 ansible로 보내서 ansible에서 이미지를 빌드 및 푸시하고 k8s에서 해당 이미지를 사용하여 배포하는 과정이라고 이해했습니다.저는 여기서 ansible의 역할이 jenkins만으로 충분히 대체될 수 있다는 생각이 들었습니다. 이미지를 빌드하고 푸시하는 과정을 jenkins의 exec command나 script로 따로 짜서 진행하면 ansible의 역할을 대체할 수 있나요? 만약 대체할 수 있다면 그럼에도 불구하고 ansible을 사용하는 이유가 분명이 있을 것이라 사료되는데요, 저희가 구축한 환경 혹은 현업에서 ansible이 또 어떤 방식으로 활용될 수 있을지가 궁금해서 질문드립니다.감사합니다.
-
미해결DevOps를 위한 Docker 가상화 기술 (Private Harbor Registry)
오타+강의 자료 질문
6:05초에이미지가ubuntu가 아니라mariadb입니다...강의 명령어를 모아둔 자료는 없을까요?
-
해결됨개발자를 위한 쉬운 도커
cmd 질문
5분 42초에 말씀하신 Cmd는 띄어쓰기를 인식이 안되어 띄어쓰기 기준으로 배열로 저장된다고 해주셨는데요, daemon off도 띄어쓰기가 되어있는데,띄어쓰기의 기준이 명령어 한개로 보는건가요?daemon off => 명령어 한개 라서 배열 하나에 들어간건지 궁금합니다
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
yml 파일 관리
안녕하세요 강의 들으면서 진행중인 토이 프로젝트에 적용시켜 보고 있습니다. gitignore 처리 된 yml 파일을 관리하는 부분에서 궁금증이 생겨 질문 드립니다. 현재 프로젝트엔 yml파일이 3종류 있는데(jwt, oauth 관련) 이렇게 yml 파일이 여러개인 경우 APPLICATION_PROPERTIES1,2,3 이렇게 여러개 만들어서 각각 적용해 주려고 합니다. 이게 좋은 방법일까요? 다른 방법이 있는지도 궁금합니다!그리고 cat 명령어로 yml 파일의 내용을 읽어 봤는데 강의에서처럼 파일 자체의 내용이 나오지 않고 APPLICATION_PROPERTIES 이라고 나오는데 정상적인건가요?
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
EC2에 SonarQube 설치 오류 해결법
강의에서 SonarQube를 설치하기 위해 사용했던 코드는sudo wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.6.zip였습니다.하지만, openjdk-17버전에서 위의 SonarQube 버전으로 작업을 했을 때, SonarQube가 최신 JVM 버전에서 더 이상 지원되지 않는 UseConcMarkSweepGC 옵션을 사용하므로 실행이 되지 않습니다.따라서, openjdk-17버전으로 자바를 설치하신 분들은 sudo wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.9.1.69595.zip위 명령어를 사용하셔서 진행하시면 될 것 같습니다. :)
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
강의 마지막부분 ssh-copy-id 명령어 질문드립니다.
강의내용에ssh-copy-id root@172.17.0.2 로 되어있습니다.처음부터 강의 따라왔다면 172.17.0.2 는 jenkins-server일텐데강의 내용대로 172.17.0.2 에 copy하는게 맞나요??아니면 강의순서대로 올 경우 ansible ip는 172.17.0.4니까copy는 172.17.0.3에 하는기 맞나요??실습 따라하기 너무 햇갈리내요
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
윈10 docker-server 문제로 실행 안될경우 참고.
실행시 마지막에 ...access permission. 에러시 아래 참고※ 윈도우 10022포트 확인하여 아래 적용 후 1번 시작- 10022포트 막혀있는지 확인: netsh interface ipv4 show excludedportrange protocol=tcp- winnat 정지: net stop winnat- 10022포트 허용: netsh int ipv4 add excludedportrange protocol=tcp startport=10022 numberofports=1- winnat 시작: net start winnat
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Error response from daemon: The system cannot find the file specified.
Error response from daemon: The system cannot find the file specified.이런 오류가 뜹니다 DB 실행하면 . .
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
window에서 docker minikube 사용하시는 분들... ssh 접속 ping 테스트 공유
https://learn.microsoft.com/ko-kr/windows-server/administration/openssh/openssh_install_firstuse?tabs=powershell를 따라서 window ssh 서버 클라이언트 설치하고ansinble-server와 윈도우 pc(쿠버네티스 돌아갈 host)에 python 3.9로 설치해줬고,ansible-server에서 pip install pywinrm 설치linux에서 ssh-keygen 한 것 윈도우 pc에 authorized_key에 직접 복사해줬음https://github.com/AlbanAndrieu/ansible-windows/blob/master/files/ConfigureRemotingForAnsible.ps에서 파일 직접 받아서파워쉘에서powershell.exe -ExecutionPolicy ByPass -File C:\Users\user\Downloads\ConfigureRemotingForAnsible.ps1파워쉘에서 실행ansible-server에서 vi /ect/ansible/host[local] localhost [docker] 172.17.0.3 [windows] 본인 컴퓨터(윈도우) host pc의 ip입력 [windows:vars] ansible_password='본인 컴퓨터((윈도우) host pc 비밀번호 입력' ansible_connection=winrm ansible_winrm_server_cert_validation=ignore ansible_user=user ansible_port=5986를 작성해서 저장ansible windows -m win_ping -u userwin_ping으로 핑 테스트 하면 정상 동작함➕ ./k8s/hosts파일 에서 [kubernetes]도 [kubernetes:vars] 위와 같이 작성해줘야 -i ./k8s/hosts kubernetes 로 win_ping 보냈을 때 응답 받을 수 있어요
-
해결됨Jenkins를 이용한 CI/CD Pipeline 구축
tomcat 배포 문제 war? jar?
안녕하세여 강의듣다가 현재 진행중인 프로젝트를 tomcat에 올려볼까 시도하고 있는데 잘안되서 여쭤봅니다. gradle 프로젝트이고 .jar -> .war으로 변환해서 올리고있는데 404에러가뜹니다. maven 프로젝트로만 사용해야되는 건가요 ?
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
ansible server에서 window로 ssh접속확인시 오류가 납니다.
관련 질문 찾아서 진행했는데 이렇게 오류 뜨면서 마지막 명령어 실행이 안되는데 왜이럴까요...
-
해결됨개발자를 위한 쉬운 도커
섹션 3 실습도중에
실습강의처럼 똑같이 docker run -d -p 80:80 --name my-simple-web zxcxz01/my-simple-web:0.1해서도 안되고 포트번호가 안되는건가 싶어서 포트번호를 바꿔서docker run -d -p 8080:3000 --name my-simple-web zxcxz01/my-simple-web:0.1를 해도 안돼서 무슨 문제인지 모르겠습니다.. 강의랑 똑같이 했는데 이 전 섹션에서 이미지받아온걸론 8080:3000을 했을땐 잘됐어서 포트번호를 바꿔서 해봤는데 요번섹션은 저렇게 나와서 해결도 못하고 있습니다.. 계속 지웠다가 다시해도 안되고
-
해결됨개발자를 위한 쉬운 도커
docker cp 또는 docker run cmd 에서 root 경로(/) 작성은 꼭 해야될 필요가 없는 건가요??
안녕하세요 선생님, 영상을 계속 보다보니 궁금한 게 생겨서 질문드립니다.docker run ~~~~ 하고 맨 끝에 CMD 를 덮어쓸 명령어를 작성하실 때 저는 당연히 "/bin/bash" 처럼 작성할 줄 알았는데, "bin/bash" 로 입력하시더라구요. 그런데 이게 또 되니까 더 신가하더군요.이뿐만 아니라 docker cp 할 때도 docker cp . gradle:app 을 할 때도 gradle:/app 이 아니라 gradle:app 처럼 작성해도 정상 동작이 됩니다.이렇게 "/" 경로를 앞에 붙이지 않아도 동작이 되는 이유가 뭔지 알 수 있을까요?
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
ECS 클러스터에서 레디스와 express 연결할 때 질문이 있습니다!
강사님 안녕하세요! 이미지 관리 풀스택 강의부터 너무 잘 들어서 몽고DB랑 AWS 배포 완벽 가이드까지 너무너무 잘 듣고 있습니다. AWS 배포 완벽 가이드 - 섹션 10: AWS Elastic Container Service (ECS) 자세히 알아보기!를 듣던 중, 아래와 같이redis 태스크 정의를 하였습니다.클러스터 내부에서 redis 서비스를 만들 때,아래와 같이 서비스 연결을 활성화했습니다.같은 클러스터 내부에서 express 서비스를 만들 때, 환경변수 설정시 REDIS_URL을 2번 서비스 연결 항목에서 tcp를 redis로 바꾸어서 설정하였습니다.그런데, cloudWatch로 express 로그를 찍어보니 아래와 같이 redis 연결이 안 되더라구요 ㅠㅠ그런데, 클러스터 내부 redis 보안 그룹의 인바운드 규칙에 아래와 같이 같은 보안 그룹을 가진 인바운드 트래픽은 6379 포트를 열게 설정했더니 갑자기 문제가 해결되었습니다..강사님께서 강의를 찍으실 때 클러스터 내부에서 레디스 서비스 생성시 보안 그룹은 따로 설정을 안 해주신 걸로 아는데, 혹시 제가 놓친 부분이라든지 강의 이후에 달라진 게 있을까요?? 문제를 당장 해결은 했는데,,, 원인을 모르겠습니다 ㅠㅠ 앞으로도 좋은 강의 많이 내주세요! 감사합니다!
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
실습5 진행시 젠킨스에서 playbook실행 커맨드 추가하고 빌드 시 오류
Running as SYSTEM Building in workspace /var/jenkins_home/workspace/My-First-Project The recommended git tool is: NONE No credentials specified > git rev-parse --resolve-git-dir /var/jenkins_home/workspace/My-First-Project/.git # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url https://github.com/joneconsulting/cicd-web-project # timeout=10 Fetching upstream changes from https://github.com/joneconsulting/cicd-web-project > git --version # timeout=10 > git --version # 'git version 2.39.2' > git fetch --tags --force --progress -- https://github.com/joneconsulting/cicd-web-project +refs/heads/*:refs/remotes/origin/* # timeout=10 > git rev-parse refs/remotes/origin/main^{commit} # timeout=10 Checking out Revision df356f7f9629011a817acf6fbd0ae17864226dea (refs/remotes/origin/main) > git config core.sparsecheckout # timeout=10 > git checkout -f df356f7f9629011a817acf6fbd0ae17864226dea # timeout=10 Commit message: "changed version to 3.2.5" > git rev-list --no-walk df356f7f9629011a817acf6fbd0ae17864226dea # timeout=10 SSH: Connecting from host [00eb708d0fb1] SSH: Connecting with configuration [ansible-server] ... SSH: Creating session: username [root], hostname [172.17.0.3], port [22] SSH: Connecting session ... SSH: Connected SSH: Opening SFTP channel ... SSH: SFTP channel open SSH: Connecting SFTP channel ... SSH: Connected SSH: cd [.] SSH: OK SSH: Remote root is not absolute, getting absolute directory from PWD SSH: cd [/root] SSH: OK SSH: put [hello-world.war] SSH: Opening exec channel ... SSH: EXEC: channel open SSH: EXEC: STDOUT/STDERR from command [ansible-playbook -i hosts first-devops-playbook.yml] ... SSH: EXEC: connected PLAY [all] ********************************************************************* TASK [Gathering Facts] ********************************************************* fatal: [172.17.0.3]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: root@172.17.0.3: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).", "unreachable": true} PLAY RECAP ********************************************************************* 172.17.0.3 : ok=0 changed=0 unreachable=1 failed=0 skipped=0 rescued=0 ignored=0 SSH: EXEC: completed after 1,002 ms SSH: Disconnecting configuration [ansible-server] ... ERROR: Exception when publishing, exception message [Exec exit status not zero. Status [4]] Build step 'Send build artifacts over SSH' changed build result to UNSTABLE Finished: UNSTABLE실습 5번 진행하면서 젠킨스에서 ansible-server를 ssh로 연결 한 후에 playbook 실행 exec에 작성하고 빌드하면 위와 같은 문제가 납니다...yml파일을 ansible-server에서 직접 실행하면 동작이 되는데 젠킨스에서 빌드 할 때 만 오류가 나네요.... ㅠㅠ
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
IAM에서 역할의 권한 추가 질문있습니다.
강의 잘 듣고 있습니다! 제가 AWS는 잘 몰라서 질문이 있습니다.IAM >역할에서 EC2의 권한을 추가할때 예전에 S3 접근 권한은 수업 내용 중 'code-deploy-ec2-policy'라는 정책을 만들고 IAM > 역할에서 EC2의 권한을 부여했는데요,ECR의 접근 권한을 부여할때는 정책을 따로 만들어서 권한을 부여하지 않고, 'AmazonEC2ContainerRegistryFullAccess' 권한을 직접 추가한 이유가 따로 있으신가요?결과적으로 둘다 같지만 정책을 별도로 추가해서 작업하는 것은 JSON에서 커스텀할 수 있기 때문인가요?
-
미해결세 시간만에 끝내는 쿠버네티스부터 마이크로서비스, CI/CD, 서비스 메시까지
kubernetes 구조 설계에 관한 질문
안녕하세요.쿠버네티스를 vm에 직접 구축해서 서비스를 올려보려고 하고 있습니다. 네트워크 관련해서 여쭤보려고 하는데요.쿠버네티스 클러스터(master node, worker node 들)는 private zone에 두고 metal lb에 공인 ip를 줘서 외부에서 통신이 들어올 때, 쿠버네티스 클러스터로 직접 들어오는 것이 아니라 metal lb를 통해서 들어오게 구성하고 싶은데, 이게 가능한 구조 일까요? 혹시 저 방법이 아니면 위와 같은 구조를 설계하려고 할 때 어떤 방식으로 인프라 설계를 해야되는지 여쭤보고자 합니다. 감사합니다.
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
docker compose 를 사용할 때 CICD 방법 질문입니다
compose.yml과 프로젝트 소스를 Git PushGithub Actions 에서 도커 이미지 생성생성한 이미지 도커 허브에 전달Github Actions 에서 EC2로 compose.yml 전송Github Actions 에서 SSH로 EC2에 접속해서docker compose downdocker compose pulldocker compose up제가 생각하기에는 이 순서로 진행해야 할 것 같은데 혹시 잘못된게 있을까요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
draw.io 오류
파일이 없거나 권한이 없다고 뜨는데 어떻게 해결해야할까요?
-
해결됨개발자를 위한 쉬운 도커
설명 질문입니다..!
강사님 안녕하세요~!강사님 강의 덕분에 도커에 대해 많이 알아가고 있어서 좋습니다!!혹시 강의 내용 중02:00: IP주소는 8바이트04:22: IP주소는 8바이트라고 설명해 주시는 부분을 8비트로 이해하면 되는 게 맞나 싶어서 문의드려요!