Search
Duplicate
📝

[Devops Study] 08-1. 자율배포 - 발생한 고민 & 문제점

상태
완료
수업
Devops Study
주제
4 more properties
참고

배포과정 고민거리

Jenkins에서 DockerHUB로 push하기

NOTE
jenkins에서 dockerhub로 push하기 위해서 필요한걸 정리한다.
1.
docker plugin 설치
2.
docker hub 자격증명 설정
3.
docker, docker pipeline plugin 설치
4.
코드 작성
stage('Build Docker Image') { steps { script { docker.build("${DOCKER_IMAGE}:${DOCKER_TAG}") } } } stage('Push Docker Image') { steps { script { docker.withRegistry('https://registry.hub.docker.com', "${env.DOCKER_HUB_CREDENTIAL}") { docker.image("${DOCKER_IMAGE}:${DOCKER_TAG}").push() } } } }
Groovy
복사

파일 권한 문제 (chmod)

NOTE
Ansible에서 생성한 Inventory, Playbook 등 파일을 사용하는데 있어 권한문제가 많이 생긴다.
jenkins에서 발생한 Error파일에 권한이 없다고 한다.
1.
해결책 1 - chmod를 활용해서 권한부여 (실패)
chmod 644를 적용했는데도 여전히 에러가 발생
2.
해결책 2 - jenknins에 sudo권한 부여 (실패)
3.
해결!
sudo usermod -aG docker jenkins sudo systemctl restart jenkins
Bash
복사
jenkins 유저를 docker그루벵 포함시키기
sudo visudo jenkins ALL=(ALL:ALL) NOPASSWD: ALL
Bash
복사
다음과 같이 sudo를 비밀번호 없이 사용하도록 설정하면 된다.

젠킨스 ssh통신문제

NOTE
liunux서버에서 직접 연결하는 경우는 멀쩡한데, Jenkins에서 계속해서 ssh통신이 안됨
ubuntu 계정에서는 되는데 jenkins에서 안됨
jenkins 계정에서 ansible ad-hoc ping을 시도하니 다음과 같이 에러나옴
GPT 답변
1.
Jenkins 사용자로 전환합니다:
sudo su -s /bin/bash jenkins
Bash
복사
2.
해당 서버에 대한 SSH 접속을 시도합니다:
ssh -i /etc/ansible/semsekey2.pem ubuntu@10.0.1.45
Bash
복사

2375 port 오픈문제

NOTE
다수의 서버 컨테이너를 Portainer로 관리하려고 2375 Port를 모든 IP에 대해 허용했더니 외부에서 공격이 들어옴..
CPU학대 멈춰~

kdevtmpfsi 악성 코드

NOTE
Jenkins서버에 kdevtmpfsi의 악성코드가 발견되어 CPU수치가 80%에 도달한다.
인스턴스의 CPU 점유율 확인 (GPT 사용)
kdevtmpfsi 제거 (GPT 사용)