TIL

[ #2 ] MySQL - 스키마의 사용

1. 데이터베이스(스키마) 생성 문법 CREATE DATABASE <DB이름> 예제 mysql> CREATE DATABASE opentutorials; Query OK, 1 row affected (0.01 sec) 2. 데이터베이스(스키마) 삭제 문법 DROP DATABASE <DB이름> 예제 mysql> DROP DATABASE opentutorials; Query OK, 0 rows affected (0.01 sec) 3. 데이터베이스(스키마) 리스트 확인하기 mysql> SHOW DATABASES; +--------------------+ | Da...

더보기

[ #1 ] MySQL - 구조

이때까지는 데이터베이스를 장고에서 제공하는 ORM을 통해서만 사용 해왔었는데요, 알고 제대로 써야겠다고 생각하여 기초부터 공부해려고 합니다. 본 포스팅은 유튜브 생활코딩님의 데이터베이스 강좌를 보고 정리한 내용입니다. 1. MySQL의 구조 관계형 데이터베이스는 엑셀과 같은 스프레드시트에 데이터를 저장합니다 즉 표에 정보가 저장된다는 말인데요. 표(Table)가 많아진다면? 정리될 필요성이 생김(파일에서 디렉토리가 필요한 상황이 생기는것과 같음) MySql에서는 서로 연관된 표들을 그루핑해서 연관되어있지 않은 표들과 구분짓는 폴더가있는데 이를 database라 칭합니다. Sch...

더보기

첫 면접

오랜만의 포스팅 입니다. 저는 이때까지 서류를 붙어본적이 없습니다. 4월에는 프로그래머스 데브매칭에서 코딩테스트를 치고, 다섯 군데 지원된 서류는 모두 탈락이었습니다. 서류가 많이 부족했었던 것이겠죠. 남들이 다 가지고 있는 프로젝트 경험, 클라우드 경험, 개발 관련 블로그가 없어서이었던 같았기에 이에 관련된 것을 준비하였는데, 그 과정에서 개발 블로그 작성은 정말 도움이 많이 되었던 것 같습니다. 우선, 공부한 내용을 다시 복기하면서 그 내용을 더 오래 기억할 수 있었고, 설령 까먹더라도 다시 블로그에 들어오면 빠르게 리마인드가 되었기 때문입니다. 저는 리액트와 장고를 이용하여 2개의 토이프로젝트 및 C...

더보기

[ #12 ] 클러스터 보안 - 3

1. TLS가 제공하는 이점들 기밀성 (암호화) 이전 포스팅에서 공부했던 암호화에 해당하는 항목입니다. 서버와 주고 받는 데이터가 스니핑👀 되는 것을 방지합니다. 패킷이 오가는 것을 훔쳐 볼 순 있어도 안전하게 암호화 된 패킷이라 복호화 할 수 없기 떄문에 데이터는 훔쳐볼 수 없습니다. 데이터 무결성 통신 도중 데이터가 제 3자에 의해 악의로 변경될 일이 없습니다. 1번 기밀성과 같은 선상에서 보시면 됩니다. 서로의 대칭키를 RSA 알고리즘을 통해 안전하게 공유한 후에 암호화하여 통신하기 때문에 제 3자가 대칭키를...

더보기

[ #11 ] 클러스터 보안 - 2

1. TLS / SSL / HTTPS 란? SSL(Secure Socket Layer) SSL은 웹사이트와 브라우저(혹은, 두 서버) 사이에 전송된 데이터를 암호화하여 인터넷 연결 보안을 유지하는 표준 기술입니다. 이는 해커가 개인 정보 및 금융 정보를 포함한 전송되는 모든 정보를 열람하거나 훔치는 것을 방지합니다. 쉽게 말하자면, 네트워크 통신을 할 때 보안을 제공하기 위해 설계된 암호 규약이며, TCP/IP 네트워크를 사용하는 통신에 적용됩니다. SSL의 구조 TLS(Transport Layer Socket) 이름은 SSL 과 다르지만 사실 둘은 같다고 합니다. TLS...

더보기

[ #10 ] 클러스터 보안 - 1

기본적인 인증 수단에는 Static Password File을 통한 방법과, Static Token File을 이용한 방법이 있습니다. 1 - Static Password File 아래의 유저정보가 담긴 csv파일을 통하여 인증 할 수 있습니다. #user-details.csv password123,username1,userId1 password133,username2,userId2 password113,username3,userId3 kubeadm으로 클러스터를 구성하였으면 그러기 위해선 staticpodpath위치에 kube-apiserver.yaml 이 존재하는데, 아래와같이 실행 옵션을 추가해주면...

더보기

[ #9 ] 클러스터 백업 & 복구

이번 포스트에서는 ETCD database를 이용한 클러스터 백업 및 복구 방법에 대해서 다뤄보겠습니다. etcd란 etcd는 모든 클러스터 데이터에 대한 Kubernetes의 백업 저장소로 사용되는 일관되고 가용성이 높은 키 값 저장소입니다 그리고 ETCD는 각 마스터노드에 존재하고, key=value의 데이터는 마스터 노드의 /var/lib/etcd 에 저장됩니다. ETCD는 built in 스냅샷 solution을 가지고 있는데요 이를통해 현재 실행중인 모든 리소스의 정보를 백업하고, 복구할 수 있습니다. STEP1 - etcd가 설치되어 있지 않을경우 설치합니다. 제 쿠버네티 클러스터는 1 개의 ...

더보기

[ #8 ] 클러스터 유지보수

오늘은 클러스터의 유지보수에 관련한 포스트를 써볼까 합니다. 쿠버네티스를 이용하여 서비스를 구축하고나서 언젠가는 시스템을 업데이트 시켜야할 일이 생길 것이며, 오류로 인하여 노드가 먹통이 되는일도 생길 것입니다. 그렇다면 노드의 작동을 중지시키면, 또는 오류로 중지된다면 어떻게 될까요? master node의 kube-contoller-manager에는 pod-eviction-timeout이 존재합니다 컨디션 각 노드에는 아래와 같이 여러가지 condition이 존재합니다 노드 컨디션 설명 Ready 노드가 상...

더보기