분류 전체보기
케이비시스 퇴사를 준비하며
케이비시스 퇴사를 준비하며
2021.12.23나에게 정말 많은 영감과 성장의 기회를 제공해 주었던 케이비시스를 뒤로하고 이제는 새 직장이 될 당근마켓으로 이직을 준비하면서 현재 직장에서의 나를 되돌아 보았다. 2년전 내가 케이비시스에 입사하기 전에는 내가 지금처럼 데브옵스 엔지니어로써 개발자의 길을 걷게 되리라고는 생각하지 못했었다. 그때 당시에만 하더라도 나는 보안 커뮤니티와 해킹팀을 만들어서 활동을 했을 만큼 보안이라는 종목에 미쳐있었다. 그랬던 내가 전형적인 SI업체인 케이비시스에 그것도 클라우드 서비스팀에서 데브옵스 엔지니어로의 이직을 결심하게 된 것은 정말 우연에 우연이 겹친 결과였고, 지금 나는 그 우연에 진심으로 감사한다. 마침 그때의 나는 산업기능요원의 신분으로 병역특례를 이어나갈 회사를 찾고 있었고, 마침 참여했던 CTF에서 컨테이..
컨테이너 빌드 시 ls 명령어에서 Operation not permitted 에러 발생 디버깅
컨테이너 빌드 시 ls 명령어에서 Operation not permitted 에러 발생 디버깅
2021.12.17문제 내용 집에서 간단한 프론트 앱을 하나 컨테이너로 빌드해서 올려보려고 하다가 황당한 에러를 마주쳤다. 에러 내용은 docker 이미지 빌드 과정에서 디버깅을 위해 넣어 두었던 ls 명령어를 RUN 하는 부분에서 Operation not permitted 라며 권한 에러가 났던 것이었다. 처음에는 이미지 빌드 과정에서 사용되는 사용자 권한이 부족해서 나는 단순 오류인줄 알고 빌드 유저 권한을 root로 부여했는데도 똑같은 에러가 나서 띠용했다.👀 Dockerfile 예시 FROM nginx:1.21.4 USER root RUN ls / 에러 내용 [root@192 docker]# docker build -t test . Sending build context to Docker daemon 2.048kB..
log4Shell 취약점 분석 핡짝 (feat.CVE-2021-44228)
log4Shell 취약점 분석 핡짝 (feat.CVE-2021-44228)
2021.12.12테스트 대상 사이트 modutech 마인크래프트 공개 서버 서버 주소 : 비밀>2021-12-12 06:18:30,471 Async Chat Thread - #2 WARN Error looking up JNDI resource [ldap:/ /log4shell.huntress.com:1389/79473262-b412-41d8-aa97-56d7055bfa43]. javax.naming.NamingExce ption: [LDAP: error code 1 - Operations Error]; remaining name '79473262-b412-41d8-aa97-56d 7055bfa43' at java.naming/com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3..
뒤늦은 CKA, CKAD 취득 후기
뒤늦은 CKA, CKAD 취득 후기
2021.11.02예전에는 정보처리기사와 같은 자격증들을 취득하면서, 자격증 공부는 실무와는 조금 거리가 있는 듯 하다 라는 느낌을 받았었다.하지만, 해외 재단들에서 만든 실습형 자격증들은 가격은 비싸긴 하지만 확실히 취득하는 과정에서 하는 공부들이 업무에 도움이 되는 경우가 많았던 것 같다.최근에는 회사에서 쿠버네티스 관련 업무를 많이 하게 되어서 CKA, CKAD 자격을 취득하게 되었다. 사실 CKA는 작년에 취득했고 최근에 CKAD를 취득하였는데, 개인적으로는 CKA를 공부했다면 CKAD는 정말 쉽게 취득할 수 있으니 CKA를 준비할 때 CKAD도 함께 준비 하는게 좋겠다라는 생각이다.두 시험에 대한 과정은 다른 블로거 분들이 자세히 설명해 두었으니 생략하고, 나는 어떻게 공부했는지 소개만 해보려고 한다.사실 다른 ..
Calico?Weave? CNI에 관하여
Calico?Weave? CNI에 관하여
2021.10.25Kubernetes를 설치하여 사용할때 항상 CNI를 설치해야 core-DNS서비스가 정상동작하고, 네트워크 폴리시 등의 보안 정책을 적용할 수 있었기에, 그냥 무의식적으로 설치하여 사용했었는데 막상 다시한번 내가 쿠버네티스를 제대로 이해하고 있는가? 를 되돌아보다 보니, 가장 중요하고 기본적인 지식인 네트워크 부분을 제대로 이해하지 않고 대충 넘어갔던것이 아닌가 하는 생각이 들었다. 다중노드 및 대규모 클러스터 환경에서 올바른 컨테이너로 트래픽을 전달하기 위해서 사용한다고만 개념적으로 이해하고 있었지, istio와 같은 서비스메시를 이해하기 시작하면서 명확한 그 개념에 대해서 혼돈이 오기 시작했다. 그래서 오늘은 가장 대표적으로 많이 사용되는 Calico CNI 플러그인을 분석해 보면서 다른 CNI들과..
[DC/OS 아키텍처에 관한 분석]MESOS와 MARATHON
[DC/OS 아키텍처에 관한 분석]MESOS와 MARATHON
2021.10.19DC/OS는 쿠버네티스와 같은 컨테이너 오케스트레이션 솔루션으로 알려져 있다. 실제로도 그렇게 많이 사용되고 있지만 DC/OS를 리셀링 하는 회사에서 엔지니어로 근무하며 많이 받았던 질문으로 “그래서 쿠버네티스와는 뭐가 다른데?” 라는 질문에 대해 장황하게 설명하게 되는 나 자신을 돌아보며, 먼저 DC/OS 라는 플랫폼에 대해서 다시 한번 간단하게 해부해 보고자 한다. MESOS 아키텍쳐DC/OS를 지칭할 때 종종 marathon + mesos 라는 수식어를 붙이곤 한다. 실제로 DC/OS는 Apache 재단에서 핫한 프로젝트 중 하나였던 Mesos 라는 프로젝트에 핵심 기능을 의존하여 개발된 서비스인데, mesos는 컨테이너 오케스트레이션이라는 컨셉에만 초점을 두고 탄생한 플랫폼이 아니다. Mesos는..
[confluence to tistory-10]공식 Confluence API의 개선 완료
[confluence to tistory-10]공식 Confluence API의 개선 완료
2021.10.10드디어 기다리고 기다리던 API가 개선이 완료되어, OAuth를 통해 발행 받은 토큰을 활용해서 게시물의 이미지와 첨부 파일 등을 다운로드 할 수 있도록 개선이 완료되었다.이번 개선을 통해 OAuth 2.0 토큰을 발행할 때 첨부 파일 다운로드를 위한 readonly:content.attachment:confluence 라는 scope가 새로 추가되었고, API 문서에도 관련된 사항이 업데이트 되어 Get URI to download attachment 섹션이 추가되었다.공식적으로 지원이 되면서, 원래 내 코드에서 테스트를 위해 첨부 파일과 이미지 다운로드 부분만 별도의 인증 체계를 통해 임시 성 코드를 덕지덕지 발라 놓았었는데, 그러했던 부분들을 모두 제거하고 공식 지원하는 API로 변환 하자, 코드들..
[confluence to tistory-9]Atlassian 개발자 커뮤니티의 지원
[confluence to tistory-9]Atlassian 개발자 커뮤니티의 지원
2021.10.10지난 글에서 제보했던 이미지 다운로드 API의 인증에러와 관련하여 Jira 티켓이 만들어지긴 했지만, 내가 제보한 이슈는 별로 많은 사람들이 고민하던 이슈는 아니었던가보다. 내가 제보한 이슈는 사람들의 관심으로부터 매우 동떨어져 있었고, 사실상 처리될 이슈로 분류되기에는 어려워 보였다. 약 5일여간을 기다렸으나 Atlassian에는 수많은 이슈들이 Jira에 등록이 되어 있었고, 이 이슈가 진행상태로 넘어가기 위해서는 많은 사람의 관심과 투표가 있어야 작업이 진행되는 시스템으로 보였다. 수많은 이슈들이 관심을 받지 못하고 GATHERING INTEREST 상태로 오랜시간을 버티고, 내 이슈도 그들과 같은 행보를 걷는듯 했다. 국내 개발자 커뮤니티의 도움을 받아서 투표수를 올려서 관심을 끌어볼까 하는 마음..
[confluence to tistory-8]재발한 이미지 처리 문제
[confluence to tistory-8]재발한 이미지 처리 문제
2021.10.10한동안 프로젝트 진행을 방해하며 괴롭혔던 포스팅의 이미지 처리에 대한 문제가 기어이 다시 재발하여 이번에는 아에 프로젝트 전체를 위기에 빠트리고 있다. 문제의 시작.. 문제의 내용을 요약하자면, Oauth2.0을 활용한 인증방식을 이용하는 경우 게시물의 이미지 및 첨부파일을 api를 통해 다운로드 받을 수 없다는 내용이다. confluence에서는 첨부파일이나 이미지를 아래와 같은 형태의 URI를 통해 다운로드 받을 수 있다. https://api.atlassian.com/ex/confluence/{baseId}/download/attachments/14778479/image-20210317-174604.png 하지만, 당연하게도 confluence에 게시되는 모든 컨텐츠들은 private한 형태로 게시..
[confluence to tistory-7]표 변환
[confluence to tistory-7]표 변환
2021.10.10구현하면서 기능들을 테스트 하다보니 이번에는 표를 변환하는 과정이 엄청 애를 먹였다. 해결하고 나서 보니 정말 아무것도 아닌 것들이었는데 내용이 다음과 같았다. 티스토리에 게시된 표의 모양이 예쁘지 않음 html2text 모듈 사용시 표 변환이 안됨 사실 두 문제 모두 각각의 상황에서만 보면 금방 디버깅 하여 해결했을 문제들 이었음에도 테스트 과정에서 공교롭게 두 문제를 동시에 마주하는 바람에 제대로 초점을 잡지 못해 삽질을 엉뚱하게 하다가 시간을 많이 보내었다. 선택과 집중이 중요함을 다시 한번 느낄 수 있었던 과정이었다. 티스토리에 게시된 표의 모양이 예쁘지 않음 해당 내용은 말 그대로, confluence api가 제공해주는 게시물의 html 컨텐츠를 티스토리에 게시했을 때 발생하는 문제였다. 변형..
[confluence to tistory-6]개발한 기능들 API화(feat. fastapi)
[confluence to tistory-6]개발한 기능들 API화(feat. fastapi)
2021.10.10컨플루언스에서 작성한 문서들을 Tistory 블로그로 옮기기 위한 POC작성 및 테스트가 끝났으니, 본격적으로 기능을 서비스화 하기 위해 각각의 기능들을 restapi 형태로 감싸기로 하였다. 파이썬 웹 프레임워크 선택 평소에 자주 사용하였던 Flask를 활용하여 만들어 볼까도 하였으나, 최근에 관심있게 보고 있었던 fastapi가 눈에 들어와서 이번 기회에 간단하게 문법을 공부해서 적용해 보기로 하였다. fastapi에 대해서 간단하게 소개하자면 Starlette(내부적으로 uvicorn을 사용하는 경량 ASGI 웹 프레임워크)과 Pydantic(데이터 유효성 검사 라이브러리)의 장점을 적절히 버무려서, 매우 간편하게 개발할 수 있으면서 매우 빠른 성능을 보여주는 파이썬 웹 프레임워크이다. 여기서 말하..
[confluence to tistory-5]이미지 삽입
[confluence to tistory-5]이미지 삽입
2021.10.10이놈의 이미지 때문에 삽질을 며칠을 하였다. 이미지 썸네일 표시 안됨.. 컨플루언스에 업로드 되어 있는 이미지는 권한이 있는 사용자(나)만 볼 수 있는 이미지이기 때문에, OAuth2.0으로 토큰을 발행받은 시점에 다른 이미지 저장소에 공개 이미지로 업로드 하여, 새로 발급받은 주소로 이미지 주소를 치환하여 첨부했었다. 지난 confluence to tistory-2 편에서 작업한 내용은, 이 공개 이미지 저장소로 imgbb 라는 사이트를 이용하는 것이었다. 하지만 포스팅 발행까지 어느정도 완료되고 나자 매우 거슬리는 문제 하나를 발견했다. 바로 이미지 썸네일이 보이지 않는 현상!!! 아래의 두개 포스팅과 같이 이미지를 첨부하면, 썸네일에 이미지가 출력되어야 하는데 현재 발행방식으로는 이미지가 썸네일에 ..