- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. MacOs m1 사용중인데 Dockerfile을 이용해서 이미지 빌드한 후에 docker run --privileged -p 8080:8080 --name mytomcat docker-server:latest 명령어로 컨테이너 실행하면 exec /usr/local/tomcat/bin/ catalina.sh : invalid argument 오류가 발생합니다 edowon0623/docker-server:m1으로 이미지 받아서 실습 내용과 동일하게 실행했습니다
Dockerfile로 이미지가 만들어진 상태에서 docker run --privileged -p 8080:8080 --name mytomcat docker-server:latest 명령어를 입력하면 위와 같은 에러가 발생합니다. 실습 환경은 DinD 방식을 사용하고 있으며, edowon0623/docker-server:m1 이미지를 pull 받아서 컨테이너를 실행시키고 있습니다
아래 이미지는 도커 실행 후 docker ps 명령어로 docker 가 잘 실행중인지 확인한 것인데요,, 이후 브라우저에서 " http://127.0.0.1:8080/ " 로 접속하면 사이트에 연결할 수 없음으로 나오는데 " http://127.0.0.1:8081"로 접속하면 로그인 창이 열리고 있습니다... 임시 비밀번호로 로그인도 잘 되고요.. 혹시 원인을 알 수 있는 방법이 있을까요? - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
제가 만든 프로젝트에서 배포하려고 강의를 보면서 따라하고 있습니다 +scp 에러가 뜨길래 강의 보면서 따라했습니다 우선 docker로 넘어가서 키 생성한 뒤에 application-instance에서 생성한 public key를 넣어주었는데 서로 일치하지 않는건지 계속 같은 오류가 뜹니다 또한 젠킨스 dashboard에서도 credentials에 잘 설정해주었는데도 이러네요ㅜ 저 private key에는 아까 docker로 넘어가서 생성한 키의 private key를 넣어주었습니다
다운받은 docker 이미지에 ssh 접속까지 잘되는데 거기서 docker 를 띄우려고 하면 masked 되어있다고 나옵니다. 검색을 해봐서 systemctl unmask docker 또는 sysatemctl unmask docker.service 를 해봐도 mask 상태가 풀리지 않습니다. [root@27555416d6cd system]# systemctl status docker ● docker.service Loaded: masked (Reason: Unit docker.service is masked.) Active: inactive (dead) [root@27555416d6cd system]# systemctl enable docker Failed to enable unit: Unit file /usr/lib/systemd/system/docker.service is masked.
jenkins pipeline 스크립트 변경하셨으면 빌드 한번 실행 해야지 webhook으로 push가 들어왔을 때 자동 배포 되는 거 같습니다. 저도 어제까지 되다가 왜 안되지 하고 gpt에 계속 확인 했는데 Git, jenkins 둘 다 log로 통신이 잘되는 거 까진 확인해봤는데 정작 trigger에서 작동이 안됩니다.. 혹시나 해서 그냥 build 한번하고 github에 push 했더니 정상 작동하네요.. 저만 이런 건지 모르겠지만 혹시나해서 의견 남깁니다.
안녕하세요. MSA 강의부터 젠킨스까지 강의 재밌게 듣고 있습니다. 강의를 듣다가 ansible의 역할에 대해 궁금한 점이 생겨 질문드립니다. 현재 저희가 구축한 환경은 젠킨스 -> ansible -> k8s로 이루어진 환경으로 알고있습니다. 젠킨스가 빌드하고 빌드된 파일을 ansible로 보내서 ansible에서 이미지를 빌드 및 푸시하고 k8s에서 해당 이미지를 사용하여 배포하는 과정이라고 이해했습니다. 저는 여기서 ansible의 역할이 jenkins만으로 충분히 대체될 수 있다는 생각이 들었습니다. 이미지를 빌드하고 푸시하는 과정을 jenkins의 exec command나 script로 따로 짜서 진행하면 ansible의 역할을 대체할 수 있나요? 만약 대체할 수 있다면 그럼에도 불구하고 ansible을 사용하는 이유가 분명이 있을 것이라 사료되는데요, 저희가 구축한 환경 혹은 현업에서 ansible이 또 어떤 방식으로 활용될 수 있을지가 궁금해서 질문드립니다. 감사합니다.
강의에서 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 위 명령어를 사용하셔서 진행하시면 될 것 같습니다. :)
강의내용에 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에 하는기 맞나요?? 실습 따라하기 너무 햇갈리내요
실행시 마지막에 ...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
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 user win_ping으로 핑 테스트 하면 정상 동작함 ➕ ./k8s/hosts파일 에서 [kubernetes]도 [kubernetes:vars] 위와 같이 작성해줘야 -i ./k8s/hosts kubernetes 로 win_ping 보냈을 때 응답 받을 수 있어요
현재 aws ec2에서 jenkins 서버를 만들고 그안에 ansible도 같이 설치해 놓았습니다. 다른 ec2에는 쿠버를 설치해놓고 젠킨스에 접속해서 kubectl apply로 yml 파일이 실행되는것은 확인하였습니다. 하지만 ansible 명령어인 ansible-playbook -i ./k8s/hosts /home/ec2-user/k8s-cicd-deployment-playbook.yml 과 같이 사용했을때는 안됩니다.. 명령어를 ec2에 접속해서 직접 입력하면 쿠버에서 pod가 생성되는것을 확인하였는데 젠킨스 페이지에 접속해서 명령어를 사용하면 Running as SYSTEM Building in workspace /var/lib/jenkins/workspace/22 [22] $ /bin/sh -xe /tmp/jenkins51145630571830578.sh + /usr/bin/ansible-playbook -i ./k8s/hosts /home/ec2-user/k8s-cicd-deployment-playbook.yml ERROR! the playbook: /home/ec2-user/k8s-cicd-deployment-playbook.yml could not be found Build step 'Execute shell' marked build as failure Finished: FAILURE 이 오류가 뜹니다.. 젠킨스와 ansible이 하나의 ec2안에 존재하기 때문에 k8s 처럼 ssh server를 잡아줄 필요가 없지 않나요?
안녕하세요. 질문이 있는데요, 무중단 배포 진행하는 과정에서 Nginx 설정 다음과 같이 하잖아요. upstream backend_servers { 3개 서버 설정 } 근데 배포할 때 1번 서버가 다운되고 재기동 되는데 10초가 걸린다하면 이 10초 사이에 클라이언트가 요청했는데 1번 서버로 가면 에러나는거 아닌가요? Nginx가 알아서 서버 헬스체크해서 에러나면 정상적인 서버로 보내는건가요?