3. minimal
all in one, but minimal!
䡬 설치용량 - coreos_production_iso_image.iso (142.6Mb)
䡬 메모리사용량 - 40% less RAM than average Linux
䡬 필요한 프로그램만 설치
䡬 apt-get/yum등 설치 안됨
䡬 docker/etcd/fleet/git/curl등 설치됨
䡬 readonly files
䡬 /usr 디렉토리와 .bashrc등이 readonly
4. update
자동 업데이트
䡬 자동 업데이트
䡬 2중화는 필수!
䡬 필요하면 no reboot option 설정
䡬 minimal하기때문에 서버의 업데이트가 부담이 없음
䡬 평생 무료 업데이트 (아마도)
䡬 security
䡬 Shellshork?? => auto update!
5. clustering
클러스터링 기본구성
䡬 etcd
䡬 쉽고 간단한 key-value manager
䡬 consul/zookeeper.. 등이 필요없음
䡬 systemd
䡬 사용하기 쉽고 간편
䡬 fleet = etcd + systemd
䡬 puppet/chef/ansible/salt.. 등이 필요없음
6. fleet
쉽고 간단한 배포
for i in $(seq 1 ${SERVICE_NUM}); do
fleetctl start ${SERVICE_NAME}-${BUILD_NUMBER}@${i}.service
done
# cleanup
for i in $(seq 1 ${SERVICE_NUM}); do
for check in $(seq 1 ${CHECK_NUM}); do
if [ $(fleetctl list-units --no-legend --fields unit,active | grep ${SERVICE_NAME}-$
{BUILD_NUMBER}@${i}.service | awk '{print $2}') = 'active' ]; then
fleetctl destroy $(fleetctl list-units --no-legend --fields unit | grep ${SERVICE_NAME}- | grep
@${i} | grep -v ${BUILD_NUMBER})
break
fi
sleep 5
done
done
*무중단 배포를 추가 프로그램 설치 없이 쉘 스크립트로 간단하게
7. cloud-config
기본 필수파일 설치도 쉽게
write_files:
- path: /etc/fstab
permissions: 0644
content: |
192.168.0.2:/nfs /mnt/nfs nfs rw,hard,intr,nolock,rsize=8192,wsize=8192,timeo=14 0 0
- path: /etc/systemd/journald.conf
permissions: 0644
content: |
[Journal]
SystemMaxUse=50M
*바이너리를 포함해 어떤 파일도 설치시 설정 가능
10. 관리툴의 조건
䡬 GUI - 쉬운 컨테이너 설치 및 상태 확인
䡬 Detail - native의 기능을 모두 사용 가능
䡬 Cluster - 확장을 쉽게
䡬 Easy Install - 설치를 쉽게
䡬 Service Template - 컨테이너 구성을 하나의 서비스로
䡬 More - CI, Auto Scale…