Déploiement et test d’OKD 3.10 dans une seule instance d’Alibaba Cloud …

Image for post
Image for post

OpenShift Origin a récemment été renommée OKD (Origin Community Distribution of Kubernetes). Pour rappel, OKD est construit autour d’un packaging de containers docker et du gestionnaire de cluster de containers Kubernetes. OKD est également complété par des fonctionnalités relatives à la gestion du cycle de vie des applications et à des outils DevOps. OKD fournit au final une plate-forme d’application open source pour containers.

Image for post
Image for post
Image for post
Image for post

Je vais donc créer un déploiement d’OKD dans une seule instance au sein d’Alibaba Cloud, une filiale du groupe Alibaba qui fournit des services de cloud computing aux entreprises et à l’écosystème de commerce électronique du groupe Alibaba. Les opérations internationales d’Alibaba Cloud sont enregistrées et ont leur siège social à Singapour. Et la société a des sièges régionaux à Dubaï, Francfort, Hong Kong, Londres, New York, Paris, San Mateo, Séoul, Afrique, Sydney et Tokyo.

Alibaba Cloud possède 18 centres de données régionaux dans le monde entier, dont le Nord de la Chine, le Sud de la Chine, l’Est de la Chine, l’Est de la Chine, l’Ouest des Etats-Unis, l’Est des Etats-Unis, l’Europe, le Moyen-Orient, le Japon, Hong Kong, Singapour, l’Australie, la Malaisie, l’Inde, l’Indonésie. Le Data Center en Europe est exploité par Vodafone Allemagne et est situé à Francfort.

Image for post
Image for post
Image for post
Image for post

Avec une grille tarifaire légèrement inférieure à celle d’AWS :

Image for post
Image for post

Lancement d’une instance CentOS 7 dans la région US Virginia :

Image for post
Image for post

qui est lié à un VPC :

Image for post
Image for post

L’instance devient accessible :

Image for post
Image for post
Image for post
Image for post

Alibaba Cloud fournit son outil en ligne de commande pour contrôler ses ressources :

aliyun configure
Configuring profile 'default' ...
Aliyun Access Key ID [None]: <Your AccessKey ID>
Aliyun Access Key Secret [None]: <Your AccessKey Secret>
Default Region Id [None]: us-east-1
Default output format [json]: json
Default Languate [zh]: en
Image for post
Image for post

Je peux m’y connecter en SSH :

Image for post
Image for post

et je peux y installer le moteur Docker (qui va m’être nécessaire pour OKD) :

yum install -y docker
Image for post
Image for post
sed -i '/OPTIONS=.*/c\OPTIONS="--selinux-enabled --insecure-registry 172.30.0.0/16"' \
/etc/sysconfig/docker

systemctl enable docker
systemctl daemon-reload
systemctl restart docker
Image for post
Image for post

Je récupère le client OKD officiel 3.10 depuis Github :

Image for post
Image for post
Image for post
Image for post

Et je lance via ce client OKD un cluster localisé dans cette instance d’Alibaba Cloud : je m’appuie ici sur l’adresse IP externe fournie par Alibaba Cloud ECS pour configurer l’accès public au cluster …

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

L’installation est terminée et l’interface du tableau de bord d’OKD est disponible :

Image for post
Image for post
Image for post
Image for post

Je fais le traditionnel test du déploiement du démonstrateur FC Agent via le client OKD :

Image for post
Image for post

Après exposition du service du démonstrateur FC Agent, je reçois un lien d’accès vers ce dernier :

Image for post
Image for post

Et je peux scaler ce déploiement :

Image for post
Image for post

Visualisable dans le tableau de contrôle d’OKD :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Le déploiement est réussi :

Image for post
Image for post

Je peux également tester les fonctions dans OKD avec OpenFaaS :

Image for post
Image for post
Résultat de recherche d'images pour "openfaas openshift"

Je pars pour cela de ce dépôt Github :

oc new-app -f nats-template.yaml -p CP_NAMESPACE={control plane project name} -p FN_NAMESPACE={function project name}oc new-app -f faasnetesd-template.yaml -p CP_NAMESPACE={control plane project name} -p FN_NAMESPACE={function project name}oc new-app -f gateway-template.yaml -p CP_NAMESPACE={control plane project name} -p FN_NAMESPACE={function project name}oc new-app -f prom-am-template.yaml -p CP_NAMESPACE={control plane project name}oc new-app -f idler-template.yaml -p CP_NAMESPACE={control plane project name}
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Avec application des droits dans le namespace :

Image for post
Image for post

Je peux déployer maintenant une fonction de reconnaissance d’image avec la bibliothèque OpenCV :

Image for post
Image for post

Je récupère une image publique :

Image for post
Image for post

et j’invoque la fonction en donnant le lien public vers cette image :

Image for post
Image for post

qui me remet en échange une nouvelle image traitée :

Image for post
Image for post

dans laquelle les visages ont été reconnus :

Image for post
Image for post

Je refais la même chose avec une autre fonction se basant sur Pigo :

Image for post
Image for post

en y insérant une autre image officielle :

Image for post
Image for post
Image for post
Image for post

Encore une fois, une image m’est retournée après traitement de la fonction dans OpenFaaS :

Image for post
Image for post

Les visages ont encore été reconnus :

Image for post
Image for post

Weave, comme précedemment, peut servir avec Weave Scope à la visualisation et au suivi des containers dans OKD :

oc login -u system:adminoc new-project weave

oc adm policy add-cluster-role-to-user cluster-admin -z weave-scope

oc adm policy add-scc-to-user privileged -z weave-scope

oc adm policy add-scc-to-user anyuid -z default
oc apply -f 'https://cloud.weave.works/k8s/scope.yaml'
Image for post
Image for post

et je rend public l’accès à Weave Scope dans OKD :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Above the clouds, the sky is always blue ...