분류 전체보기 718

Ansible mysql 플러그인을 잘못 사용해서 발생한 오류

1. 오류내용Ansible에서 mysql플러그인 동작을 잘 이해하지 못해 생긴 오류가 있었습니다. 개발환경에서 갑자기 애플리케이션이 mysql을 접속하지 못하는 오류가 발생했습니다. 2. 디버깅과 임시조치1. mysql이 잘 실행되고 있는지 확인mysql은 AWS RDS로 실행되기 때문에 mysql 는 멀쩡하다고 생각했습니다. 2. 애플리케이션을 실행하는 인스턴스에서 mysql연결 확인nc, telent을 사용해서 mysql과 네트워크 문제가 있는지 확인했습니다. 잘 연결되었습니다. 3. 최근 작업확인mysql DML는 ansible로 관리되고 있습니다. 그래서 ansible 실행이력을 확인했습니다. 마침 오류가 발생한 시점에 ansible실행이력이 있었습니다. 4. 임시조치ansible코드는 mysql..

의도하지 않는 DNS요청을 pod

https://youtu.be/cBUgtfXl_U8?si=dRckphcTIOBhsLJk&t=336 1. 들어가며pod가 DNS요청을 할 때, 클라이언트가 의도하지 않는 DNS 요청을 할 때가 있습니다.  예를 들어 google.com만 DNS 요청을 했지만, 의도하지 않은 DNS요청이 여러 번 수행되었습니다. coredns pod에서도 당연히 의도하지 않는 DNS요청을 받고 DNS응답을 줬습니다. 왜 의도하지 않는 DNS요청이 생성될까요? 2. 리눅스 리졸버의 ndots와 search의도하지 않은 DNS요청이 생긴 이유는 dots와 search설정 때문입니다. ndots와 search설정은 pod안에서 /etc/resolv.conf파일에서 확인할 수 있습니다.cat /etc/resolv.conf  nd..

쿠버네티스에서 DNS주소 끝에 cluster.local이 붙는 이유

https://youtu.be/B7IgpbOfPq8?si=b6xCbqY5oZ920lRK&t=1229  1. kubedns란?kubedns는 쿠버네티스에서 DNS(Domain Name system)서버 역할을 수행합니다. pod에서 DNS요청이 필요할 때 kube-dns pod에게 DNS요청을 합니다. kube-dns pod IP는 고정 IP가 아니므로 kubedns 서비스의 cluster IP를 사용합니다. pod에서 /etc/resolv.conf에 설정된 nameserver IP는 kube-dns 서비스 clusterIP입니다.  2. kubedns podkubedns pod는 애드온에 속합니다. 쉽게 표현하면 쿠버네티스가 어떤 애플리케이션으로 kubedns pod를 쓰라고 강제하지 않았습니다. kub..

ansible playbook에서 AWS Secret 값을 가져오는 방법

안녕하세요. 이 글은 ansible playbook에서 AWS Secret값을 가져오는 방법을 설명합니다. 1. 사용하는 모듈aws collection의 aws_secret 모듈을 사용합니다. aws collection은 ansible galaxy로 설치합니다.ansible-galaxy collection install amazon.aws ansible collection이 궁금하신분은 저의 이전 글을 참고하면 좋습니다.- ansible collection 설명 글: https://malwareanalysis.tistory.com/700 2. 사용방법aws.secret모듈은 lookup함수를 사용하여 secret manager 값을 불러옵니다. 가져온 시크릿값을 쉽게 파싱하려면 ansible from_j..

harbor저장소에 docker login할 때 발생하는 오류

harbor robot accountharbor저장소는 robot account라는 계정이 존재합니다. robot account는 "robot$name"형식으로 계정이 생성됩니다. docker login호환 문제docker login으로 harbor저장소를 로그인 할 때, robot account는 에러가 발생합니다. 에러메세지는 아래와 같습니다.msg="error authorizing context: authorization token required"  에러가 생기는 이유는 계정 이름에 특수문자 '$'가 있기 때문인데요. '$'를 회피하기 위해 따옴표(quote)를 계정으로 감싸주면 됩니다.docker login -u '' -p '' 참고자료github issue: https://github.com..