2014-11-05 1 views
4

VMware 이미지가있는 CoreOS 독립형 서버를 배포 했으므로 CoreOS를 경험하려면 guide을 따르십시오.systemd를 통해 CoreOS에서 etcd 서비스 자동 시작을 활성화하십시오.

배포 성공 후 CoreOS는 etcd 및 플리트 서비스가 실행되지 않고 Docker 서비스 만 사용할 수 있음을 발견했습니다. 나는 etcd를 사용하여 수동으로 etcd를 실행하는 방법을 알고 있지만. 또한 적절한 cloud-config를 사용하면 etcd 및 함대 서비스가 자동으로 시작되는 CoreOS를 설치할 수 있음을 알고 있습니다.

는하지만 나는 알고 싶어 :

  1. 는 systemd가 자동으로 etcd 서비스를 시작하기 위해 /etc/systemd/system에서 단위 파일을 배치 할 수 있습니까?
  2. 할 수있는 경우 단위 파일의 내용은 무엇입니까?
  3. 그럴 수 없다면, 다른 방법은 무엇입니까?

감사

답변

2

cloud-config 함께 할 수있는 적절한 방법. 특히 VMware의 경우 config-drive을 통해 클라우드 구성을 제공해야합니다.

일종의 고통이지만 작동 할 것입니다.

+0

감사합니다. cloud-config는 서비스를 자동으로 시작하는 유일한 방법입니까? –

+0

특히 단위 파일은 자동으로 작업을 시작하는 방법 일 뿐이지 만 만드는 방법은 당신에게 달려 있습니다. units 매개 변수 아래에서 클라우드 구성에 제공 할 수 있습니다./etc/systemd/system의 디스크에 저장할 수도 있습니다. – Rob

5
  1. 예. 설치 섹션에 etcd.service 및 fleet.service가 있어야합니다. 내 WantedBy = default.target을 추가했습니다.

  2. 이들은 이미/usr/lib64/systemd/system/내의 coreos 시스템에 배치되어 있습니다. 당신은 /을/etc/systemd/시스템에 복사 할 수 있습니다 :

 
$ cp /usr/lib64/systemd/system/etcd.service /etc/systemd/system/ 
$ cp /usr/lib64/systemd/system/fleet.service /etc/systemd/system/ 
$ echo -e '[Install]\nWantedBy=default.target >> /etc/systemd/system/fleet.service 
$ echo -e '[Install]\nWantedBy=default.target >> /etc/systemd/system/etcd.service 
$ systemctl enable etcd.service 
$ systemctl enable fleet.service 

이 나는 ​​또한에 어떤 변화가 아무 생각이 없다는 것을 여기에서 당신에게 일반 경고를 줄 것이다/긴에서//을 systemd 등 실행, 주어진 CoreOSs 업그레이드 시스템. 업그레이드를하면/etc/systemd가 없어져서 cloud-init에 의해 관리되지 않는 사용자 정의 된 systemd 스크립트에 어떤 일이 발생했는지 혼란스럽게 할 수 있습니다.

+0

이것이 효과적 일지 만, 특히 CoreOS에서 모범 사례를 따르고 cloud-config를 사용하는 것이 훨씬 좋습니다. 프로덕션 환경에서 이것을 사용한다면, 클라우드 환경 설정을 복제하는 것이 매우 유용합니다. –

관련 문제