Назад | Перейти на главную страницу

CoreOS: как обслуживать разные «профили» облачной конфигурации

Я только начинаю работать с CoreOS, я следил за пошаговым руководством по настройке Kubernetes, но, похоже, мне не хватает очень простой концепции. Поскольку я использую Bare Metal, я использую cloud-config-url параметр, указывающий на веб-сервер NGINX, возвращающий очень простой файл облачной конфигурации, который заменяет IP-адрес хоста (как указано dhcp). Что-то вроде этого:

#cloud-config
coreos:
  etcd2:
    discovery: "https://discovery.etcd.io/2ab74sd3a59583012056187ee8b74e9a"
    advertise-client-urls: "http://$public_ipv4:2379"
    initial-advertise-peer-urls: "http://$public_ipv4:2380"
    listen-client-urls: "http://0.0.0.0:2379,http://0.0.0.0:4001"
    listen-peer-urls: "http://$public_ipv4:2380,http://$public_ipv4:7001"
  units:
    - name: etcd2.service
      command: start
    - name: fleet.service
      command: start
ssh_authorized_keys:
....

Это отлично. Оно работает.

Но что, если я хочу запустить службу, которая не включить etcd2конфигурация? или добавить службу к определенному подмножеству серверов? Как вы, ребята, справитесь с этим делом?

Есть ли еще параметры или заголовки, переданные ядром в cloud-config-url? как я могу использовать это в NGINX?

Спасибо за ваш отзыв

Я предполагаю, что вы можете передать параметр GET и переключить конфигурацию на его основе. Возможно, вас также заинтересует Coreos-baremetal project, который делает это с помощью языка шаблонов.