전체 글
뒤늦은 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 라는 사이트를 이용하는 것이었다. 하지만 포스팅 발행까지 어느정도 완료되고 나자 매우 거슬리는 문제 하나를 발견했다. 바로 이미지 썸네일이 보이지 않는 현상!!! 아래의 두개 포스팅과 같이 이미지를 첨부하면, 썸네일에 이미지가 출력되어야 하는데 현재 발행방식으로는 이미지가 썸네일에 ..
[confluence to tistory-4]Confluence Api도 OAuth2.0으로
[confluence to tistory-4]Confluence Api도 OAuth2.0으로
2021.10.10Tistory Api 덕분에 OAuth2.0의 원리 및 활용법을 알게 되었는데, 생각해보니 사용자를 위해서라면 Confluence Api를 사용할 때도 OAuth2.0 방식으로 해야겠다는 생각이 되어 찾아보니, Confluence에서도 OAuth2.0을 지원하고 있었다. OAuth2.0 앱 등록 당연한 이야기 이지만 Confluence도 OAuth2.0 인증을 사용하기 위해서는 개발자 콘솔에서 어플리케이션을 등록하고, AppID 및 Secret등을 발급 받아야 한다. 순서는 다음과 같다. 개발자 콘솔의 Myapps에서 Create app버튼에서 OAuth 2.0 (3LO) integration 을 선택한다. 만들 어플리케이션의 이름을 입력하고 생성한다. 방금 생성한 항목에 접속해서 Permissions ..
[confluence to tistory-3]tistory api 및 OAuth2.0
[confluence to tistory-3]tistory api 및 OAuth2.0
2021.10.10이슈개요 tistory api를 활용하여 게시물 포스팅 tistory에서는 굉장히 개발자 친화적인 api 문서를 제공 하고 있었다. (내가 꼬인건지 모르겠지만, 외국 솔루션의 Document 들은 괜히 공식 문서랍시고 설명들을 쓸데없이 어렵게 써놓고 개발자들이 이것 저것 찾아봐야하게 문서를 써놓는 것 같다) < - 지금 다시 읽어보니 이때 왜 이렇게 화가 나있지.. 티스토리의 Open Api는 api사용시 인증방식을 OAuth2.0을 활용하도록 만들어 그 기능을 제공하고 있다. 나중에 사용자들에게 서비스를 제공할 것을 생각해 보니 컨플루언서의 API 인증방식도 가능하다면 OAuth2.0을 활요하면 좋지 않을까 생각하고 찾아보니 해당 인증방식을 지원하고 있었다. 그래서 인증 방식을 모두 OAuth 방식을 ..
[confluence to tistory-2]html 다듬기
[confluence to tistory-2]html 다듬기
2021.10.10신규 단위목표이미지 추출 및 공개서버에 업로드 → html내 링크 정보 치환테이블 테그 tistory 형식에 맞게 변경codeBox tistory 형식에 맞게 변경 필요추출된 페이지 테스트 등록추출된 html이 tistory 게시물로 등록되었을 때 바람직한 모양으로 출력되는지 테스트하기 위해서 테스트 게시물을 게시해 보았다. 눈에 띄는 문제점 두가지가 보였다.표 디자인이 구림코드박스 syntax highlight가 동작하지 않음보이는 문제점 말고도 가장 치명적인 문제점이 하나 있는데, html내부에 삽입된 이미지가 confluence Cloud 서버내에 저장되어 링크가 걸려있었다. 당연히 로그인 통해 인가된 사용자만 접근하여 이미지를 로딩해 올 수 있었기 때문에, 블로그에 정상적으로 게시하기 위해서는 이..