일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Resources are low on NN
- 이더리움
- mac hadoop
- Safe mode is ON
- 도커 교과서
- 자소서 너무 오래 걸림
- mac hadoop 3
- mac hive 3
- Could not open client transport with JDBC Uri: jdbc:hive2://localhost:10000
- hadoop safe mode leave
- hive beeline 설정
- hive beeline 에러
- mac hive
- Failed to connect to localhost:10000
- 자소서 시간 줄이기
- 자소서 빨리
- 카카오 2020 코테
- 카카오 자물쇠와 열쇠
- hive beeline
- hive beeline 실행
- code=0)
- is not allowed to impersonate hive (state=08S01
- 백준 18428
- hadoop safe mode
- 이더리움 #ethereum
- mac hadoop 설치
- 자소서 빨리 쓰는 법
- 기업 조사 빨리 하는 법
- mac hadoop 설정
- 카카오 2020 코딩테스트
- Today
- Total
A seeker after truth
데센프 5주차 필기 & 영상 과제 본문
7. Docker에서 Service와 Container의 관계를 실제 사용 사례를 가정하여 설명하시오.
서비스는 컨테이너 하나만으로 동작하진 않는다. 마이크로 서비스 - 수천~만대의 컴을 기본 사용할 것이라 생각함. 우리가 생각하는 서비스를 매우 작은 기능으로 쪼개 흩어넣을 것. 이것이 컨테이너. 하나의 컨테이너를 다루는 내용을 했었다면 복수의 내용을 다루는 컨테이너.
저번시간까지 우리가 만들고 싶은 이미지를 만들라고 했었다 함.
6&7: 이 단어를 쓸 때 명확한 의미를 이해해야함. 어플리케이션 한 개를 구현하는 것이 앞으로의 구체적인 목표가 될 것이다.
구체적으로 사용자가 우리에게 제공하고자 하는 그 최종적 1개 = 어플리케이션.
이 안엔 수많은 구성요소가 들어갈 것이며, 우린 이를 서비스라고 부를 것이다.
수천 수만 씨피유를 사용해서 구현한다면 우린 그 씨피유, 디스크들의 서비스를 구성 요소로 갖고갈 것.
서로 다른 서비스들이 모여서 하나의 어~를 제공할 것.
예를 들어 유튜브같은 비디오 스트리밍 사이트를 생각할 수 있고, 비디오 스트리밍을 어플리케이션이라고 치자.
이는 어떤 구성 요소를 가져야 하는가?...
스트리밍 데베 속 비디오가 있어야하고, 이를 저장하는 서비스가 어플 안에 있다
사용자의 네트워크나 디바이스에 맞춰 품질을 결정하는 트랜스코딩 서비스가 두번째
또한 사용자의 요청을 받아 비디오를 꺼내고 실제로 재생하는 프론트엔드가 존재할테니, 우리가 비디오 스트리밍 어플리케이션이라고 했을 떄 이를 저장하는 스토링 서비스, 트랜스코딩, 프론트엔드가 있다 볼 수 있음
이 도커 컴포즈를 이야기할 때 어플~ 안엔 매우 다양한 서비스들이 있다
->하나의 웹어플을 제공하지만 실제로 그 안엔 3가지 서비스가 있다
데베도 하나의 이미지로 만들어져 싱글/복수의 컨테이너로 동작
인텔리전스 서비스도 마찬가지다.
8: 서비스 = containers in production
replica = 몇개의 컨테이너로 띄울지, 복수의 컨테이너로 띄운다는것을 명시적으로 적을 수 있음. 컨테이너 개수를 동적으로 늘/줄일 수 있음
복잡한 인텔리전스 서비스
플래그 씨피유를 체크하면서 지가 알아서 컨테이너 개수를 조절하는 기능도 가능하다는데...
이제부턴 복수의 컨테이너가 등장하는 시간이다. 어려워진다
9: 도커 컴포즈는 여러 개의 컨테이너를 작동시키는 도커 어플리케이션
10: 도커 컴포즈도 많은 서브 커멘드를 지원한다.
docker-compose up: 하나의 어플 속 모든 서비스를 활성화
docker-compose down: 하나의 어플 안의 모든 컨테이너와 서비스를 중지하고 싶을 때
docker-compose scale: 특정 서비스에 있는 컨테이너의 개수를 늘리고 싶을 떄 도커 컴포즈 스케일이란 명령을 사용함
15:
오른쪽 그림의 digest는 파일이 깨졌는지 확인하는 부분
글고 맨밑에 testdrive라는 폴더 이름을 컨테이너, 이미지 등을 만들 때 그대로 사용한다
1은 왜 붙었나? 하나의 서비스로부터 컨테이너가 2개 이상일 수 있기 때문에 저런 식으로 인덱스를 붙여준다.
16: docker-compose config 명령은 현재 우리가 실행한 도커 컴포즈로부터 서비스가 동작된 것을 확인할 수 있다.
17: 컨트롤 c 눌러야 docker stats 상태에서 나올 수 있음!! 이 명령어는 현재 띄워져 있는 컨테이너들 볼 수 있는 거
*특이사항: docker rm -f container_id 해도 명령 안먹힘.
18: 이 명령어 입력하니까 현재 띄워져 있는 컨테이너 동작들이 멈추면서 알아서 컨테이너들을 다 지워줌!!!!!!!!!
19: nginx 밑 ports 밑 8000:80 의미?- 엔진엑스가 컨테이너 내부에서는 test_driver (나는 dk_compose_lecture) 안에선 80번 포트를 쓰지만 바깥에서 뚫고 들어가기 위해선 80을 8000으로 매핑한 것
curl을 씀으로써 로컬 호스트가 전달한 결과를 텍스트로 보여준다.
8. 네트워킹에서 NAT/PAT란 무엇인지, Docker에서의 활용 사례를 사용하여 설명하시오(9강 강의 다시들을것)
21: 앞에서 설명한건데, 주소 전달/번역이니까 이거 꼭 다시 공부하라. 지금부턴 네트워크 그림이 조금씩 그려져야 하고, 헷갈리면 안됨
위에건 지금 안쓰고 아래건 지금 쓸것
NAT:NetworkAddressTranslation
PAT:PortAddressTranslation
22: 얌은 마크업 언어가 아닌데도 그렇다고 많이 말한다
최근엔 데이터의 모양을 정의하는 언어인 제이슨같은 언어도 있다. 얌 역시 그 중 하나. 다른 언어들은 동작을 정의함
과제는 얌 문법을 알아야 할 수 있는 것이 나올 것임. 그 땐 직접 문법 찾아서 필요한 것 집어넣어서 할 것
23: configuration, log files, 언어 상관없이 데이터 주고받을 때 표준 언어로 쓸 때, 복잡한 데이터 표현할 때 쓴다
최근 프로젝트들이 이 언어를 플젝 제어용 언어로 많이 쓴다
27: 서비스가 3개 나와있고 manager, worker1, worker2 이렇게 나와있음
컨테이너 총 3개 띄워지게 된다.
28: 첫번째 명령 시, 우분투 매니저에 3개 뜬다
curl 2번 실행하는 부분(아래쪽), 무슨 일이 벌어지나? -> 3개 컨테이너 중 우린 마스터 안으로 들어갔는데 이 셋은 도커 컴포즈에 의해 가상의 네트워크로 연결되어 있다. 따라서 마스터 컨테이너인 우분투 운영체제 안에서 curl 명령으로 nginx 첫번째 워커 1에 들어가고 싶으면 이 첫번째 컬 명령(curl http://worker1:80) 치면 ㅇㅋ
29:
같은 도커 컴포즈 파일에서 접속하고 싶을 때 워커1,2와 같이 이름을 썼다. 이 도커 컴포즈는 많은 일을 해주는데 여기서 만든 컨테이너들은 도커 컴포즈에 의해 자동으로 이름을 가지고, ip 대신 이 이름을 통해 연결할 수 있다. 이 경우처럼 서로 이름을 갖고 인식할 수 있다. 서로 주고받을 때 굉장히 유용하다. 근데 지금까지 내용이 왜 디엔에스랑 관련...?
30:
개발할 때 좋은 툴. 서버가 제대로 동작하는지 알고싶을 때 쓴다.
32: apt-get이 아닌 apk
33: --scale이란 기법 명령어(옵션)이 있었다. 매니저 4개
docker-compose up -d --scale manager=4
그랬더니 테스트 드라이버에 원래 있던 워커 1,2 말고도 3,4 까지 총 4개가 뜬다
결국 내가 필요할 때 필요한 만큼 특정 서비스에 대해 키우는 것
docker-compose ps
ps는 프로세스 명령인데 도커 컴포즈에 이걸 해보면 테스트 드라이브 매니저가 업 되어있다는 것과 나머지는 오프되어있다..?
로도 볼 수 있고
34:
docker-compose run -p 9998:80 -d worker1
원하는 서비스 컨테이너에 포트 맵핑하는 것도 옵션으로 줄 수 있다.
사실 우리가 얌. 도커파일을 부러 만들었지만 여기 내용을 도커 파일에 옵션으로 전해줄 수도 있다...? ㄹㅇ?
단, 자동화된 작업을 할거면 당근 얌, 도커파일 권장
35: 로컬 호스트와 이에 떠있는 컨테이너 안을 연결하고 싶다?
컨테이너 띄우고 안에서 파일을 다루고 싶다?
파일 내용 등을 미리 만들어둔 상태에서 로컬 호스트에 저장된 정보를 갖고 컨테이너 안에서 쓸 수 없을까? 컨테이너 속 고립 세상과 바깥의 열린 세상을 연결?
->스토리지를 배우면서 정식으로 배울 것. 지금은 쉐어 파일 시스템이라고 해서 살짝 다른 것을 보여줄 것
manager volumes, - .:/code가 있는데, 로컬 호스트에서 내가 지금 작업하고 있는 현 작업 폴더를 알파인 기반 매니저에 루트 밑의 코드와 연결한다는 이야기.
36: 핵심!
여기서 ls -al 해보면 지금까지 보이지 않았던 컨테이너 바깥의 얌파일이 보인다. 텍스트 에디터 키고 # test 란 문장을 파일 맨 마지막에 추가하고 에디터 나오고 ㅇㄹ파인도 나오고 다시 텍스트에디터 통해 얌파일 들어가보면 바뀌어있다!
37: 자ㅜㅈ 쓰는 소웨들을 도커에서 어케 활용하는지에 대한.
드롭박스 가면 과제 폴더 가면 과제 설명 있음. 도커 허브에 푸시하는 것까지 . 도커 이미지까지밖에 안하는군
클라스에는 도커파일 혹은 도커허브 url 제출한다
[영상 과제]
1. 네이버 클라우드 플랫폼 데이터 센터
일단 사이트를 너무 잘만들어놔서 경이로웠다. 데이터센터 건물의 특징 중 가장 마음에 들었던 것은 물/열에너지 재활용, 탄소 배출이 적은 이동 수단, 다량의 식물 배치, 주변 환경과의 조화 등 매우 다양한 친환경적 요소를 고려하여 딱딱한 기계로만 이뤄지는 데이터센터를 매우 아름답게 지었다는 것이었다. 실제로 내부 인테리어도 초록색으로 칠한 곳이 많아 친환경, 식물 하면 바로 연상되는 상징색인 초록색이 네이버의 상징색인 초록색과 함께 잘 연상됐다. 이렇게 예쁘게 지았으니 여기서 일하는 사람도 일할 맛이 나겠다 싶었다.
안정적인 전력 공급, 에너지의 효율적 사용을 위해 많은 노력을 들인 점도 눈에 띄었다.
서버, 랩, 냉각 시스템 등 자체 제작 및 개발한 것이 많아 정말 대단하다는 생각이 들었다.
2. 애자일
<소프트웨어 개발 방법 및 도구>, <소프트웨어 공학>수업 때 들었던 내용이라 모두 익숙한 내용이었다. 최근 소프트웨어 공학 수업까지 듣고 나니, 요구사항을 일일이 다 맞추는 작업이라던가 완벽한 소프트웨어를 만드는 일 등이 얼마나 허황된 일인지 더욱 더 잘 알게되어 애자일이 현존하는 개발 방법 중 최선의 개발
3. 데복스
지금이야 데이터센터 프로그래밍 수업을 듣고 있으니 괜찮지만 작년에 도커, 쿠버네티스를 독학으로 공부할 때만 해도 쿠버네티스, 젠킨스, CI/CD 개념이 잘 다가오지 않아 이를 굉장히 어려워했었다. 개발자 행사의 세션을 들으러 가서도, 이걸 더 이해해보고 싶고 알고 싶어 갔는데 여전히 이해하기 어려워 20분짜리 세션을 듣다 포기한 적이 있다. 그런데 이번 영상을 통해 그동안 이해가 가지 않았던 젠킨스 부분이 좀 이해가 된 것 같다. 특히 젠킨스 파이프라인 부분에 대한 설명을 듣고 도움이 많이 됐다.
Inline script 방식과 SCM 방식에 대해선 처음 알게 됐다.
최근 네이버에서 자사의 클라우드 플랫폼 등에 대해 핸즈온 세션, 웨비나 등을 개최하며 자사 제품을 홍보하는 걸 많이 봤는데, 경쟁력은 아직까진 잘 모르겠다. 본 영상을 보면서는 UI가 세련되어 보이지 않는다는 느낌을 받았다.
4. 도커의 이해
그동안 수업을 통해 배운 내용을 한번더 상기하고 정리할 수 있는 계기였다. 특별히 새로운 내용은 없었다.
'수업 필기 > Docker, Kubernetes(20-1) - 공개글!' 카테고리의 다른 글
데센프 7주차 4/27,29 (0) | 2020.04.30 |
---|---|
데센프 6주차 (0) | 2020.04.22 |
데센프 4주차 (0) | 2020.04.06 |
데센프 3주차 (0) | 2020.03.30 |
데센프 2주차 (0) | 2020.03.23 |