Ceci est une ancienne révision du document !


OpenShift Origin

Installation d'OpenShift Origin (version communautaire) sur CentOS 7.

NetworkManager est nécessaire, du moins sur les masters et nodes :

yum install NetworkManager
systemctl enable NetworkManager
systemctl start NetworkManager

Pour installer les dépôts OpenShift :

yum install centos-release-openshift-origin

Pour installer le noeud master :

yum install origin-master

Installation des dépendances :

yum install wget git net-tools bind-utils iptables-services bridge-utils bash-completion origin-clients

Installation de docker :

yum install docker

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 :

INSECURE_REGISTRY='--insecure-registry 172.30.0.0/16'

Pour installer un noeud :

yum install origin-node

Pour installer etcd :

yum install etcd

C'est un pré-requis car l'accès aux services des containeurs repose sur l'utilisation d'un serveur DNS.

Pour installer le serveur DNS :

yum install bind

<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 :

yum install bind-utils

Création d'une zone pour nos tests (lab.in.noisy.linuxed.net), en ajoutant le bloc suivant dans /etc/named.rfc1912.zones :

zone "lab.in.noisy.linuxed.net" IN {
        type master;
        file "masters/lab.in.noisy.linuxed.net.zone.master";
        allow-update { none; };
};


Création du répertoire masters :

mkdir -p /var/named/masters

Création du fichier de zone /var/named/masters/lab.in.noisy.linuxed.net.zone.master :

$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
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

Vérification de la configuration :

named-checkconf -z /etc/named.conf

Activation et démarrage du service :

systemctl enable named
systemctl start named

Pour tester une résolution :

dig @localhost NOM

Voilà.

Fichier hosts :

[OSEv3:children]
masters
nodes
etcd
lb

[OSEv3:vars]
ansible_ssh_user=root

deployment_type=origin

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

Pour le déploiement :

ansible-playbook playbooks/byo/config.yml --inventory ~/archi
  • veilletechno/openshift.1488652139.txt.gz
  • Dernière modification : 2017/03/04 18:28
  • de madko