veilletechno:openshift

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
veilletechno:openshift [2017/03/03 17:47] – [Configuration des dépôts OpenShift] madkoveilletechno:openshift [2017/03/13 12:16] (Version actuelle) – [Déploiement via ansible] madko
Ligne 3: Ligne 3:
 Installation d'OpenShift Origin (version communautaire) sur CentOS 7. Installation d'OpenShift Origin (version communautaire) sur CentOS 7.
  
-===== Configuration des dépôts OpenShift =====+===== Pré-requis ===== 
 + 
 +==== NetworkManager ==== 
 + 
 +NetworkManager est nécessaire, du moins sur les masters et nodes : 
 + 
 +<code> 
 +yum install NetworkManager 
 +systemctl enable NetworkManager 
 +systemctl start NetworkManager 
 +</code> 
 + 
 +<WRAP DANGER>Si NetworkManager n'est pas installé, l'installation via ansible échouera.</WRAP> 
 + 
 + 
 +==== Configuration des dépôts OpenShift ====
  
 Pour installer les dépôts OpenShift : Pour installer les dépôts OpenShift :
Ligne 10: Ligne 25:
 yum install centos-release-openshift-origin yum install centos-release-openshift-origin
 </code> </code>
 +
 +<WRAP INFO>L'installation via playbook ansible configure ce dépôt.</WRAP>
 +
 +
 ===== Installation du master ===== ===== Installation du master =====
  
Ligne 17: Ligne 36:
 yum install origin-master yum install origin-master
 </code> </code>
 +
 +Installation des dépendances :
 +
 +<code>
 +yum install wget git net-tools bind-utils iptables-services bridge-utils bash-completion origin-clients
 +</code>
 +
 +Installation de docker :
 +
 +<code>
 +yum install docker
 +</code>
 +
 +Il faut onfigurer docker pour autoriser le dépôt docker (registry) local de OpenShift comme source d'images. Cela se fait dans le fichier /etc/sysconfig/docker en y ajoutant la ligne suivante :
 +
 +<file>
 +INSECURE_REGISTRY='--insecure-registry 172.30.0.0/16'
 +</file>
 +
 +
 ===== Installation d'un node ===== ===== Installation d'un node =====
  
Ligne 23: Ligne 62:
 <code> <code>
 yum install origin-node yum install origin-node
 +</code>
 +===== Installation cluster etcd =====
 +
 +Pour installer etcd :
 +
 +<code>
 +yum install etcd
 +</code>
 +===== Serveur DNS =====
 +
 +C'est un pré-requis car l'accès aux services des containeurs repose sur l'utilisation d'un serveur DNS.
 +
 +==== Installation du serveur DNS ====
 +
 +Pour installer le serveur DNS :
 +
 +<code>
 +yum install bind
 +</code>
 +
 +<WRAP INFO>Il est peut-etre possible d'utiliser dnsmasq</WRAP>
 +
 +Sur les master OpenShift un DNS existe déjà (SkyDNS), et sert pour résoudre les adresses des routeurs qui seront mis en place via OpenShift pour accèder aux services des containeurs. L'idée est donc de configurer le serveur DNS officiel du réseau (ici une VM avec bind) pour que la zone dédiée aux routeurs OpenShift pointe sur le SkyDNS.
 +
 +Pour avoir les utilitaires comme dig :
 +
 +<code>
 +yum install bind-utils
 +</code>
 +==== Configuration du serveur DNS ====
 +
 +Création d'une zone pour nos tests (lab.in.noisy.linuxed.net), en ajoutant le bloc suivant dans /etc/named.rfc1912.zones :
 +
 +<file>
 +zone "lab.in.noisy.linuxed.net" IN {
 +        type master;
 +        file "masters/lab.in.noisy.linuxed.net.zone.master";
 +        allow-update { none; };
 +};
 +</file>
 +
 +\\
 +Création du répertoire masters :
 +
 +<code>
 +mkdir -p /var/named/masters
 +</code>
 +
 +Création du fichier de zone /var/named/masters/lab.in.noisy.linuxed.net.zone.master :
 +
 +<file>
 +$TTL    604800
 +@       IN      SOA     lab.in.noisy.linuxed.net. admin.lab.in.noisy.linuxed.net. (
 +                              1         ; Serial
 +                         604800         ; Refresh
 +                          86400         ; Retry
 +                        2419200         ; Expire
 +                         604800 )       ; Negative Cache TTL
 +;
 +@       IN      NS      ns.lab.in.noisy.linuxed.net.
 +NS      IN      A       192.168.2.80
 +dns-0           IN      A       192.168.2.80
 +cluster         IN      A       192.168.2.97
 +master-0        IN      A       192.168.2.97
 +master-1        IN      A       192.168.2.98
 +master-2        IN      A       192.168.2.99
 +etcd-0          IN      A       192.168.2.50
 +etcd-1          IN      A       192.168.2.52
 +etcd-2          IN      A       192.168.2.54
 +node-0          IN      A       192.168.2.76
 +node-1          IN      A       192.168.2.77
 +nfs-0           IN      A       192.168.2.89
 +lb-0            IN      A       192.168.2.90
 +</file>
 +
 +Vérification de la configuration :
 +
 +<code>
 +named-checkconf -z /etc/named.conf
 +</code>
 +
 +Activation et démarrage du service :
 +
 +<code>
 +systemctl enable named
 +systemctl start named
 +</code>
 +
 +Pour tester une résolution :
 +
 +<code>
 +dig @localhost NOM
 +</code>
 +
 +Voilà.
 +
 +
 +===== Déploiement via ansible =====
 +
 +Fichier hosts :
 +
 +<file>
 +[OSEv3:children]
 +masters
 +nodes
 +etcd
 +lb
 +
 +[OSEv3:vars]
 +ansible_ssh_user=root
 +
 +deployment_type=origin
 +
 +openshift_dns_ip=192.168.2.50
 +
 +openshift_master_identity_providers=[{'name': 'htpasswd_auth','login': 'true', 'challenge': 'true','kind': 'HTPasswdPasswordIdentityProvider','filename': '/etc/origin/master/htpasswd'}]
 +
 +openshift_master_default_subdomain=apps.lab.in.noisy.linuxed.net
 +
 +openshift_metrics_install_metrics=true
 +
 +openshift_hosted_metrics_storage_kind=nfs
 +openshift_hosted_metrics_storage_access_modes=['ReadWriteOnce']
 +openshift_hosted_metrics_storage_host=nfs.lab.in.noisy.linuxed.net
 +openshift_hosted_metrics_storage_nfs_directory=/exports
 +openshift_hosted_metrics_storage_volume_name=metrics
 +openshift_hosted_metrics_storage_volume_size=10Gi
 +
 +openshift_master_cluster_method=native
 +openshift_master_cluster_hostname=cluster.lab.in.noisy.linuxed.net
 +openshift_master_cluster_public_hostname=cluster.lab.in.noisy.linuxed.net
 +
 +[lb]
 +lb-0.lab.in.noisy.linuxed.net openshift_hostname=lb-0.lab.in.noisy.linuxed.net
 +
 +[masters]
 +master-0.lab.in.noisy.linuxed.net openshift_hostname=master-0.lab.in.noisy.linuxed.net
 +master-1.lab.in.noisy.linuxed.net openshift_hostname=master-1.lab.in.noisy.linuxed.net
 +master-2.lab.in.noisy.linuxed.net openshift_hostname=master-2.lab.in.noisy.linuxed.net
 +
 +[nodes]
 +node-0.lab.in.noisy.linuxed.net openshift_hostname=node-0.lab.in.noisy.linuxed.net openshift_node_labels="{'region': 'primary', 'zone': 'lab'}"
 +node-1.lab.in.noisy.linuxed.net openshift_hostname=node-1.lab.in.noisy.linuxed.net openshift_node_labels="{'region': 'primary', 'zone': 'lab'}"
 +master-0.lab.in.noisy.linuxed.net openshift_hostname=master-0.lab.in.noisy.linuxed.net openshift_node_labels="{'region': 'infra', 'zone': 'lab'}" openshift_schedulable=false
 +master-1.lab.in.noisy.linuxed.net openshift_hostname=master-1.lab.in.noisy.linuxed.net openshift_node_labels="{'region': 'infra', 'zone': 'lab'}" openshift_schedulable=false
 +master-2.lab.in.noisy.linuxed.net openshift_hostname=master-2.lab.in.noisy.linuxed.net openshift_node_labels="{'region': 'infra', 'zone': 'lab'}" openshift_schedulable=false
 +
 +[etcd]
 +etcd-0.lab.in.noisy.linuxed.net openshift_hostname=etcd-0.lab.in.noisy.linuxed.net
 +etcd-1.lab.in.noisy.linuxed.net openshift_hostname=etcd-1.lab.in.noisy.linuxed.net
 +etcd-2.lab.in.noisy.linuxed.net openshift_hostname=etcd-2.lab.in.noisy.linuxed.net
 +</file>
 +
 +Pour le déploiement :
 +
 +<code>
 +ansible-playbook /usr/share/ansible/openshift-ansible/playbooks/byo/config.yml --inventory ~/archi
 </code> </code>
  
  
  • veilletechno/openshift.1488563267.txt.gz
  • Dernière modification : 2017/03/03 17:47
  • de madko