Esta es una pequena guia con muchos errores ortograficos que comprende el proceso de instalacion y pruebas basicas con CoreOS
Instalacion
Hasta ahora no sabemos como hacerlo sin una maquina conectada a internet. En esta direccion https://coreos.com/os/docs/latest/quickstart.html se puedeb encontrar una guia basica. Si se escoje el proceso de instalacion por ISO los que se baja es un punto desde el cual se puede lanzar un instalador que baja desde internet la instalacion.
El iso se puede descargar desde aqui: https://coreos.com/os/docs/latest/booting-with-iso.html
Despues de despertar la maquina con el se entra a un prompt basico.
Desde alli se debe escalar en privilecios con un sudo y depsues lanzar el instalador:
coreos-install -d /dev/sda -c cloud-config.yaml
Es muy importante pasar el cloudconfig para no enrredarse despues con la autentificacion.
Aqui se muestra como: https://linuxconfig.org/how-to-perform-a-bare-metal-installation-of-coreos-linux
Y para poder poner una ip fija se puede mirar aqui: https://coreos.com/os/docs/latest/network-config-with-networkd.html
Un ejemplo de cloud-config.yaml
#cloud-config hostname: coreos1-node ssh_authorized_keys: - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDaF6E4c9jqL9cF1+XbfHAaGZTIDWn78grUmLbt+BkJVVQhQZ1rdkB40BbpZH31OlCVbg59qbCkYgT4NMRF/WzIVyEZWOTdc4Vn1lwHYSCnbR3aTAUVWeut+rHUn9SIxcZ+yOW5WLByTGHs+vCK478rkoMGA70IcvxWBUQu/KccJpK9RTGtuBPZ23YcBjSJyM2aO1uxNP1VZJqS52PDZN6rC+H0NSbYphrIPjtGNhocBHK9WT9mUUrevK8NflzHtS41MLsGkOd/RgHsIxPG9bbZ4mdS2vkJfKZDk72l2G90mOGSZh2/gH0NiEmrxsepfyRL13wPp3clerTkTY4DgG7P taqchi@Manuels-MacBook-Pro.local - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7FeXra7tZNkjrDMhi1N+Aebjo5SvPXIY4Wc3KZZ7F8eEzdYaXenuV9LWarzwd/cxTyWmZT5HSUK+KcVa/k+RgM6JMUhEGh+nbfxqeZIOFOUF91cKXW6w6tSS+PBdWszlFv0hhoZb/tJgnXZLBzHICJ+Mz0Gio0BeBMX1fNAtyL7vE9NcuCoq73hDPYf3Zc1UMNx6PH+xvWN1AT+oonUk0w73J3emMldN5/5zJvmKlFOM1ygkj5lpfwPZY2jjkC+p7Ka+wus/2nnIz89MkQqX8RA7jSVfvH7B3NLxcd9qBRextvANl0bVMgEDShSJLnHBRUC+6pEEdyoyaMXmNaq95 root@pm01.sustam.com users: - name: core passwd: $1$Y9OJDrE3$Bv4veLMp1fo6P8jN1/L1g0 coreos: units: - name: systemd-networkd.service command: stop - name: 00-ens18.network runtime: true content: | [Match] Name=ens18 [Network] DNS=8.8.8.8 Address=10.0.0.11/24 Gateway=10.0.0.1 - name: down-interfaces.service command: start content: | [Service] Type=oneshot ExecStart=/usr/bin/ip link set ens18 down ExecStart=/usr/bin/ip addr flush dev ens18 - name: systemd-networkd.service command: restart - name: etcd2.service command: start - name: fleet.service command: start etcd2: # generate a new token for each unique cluster from https://discovery.etcd.io/new?size=3 # specify the initial size of your cluster with ?size=X discovery: https://discovery.etcd.io/8133f8b97fd5988b9a25627014f2e6f7 advertise-client-urls: http://10.0.0.11:2379,http://10.0.0.11:4001 initial-advertise-peer-urls: http://10.0.0.11:2380 # listen on the official ports 2379, 2380 and one legacy port 4001: listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001 listen-peer-urls: http://10.0.0.11:2380 fleet: public-ip: 10.0.0.11 # used for fleetctl ssh command
Al terminar el proceso de instalacion debe verse algo como:
Reiniciar todos los nodos y comprobar que no se vean errores.
Para ver si el servicio etcd2 esta ok en todos se puede usar:
systemctl status etcd2
La salida debe ser asi mas o menos
● etcd2.service - etcd2 Loaded: loaded (/usr/lib/systemd/system/etcd2.service; disabled; vendor preset: disabled) Drop-In: /run/systemd/system/etcd2.service.d └─20-cloudinit.conf Active: active (running) since Thu 2016-11-03 20:19:39 UTC; 8min ago Main PID: 1414 (etcd2) Tasks: 10 Memory: 35.4M CPU: 3.930s CGroup: /system.slice/etcd2.service └─1414 /usr/bin/etcd2 Nov 03 20:19:39 coreos1-node etcd2[1414]: 29b777c31723e490 [logterm: 1, index: 3, vote: 29b777c31723e490] rejected vote from 46b0f4bd80d1424d [logterm: 1, index: 3] at term 2 Nov 03 20:19:39 coreos1-node etcd2[1414]: the connection with 50499cd27cdbe30d became active Nov 03 20:19:39 coreos1-node etcd2[1414]: 29b777c31723e490 received vote rejection from 46b0f4bd80d1424d at term 2 Nov 03 20:19:39 coreos1-node etcd2[1414]: 29b777c31723e490 [quorum:2] has received 1 votes and 1 vote rejections Nov 03 20:19:39 coreos1-node etcd2[1414]: 29b777c31723e490 received vote rejection from 50499cd27cdbe30d at term 2 Nov 03 20:19:39 coreos1-node etcd2[1414]: 29b777c31723e490 [quorum:2] has received 1 votes and 2 vote rejections Nov 03 20:19:39 coreos1-node etcd2[1414]: 29b777c31723e490 became follower at term 2 Nov 03 20:19:39 coreos1-node etcd2[1414]: raft.node: 29b777c31723e490 elected leader 46b0f4bd80d1424d at term 2 Nov 03 20:19:40 coreos1-node etcd2[1414]: published {Name:69436ca671524a17acedcf93c541e8d3 ClientURLs:[http://10.0.0.11:2379 http://10.0.0.11:4001]} to cluster f7a76f3a444892c0 Nov 03 20:19:40 coreos1-node etcd2[1414]: set the initial cluster version to 2.3
Para saber si el cluster de etcd2 esta trabajado correctamente que es la idea de todo esto se puede ejecutar en un nodo algo como:
etcdctl set /message “Hola”
y en otro pedir el valor
etcdctl get /message y deberia devolver Hola