Este es el comando chake que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
chake - configuración sin servidor con chef
INTRODUCCIÓN
chake es una herramienta que te ayuda a administrar varios hosts sin necesidad de un chef
servidor. La configuración se administra en un directorio local, que probablemente debería estar en
control de versiones con git(1) O algo más. La configuración generalmente se implementa a través de rsync
sobre SSH, y se aplica invocando chef-solo(1) a través de SSH en cada host.
CREANDO EL REINO UNIDO REPOSITORIO
$ chake inicio
[crear] nodes.yaml
[mkdir] nodos.d /
[crear] config.rb
[mkdir] config / roles
[mkdir] libros de cocina / conceptos básicos / recetas /
[crear] libros de cocina / basics / recipes / default.rb
[crear] Rakefile
Una breve explicación de los archivos creados:
· Nodes.yaml: donde enumerará los hosts que administrará y qué recetas
aplicar a cada uno de ellos.
· Nodes.d: un directorio con varios archivos en el mismo formato que nodes.yaml. Todos los archivos
que coincida con * .yaml se agregará a la lista de nodos.
· Config.rb: contiene la configuración chef-solo. Puedes modificarlo, pero normalmente
no será necesario.
· Config / roles: directorio es donde puede poner sus definiciones de roles.
· Libros de cocina: directorio donde guardarás tus libros de cocina. Un libro de cocina de muestra llamado
Se crea "básico", pero siéntase libre de eliminarlo y agregar libros de cocina reales.
· Rakefile: contiene solo la línea require 'chake'. Puedes aumentarlo con otras tareas.
específico para su intraestructura.
Una vez creado el repositorio, puede llamar a chake o rake, ya que están completamente
equivalente.
GERENTE NODOS
Justo después de crear su repositorio, el contenido de nodes.yaml es el siguiente:
host1.miempresa.com:
ejecutar_lista:
- receta [básicos]
Puede enumerar sus hosts con nodos de rake:
$ nodos de rake
host1.miempresa.com ssh
Para agregar más nodos, simplemente agregue a nodes.yaml:
host1.miempresa.com:
ejecutar_lista:
- receta [básicos]
host2.miempresa.com:
ejecutar_lista:
- recetas [básicos]
Y chake ahora sabe sobre su nuevo nodo:
$ nodos de rake
host1.miempresa.com ssh
host2.miempresa.com ssh
PREPARATIVOS NODOS A BE GESTIONADO
Los nodos tienen muy pocos requisitos iniciales para ser administrados con chake:
· El nodo debe ser accesible a través de SSH.
· El usuario que conecte al nodo debe ser root o tener permiso para ejecutar sudo (en
cuyo caso debe instalarse sudo).
A nota on la contraseña indicaciones: cada vez que chake llama a ssh en un nodo, es posible que deba
escriba su contraseña; cada vez que chake llama a sudo en el nodo, es posible que deba escribir
en su contraseña. Para administrar uno o dos nodos, esto probablemente esté bien, pero para
número de nodos no es práctico. Para evitar solicitudes de contraseña, puede:
· Configure la autenticación basada en claves SSH. Esto es más seguro que usar contraseñas.
Mientras lo hace, probablemente también desee deshabilitar la autenticación de contraseña
completamente y solo permite la autenticación basada en claves
· Configure el acceso sudo sin contraseña para el usuario que utiliza para conectarse a sus nodos.
CONTROL CONECTIVIDAD Y INICIAL HOST CONFIGURACIÓN
Para verificar si los hosts están configurados correctamente, puede usar la tarea de verificación:
$ cheque de rake
Eso ejecutará el comando sudo true en cada host. Si eso pasa sin que tengas que hacerlo
contraseñas, estás seguro de que
· Tiene acceso SSH a cada host; y
· El usuario con el que se está conectando tiene sudo sin contraseña correctamente configurado.
$ cheque de rake
APLICANDO LIBROS DE COCINA
Para aplicar la configuración a todos los nodos, ejecute
$ rake converger
Para aplicar la configuración a un solo nodo, ejecute
$ rake converge: $ NODE
Para aplicar una receta única en todos los nodos, ejecute
$ rake aplicar [myrecipe]
Para aplicar una receta única en un nodo específico, ejecute
Se aplica $ rake: $ NODE [myrecipe]
Si no informa una receta en la línea de comando, se le pedirá una.
Para ejecutar un comando de shell en todos los nodos, ejecute
$ rake run [comando]
Si el comando que desea ejecutar contiene espacios u otros caracteres especiales, haga
el caparazón, tienes que citarlos.
Para ejecutar un comando de shell en un nodo específico, ejecute
$ rake run: $ NODE [comando]
Si no informa un comando en la línea de comando, se le pedirá uno.
Para comprobar las tareas existentes, ejecute
$ rastrillo -T
ESCRITURA LIBROS DE COCINA
Dado que chake es en realidad un envoltorio para Chef Solo, debería leer la [documentación del chef] (
).
En especial, consulte la [Documentación de Chef Solo] (
chef_solo.html>).
EL REINO UNIDO NODO BOTAS NUESTRO PROCESO
Cuando chake actúa en un nodo por primera vez, tiene que arrancarlo. El bootstrapping
El proceso incluye hacer lo siguiente:
· Instalando chef y rsync
· Deshabilitar el demonio del cliente chef
· Configurar el nombre de host
NODO URL
Las claves en el hash que se representa en nodes.yaml es una URL de nodo. Todos los componentes de
la URL, pero el nombre de host es opcional, por lo que solo enumerar los nombres de host es la forma más simple de
especificando sus nodos. Aquí están todos los componentes de las URL de los nodos:
[backend: //] [nombre de usuario @] nombre de host [: puerto] [/ ruta]
· Backend: backend que se utilizará para conectarse al host. ssh o local (predeterminado: ssh)
· Nombre de usuario: nombre de usuario con el que conectarse (predeterminado: el nombre de usuario en su estación de trabajo local)
· Nombre de host: el nombre de host al que conectarse (predeterminado: ninguna)
· Puerto: número de puerto al que conectarse (predeterminado: 22)
· / Ruta: dónde almacenar los libros de cocina en el nodo (predeterminado: /var/tmp/chef.$USERNAME)
EXTRA CATEGORIAS
# MANOS
Puede definir tareas de rake que se ejecutarán antes de arrancar los nodos, antes
cargar contenido de gestión de la configuración en los nodos y antes de la convergencia. Para hacer esto,
solo necesitas mejorar las tareas correspondientes:
· Bootstrap_common: se ejecuta antes de arrancar los nodos (incluso si los nodos ya han sido
arrancado)
· Upload_common: se ejecuta antes de cargar contenido en el nodo
· Converge_common: ejecutado antes de converger (es decir, ejecutar chef)
Ejemplo:
tarea: bootstrap_common do
sh './scripts/pre-bootstrap-checks'
final
# Cifrado ARCHIVOS
Cualquier archivo que termine con la coincidencia .gpg y .asc se descifrará con GnuPG antes de enviarse a
el nodo. Puede utilizarlos para almacenar contraseñas y otra información confidencial (claves SSL,
etc) en el repositorio junto con el resto de la configuración.
# REPOSITORIO-LOCAL SSH CONFIGURACIÓN
Si necesita parámetros especiales de configuración de SSH, puede crear un archivo llamado .ssh_config
(o cualquier nombre de archivo que tenga en la variable de entorno $ CHAKE_SSH_CONFIG, consulte a continuación
para más detalles) en la raíz de su repositorio, y chake lo usará cuando llame a ssh.
# REGISTRO IN A A HOST
Para iniciar sesión fácilmente en uno de sus hosts, simplemente ejecute rake login: $ HOSTNAME. Esta voluntad
use automáticamente la configuración SSH local del repositorio como se indicó anteriormente para que no tenga que hacerlo
escriba -F .ssh_config todo el tiempo.
# RUNNING TODAS SSH INVOCACIONES HE TRABAJADO ALGUNOS PREFIJO COMANDO
Algunas veces, también querrá o necesitará prefijar sus invocaciones SSH con algún prefijo
comando para, por ejemplo, tunelizarlo a través de algún nodo de salida central. Puedes hacer esto por
configurando $ CHAKE_SSH_PREFIX en su entorno. Ejemplo:
CHAKE_SSH_PREFIX = tsocks rake convergen
Lo anterior hará que todas las invocaciones SSH a todos los hosts se llamen como tsocks ssh [...]
# CONVERGENTE LOCAL HOST
Si desea administrar su estación de trabajo local con chake, puede declarar un nodo local como
esto en nodes.yaml:
local: // rayo:
ejecutar_lista:
- rol [estación de trabajo]
Para aplicar la configuración al host local, puede utilizar el rastrillo convencional
conversar: rayo, o el rastrillo objetivo especial local.
Al hacer converger todos los nodos, chake omitirá los nodos declarados con local: //
backend y cuyo nombre de host no coincide con el nombre de host en la declaración. Por ejemplo:
local: // escritorio:
ejecutar_lista:
- rol [estación de trabajo]
local: // portátil:
ejecutar_lista:
- rol [estación de trabajo]
Cuando ejecuta rake converge en el escritorio, se omitirá la computadora portátil y viceversa.
MEDIO AMBIENTE VARIABLES
· $ CHAKE_SSH_CONFIG: Archivo de configuración SSH local. El valor predeterminado es .ssh_config.
· $ CHAKE_SSH_PREFIX: comando para prefijar llamadas SSH (y rsync sobre SSH) con.
· $ CHAKE_RSYNC_OPTIONS: opciones extra para pasar a rsync. Útil para, por ejemplo, excluir grandes
archivos para que no se carguen en cada servidor.
· $ CHAKE_NODES: Archivo que contiene la lista de servidores a administrar. Por defecto: nodes.yaml.
· $ CHAKE_NODES_D: Directorio que contiene los servidores de archivos de definición de nodos a administrar.
Por defecto: nodos d.
· $ CHAKE_TMPDIR: Directorio utilizado para almacenar archivos de caché temporales. Por defecto: tmp / chake.
· $ CHAKE_CHEF_CONFIG: Archivo de configuración de Chef, relativo a la raíz del repositorio.
Predeterminado: config.rb.
Use chake en línea usando los servicios de onworks.net