2015-04-18 5 views
0

Я использую ubuntu 12.04 AMI в EC2 для создания кукольного кластера, и я сталкиваюсь с проблемами при его настройке. Проблема заключается в том, что мастер не может распознавать ведомые устройства. мне нужно больше, чем другие MySQLКак я могу установить кукольный кластер на экземпляры Amazon EC2?

/etc/mysql/my.cnf 

какие изменения необходимо в указанном файле пакеты ли?

ответ

2

Puppet - это инструмент управления конфигурацией, который позволяет автоматизировать процесс определения и поддержания согласованного состояния нескольких рабочих станций разработчиков. Это описательная, централизованная и клиент-серверная система. Центральный сервер настроен и клиенты синхронизируются с ним, чтобы гарантировать, что все системы завершатся в описанном состоянии. Например, задача обеспечения одинаковой среды разработки для всех систем разработчиков в проекте может быть легко выполнена с использованием Puppet. Вот краткая процедура настройки сервера Puppet и одного кукольного клиента на экземпляр Amazon EC2 с ОС Ubuntu, а также установка Puppet Dashboard на сервере для просмотра состояния клиентов.

Предпосылки

  • Два EC2 экземпляры созданы с Ubuntu AMI.
  • Один экземпляр, названный как puppetserver и другой как кукольный человек.

Процедура

сервер кукольный и клиент настроить

  • Настройка хостов файлов Просмотр файла/и т.д./имя хоста на puppetserver и puppetclient. Это имена серверов Puppet и клиентов, соответственно Редактируйте файл/etc/hosts в обеих системах. Добавьте IP-адреса серверов и клиентов и соответствующие имена хостов.

  • Настройка Puppet сервера Включение хранилища Кукольный Labs пакет

  • Загрузить пакет "puppetlabs-релиз" для операционной системы (здесь, Ubuntu 12.04) на кукольном сервере
  • Установите пакет, запустив dpkg -i
  • Запустите apt-get update, чтобы получить новый список доступных пакетов.

Например, чтобы включить репозиторий для Ubuntu 12.04, Precise Pangolin:

wget https://apt.puppetlabs.com/puppetlabs-release-precise.deb 
sudo dpkg -i puppetlabs-release-precise.deb 
sudo apt-get updateInstall Puppet 

Установить Кукольный

Установите кукловод

sudo apt-get update sudo apt-get install puppetmaster 

Настройка клиента Кукольный

Установить Кукольный на кукольный клиента (ов)

sudo apt-get update sudo apt-get install puppet 

Укажите доменное имя сервера Puppet на клиенте. Для этого измените файл
/etc/puppet/puppet.conf и добавьте строку server =. Теперь клиент может подключиться к Мастеру Марионеток.

enter image description here

Запустите службу агента Кукольный для создания первой связи между сервером и клиентом.

sudo puppet agent --verbose --no-daemonize --onetime 

Это начинает подключение к главному процессу кукольного, который прослушивает порт 8140 на сервере кукол. Результат будет подробным, и агент не будет продолжать работать в фоновом режиме в качестве демона. Кроме того, он будет работать только один раз, то есть после закрытия соединения процесс агента завершится. Вывод выглядит следующим образом:

enter image description here

клиент сделал сам известен серверу, отправив запрос сертификата SSL. Серверу необходимо сертифицировать клиента. Чтобы просмотреть список еще, чтобы быть подписаны сертификаты на сервере

sudo puppet cert --list 

Это приводит следующие

enter image description here

подписи сертификата SSL клиентского узла в

sudo puppet cert --sign <puppet client name> 

enter image description here

Теперь клиент может установить полное подключение к серверу и опросить мастер-кукольник для любых изменений конфигурации.

Определение конфигурации

Мы создали кукольный как на кукольном сервера и клиента, а также установили связь между двумя машинами. Следующий шаг - определить конфигурацию для целевых систем, используя манифест марионетки. Эти манифесты указаны в файле site.pp.

В качестве примера мы определим манифест, который создаст файл helloworld.txt на клиенте.

Определение манифеста

Поместите следующий манифест определение в файле /etc/puppet/manifests/site.pp,

node "<puppet client hostname>" { file { "/home/ubuntu/helloworld.txt": content => "This is test content", ensure => file, owner => "ubuntu", group => "ubuntu", mode => 0644 } } 

Этот манифест определяет, что марионеточный клиент должен иметь helloworld.txt файл в/home/ubuntu/папка с контентом, это тестовое содержимое.

Попадая изменения на клиенте

На кукольный клиента, выполните следующую команду.

sudo puppet agent -t 

Кукольный клиент вытаскивает манифесты, определенные в файле site.pp на кукольном сервере. Он узнал, что файл с именем helloworld.txt с определенными спецификациями, как ожидается, будет существовать в location/home/ubuntu. Поскольку на клиенте такого файла нет, агент предпринимает действия и создает файл.

Открыть файл «» helloworld.txt

Чтобы убедиться, что клиент находится в состоянии, определенном сервере кукольного, выполните следующую команду

sudo vi /home/ubuntu/helloworld.txt 

Содержимое файла такие же, как определенных в определении манифеста на сервере.

Установка кукольного панель

Обзор Кукольная Панель представляет собой графический интерфейс, который взаимодействует с Куклами. Он может использоваться для просмотра и отчета о состоянии всех клиентских узлов. Кукольная панель работает на порту 3000 на марионеточном сервере.

Ниже приведены шаги для созданы

  1. Установка внешних зависимостей

Dashboard является рубин на Rails веб-приложение и, таким образом, требует определенного программного обеспечения для установки RubyGems Rake версия 0.8.3 или новее База данных базы данных MySQL 5.x Связывание Ruby-MySQL версии 2.7.x или 2.8.x

Установите пакеты

sudo apt-get install -y build-essential irb libmysql-ruby libmysqlclient-dev libopenssl-ruby libreadline-ruby mysql-server rake rdoc ri ruby ruby-dev 

Установите пакетная система RubyGems

(URL="http://production.cf.rubygems.org/rubygems/rubygems-1.3.7.tgz" PACKAGE=$(echo $URL | sed "s/\.[^\.]*$//; s/^.*\///") cd $(mktemp -d /tmp/install_rubygems.XXXXXXXXXX) && \ wget -c -t10 -T20 -q $URL && \ tar xfz $PACKAGE.tgz && \ cd $PACKAGE && \ sudo ruby setup.rb) 

Создать камень в качестве альтернативного имени gem1.8

sudo update-alternatives --install /usr/bin/gem gem /usr/bin/gem1.8 1 

Установка кукольной панели

Установите кукольную панель из puppetlabs пакет хранилища

sudo apt-get update sudo apt-get install puppet-dashboard 

Настройки Dashboard

Измените файл database.yml. Его можно найти на странице /usr/share/puppet-dashboard/config/database.yml.

enter image description here

Под пар ключ-значение для производственной среды, значение базы данных «dashboard_production» указывает имя базы данных информационной панели, и значение имени пользователя «панель» определяет пользователя для этой базы данных. На следующем шаге мы создадим как базу данных, так и пользователя. password - пароль для MySQL.

Создание и настройка базы данных MySQL

Создание пользователя и базы данных для кукольного панели. Перейдите в командную строку MySQL

CREATE DATABASE dashboard_production CHARACTER SET utf8; CREATE USER 'dashboard'@'localhost' IDENTIFIED BY 'my_password'; GRANT ALL PRIVILEGES ON dashboard_production.* TO 'dashboard'@'localhost'; 
максимальный размер пакета

Configure MySQL, чтобы разрешить большие строки в базе данных

set global max_allowed_packet = 33554432; 

изменить Также конфигурационный файл MySQL /etc/mysql/my.cnf

Позволяющ 32Мб допускается случайный разрыв 17MB с большим количеством свободного места

max_allowed_packet = 32M 

Для создания таблицы приборной панели, выполните следующую команду в папке кукольной приборной панели

cd /usr/share/puppet-dashboard rake RAILS_ENV=production db:migrate 

тестирования, что Dashboard работает

Запустите панель, используя рубин встроенного сервера WEBrick

cd /usr/share/puppet-dashboard 
sudo ./script/server -e production 

Экземпляр панели мониторинга запускается на порту 3000 с использованием «производственной» среды. Пользовательский интерфейс приборной панели можно посмотреть на сайте: 3000

Настройка кукольный

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

puppet.conf (на каждого агента)

[agent] 
report = true 

Настройка сервера. Добавьте обработчик отчета http к настройкам отчетов марионеточного сервера и установите reporturl в отчеты экземпляра Dashboard/upload URL

кукольный.конф (на кукловоде)

[master] 
reports = store, http 
reporturl = http://<server hostname>:3000/reports/upload 

Для включения внешнего узла классификатора личного кабинета (ENC),

puppet.conf (на кукловоде) соединение

[master] 
node_terminus = exec 
external_nodes = /usr/bin/env PUPPET_DASHBOARD_URL=http://<server hostname>:3000 /usr/share/puppet-dashboard/bin/external_node 

Тестирования Кукольного на Dashboard

Перезапустите мастера куколки Запустите один из кукольных агентов, чтобы проверить конфигурации

sudo puppet agent -t 

Выход будет:

enter image description here

Это означает, что отчет прибыл. Чтобы обработать его, мы активизируем работников delayed_job.

Запуск рабочих delayed_job

Выполните следующую команду

cd /usr/share/puppet-dashboard 
sudo env RAILS_ENV=production script/delayed_job -p dashboard -n 1 -m start 

Это начинается рабочих delayed_job, и завершает отложенную задачу.

Таким образом, кукла теперь установлена ​​на двух экземплярах EC2, из которых один является сервером, а другой - клиентом. Кроме того, для просмотра состояния клиентских узлов установлена ​​панель управления марионеткой.

Смежные вопросы