일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- sparksql
- 티지아이포럼
- parquet
- 달리기
- 저동하녹
- 강릉여행
- deepseek
- 여행
- 런데이
- apollo-sandbox
- 마법의연금굴리기
- 일권하는사회
- 가람집옹심이
- 잘쉬어야지
- 여니브레드
- schema-registry
- Zone2
- apollo-server-v3
- 플라스틱은 어떻게 브랜드의 무기가 되는가
- kafka-connect
- 이코노미스트한국구독센터
- 루스틱
- neovim
- 중사랑
- 마연굴
- 오운완
- 트럼프2.0시대
- 한국걱정
- 송고버섯피자
- 런데이애플워치
- Today
- Total
해뜨기전에자자
container 간단히 본문
~적당히 알고있던 터라 약간 dive 해본다~
https://jvns.ca/blog/2016/10/10/what-even-is-a-container/
container는 linux kernel의 새로운 기능인 namespace, cgroups, seccomp-bpf 라는 기능으로 독립적인 프로세스를 실행할 수 있도록 한다.
실제로 우리가 사용하게 되는 환경은 vm 같아 보이지만 vm 은 아님. 그냥 리눅스 커널에 있는 process임
## namespace: isolated resources
격리된 환경을 제공하는 lightweight 가상화 기술
docker나 LXC가 모두 namespace 기반으로 만들어짐
hypervisor는 하드웨어 리소스를 가상화하는데 비해, namespace는 동일한 OS, kernel에서 동작하지만 고립된 사용환경만 제공된다는 점에서 다름
### 6 종류의 namespace
- UTC namespace: hostname 변경, 분할
- IPC namespace: inter-process communication 프로세스간 통신 격리
- PID namespace: pid 분할 관리
- NS namespace: filesystem mount지점 분할 격리
- NET namespace: network interface iptables등 network 리소스와 관련된 정보 분할
- USER namespace: user, group ID 분할 격리
음 왠만하면 해볼려고했는데 c라서 그냥 눈으로만 훑었다. 하하 -싫어-
참조:
http://jake.dothome.co.kr/namespace/
https://blog.yadutaf.fr/2013/12/22/introduction-to-linux-namespaces-part-1-uts/
http://bluese05.tistory.com/11?category=561065
network namespace는 전에 openstack 설치할때 해본거같다.. ㅜㅜ 기억 잘안남..
암튼 아래 보고 츄라이해볼수있다
https://www.joinc.co.kr/w/man/12/NetworkNamespace
## cgroup(control group): resource limits
프로세스들의 자원 사용(cpu, mem, disk io, network)을 제한하고 격리시키는 리눅스 커널 기능
kernfs, 방화벽, unified hierarchy 등의 기능이 추가되고있음
컨테이너, 컨테이너 서비스들(docker, LXC, kubernetes mesos, mesosphere), systemd도 쓰고 있음.
### 설치만 해보자
https://www.server-world.info/en/note?os=CentOS_7&p=cgroups&f=1
```
sudo yum -y install libcgroup libcgroup-tools
sudo systemctl start cgconfig
sudo systemctl enable cgconfig
ll /sys/fs/cgroup
lscgroup
systemd-cgls
```
## seccomp-bfp: security
프로세스가 호출할 수 있는 시스템콜 제한하는거.
https://en.wikipedia.org/wiki/Seccomp
보다가 추가로 알게된 거
## chroot
현재 실행중인 process, child process group에서 root 디렉토리를 변경함. since 1981
'개발 > linux & tools' 카테고리의 다른 글
k8s docker환경에서의 cpu request, limit (0) | 2019.10.04 |
---|---|
perf sched for Linux CPU scheduler analysis (0) | 2019.04.03 |
systemd initd (0) | 2018.11.25 |
haproxy vs nginx? (0) | 2018.05.16 |
route private network (0) | 2018.03.20 |