I. Création de clusters Kubernetes depuis l'interface graphique avec IBM Bluemix Container Service▲
Un cluster est un ensemble de nœuds d'agent organisé sur un réseau. L'objet de ce cluster est de définir un ensemble de ressources, de nœuds, de réseaux et de périphériques de stockage susceptible d'assurer une haute disponibilité des applications. Avant de pouvoir déployer une application, vous devez créer un cluster et spécifier les définitions des nœuds d'agent dans ce cluster.
Pour créer un cluster, procédez comme suit :
-
Dans le catalogue, sélectionnez Conteneurs et cliquez sur Cluster Kubernetes ;
-
Pour Type de cluster, sélectionnez Standard. Un cluster standard vous octroie des fonctions supplémentaires telles que des nœuds d'agent multiples pour promouvoir un environnement de haute disponibilité ;
-
Renseignez la zone Nom du cluster ;
-
Sélectionnez la version Kubernetes à utiliser dans les nœuds d'agent ;
-
Sélectionnez l'Bluemix emplacement où déployer votre cluster. Les emplacements disponibles dépendent de la région Bluemix à laquelle vous vous êtes connecté. Pour des performances optimales, sélectionnez la région physiquement la plus proche. Si vous sélectionnez un emplacement à l'étranger, il se peut que vous ayez besoin d'une autorisation des autorités pour stocker physiquement les données dans un autre pays. La région Bluemix détermine le registre de conteneurs que vous pouvez utiliser et les services Bluemix qui vous sont disponibles.
Remarque : IBM® Bluemix Container Service n'est pas disponible dans la région Bluemix - Grande-Bretagne. Si vous disposez d'images Docker privées ou de services Bluemix configurés dans la région Grande-Bretagne et désirez les utiliser avec votre cluster, utilisez l'interface CLI pour créer votre cluster. Connectez-vous à la région Bluemix - Grande-Bretagne pour cibler le registre de conteneurs, puis connectez-vous à une région IBM Bluemix Container Service disponible ;
- Sélectionnez un type de machine. Le type de machine détermine le nombre d'UC virtuelles et la mémoire déployés dans chaque nœud d'agent et disponibles pour tous les conteneurs que vous déployez dans vos nœuds :
le type de machine micro correspond à l'option la plus modique,
un type de machine équilibré affecte la même quantité de mémoire à chaque UC, ce qui optimise les performances ;
-
Sélectionnez le nombre de nœuds d'agent dont vous avez besoin. Sélectionnez 3 pour assurer une haute disponibilité de votre cluster ;
-
Sélectionnez un VLAN privé dans votre compte Bluemix Infrastructure (SoftLayer). Ce réseau local virtuel privé est utilisé pour la communication entre les nœuds d'agent. Vous pouvez utiliser le même VLAN privé pour plusieurs clusters ;
-
Sélectionnez un VLAN public dans votre compte Bluemix Infrastructure (SoftLayer). Ce réseau local virtuel public est utilisé pour la communication entre les nœuds d'agent et le maître Kubernetes géré par IBM. Vous pouvez utiliser le même réseau local virtuel public pour plusieurs clusters. Si vous ne sélectionnez pas de VLAN public, vous devez configurer une solution alternative ;
- Pour Matériel, sélectionnez Dédié ou Partagé. Partagé est une option satisfaisante pour la plupart des situations :
Dédié : assure un isolement complet de vos ressources physiques vis-à-vis des autres clients IBM,
Partagé : permet à IBM de stocker vos ressources physiques sur le même matériel que pour d'autres clients IBM.
-
Cliquez sur Créer un cluster. La section des informations détaillées sur le cluster s'ouvre, mais l'allocation de nœuds d'agent dans le cluster prend quelques minutes. Vous pouvez suivre la progression du déploiement du nœud d'agent dans l'onglet Nœuds d'agent. Lorsque les nœuds d'agent sont prêts, l'état passe à Prêt.
Remarque : à chaque nœud d'agent sont affectés un ID de nœud d'agent unique et un nom de domaine qui ne doivent pas être modifiés manuellement après la création du cluster. La modification de l'ID ou du domaine empêcherait le maître Kubernetes de gérer votre cluster.
Étape suivante ?
- Une fois le cluster opérationnel, vous pouvez réaliser les tâches suivantes.
-
Installation des interfaces CLI pour commencer à gérer votre cluster.
II. Création de clusters Kubernetes depuis l'interface CLI d'IBM Bluemix Container Service▲
Un cluster est un ensemble de nœuds d'agent organisé sur un réseau. L'objet de ce cluster est de définir un ensemble de ressources, de nœuds, de réseaux et de périphériques de stockage susceptible d'assurer une haute disponibilité des applications. Avant de pouvoir déployer une application, vous devez créer un cluster et spécifier les définitions des nœuds d'agent dans ce cluster.
Pour créer un cluster, procédez comme suit :
-
Installez l'interface de ligne de commande de Bluemix et le plug-in IBM Bluemix Container Service ;
-
Connectez-vous à l'interface CLI d'Bluemix. À l'invite, entrez vos données d'identification Bluemix.
SélectionnezConnexion bx
Pour stipuler une région Bluemix spécifique, incluez son nœud final d'API. Si vous disposez d'images Docker privées stockées dans le registre de conteneurs d'une région Bluemix spécifique, ou des instances de service Bluemix que vous avez déjà créées, connectez-vous à cette région pour accéder à vos images et services Bluemix.
-
Sud des États-Unis
Sélectionnezbx login -a api.ng.bluemix.net
-
Allemagne
Sélectionnezbx login -a api.eu-de.bluemix.net
-
Australie
Sélectionnezbx login -a api.au-syd.bluemix.net
Remarque : si vous utilisez un ID fédéré, lancez la commande bx login --sso pour vous connecter à l'interface CLI de Bluemix. Entrez votre nom d'utilisateur et utilisez l'URL mentionnée dans la sortie CLI pour extraire votre code d'accès ponctuel. Si la connexion échoue alors que vous omettez l'option --sso et aboutit en incluant l'option --sso, ceci indique que votre ID est fédéré ;
-
-
Si vous êtes affecté à plusieurs comptes, organisations et espaces Bluemix, sélectionnez le compte dans lequel vous désirez créer votre Kubernetes. Les clusters sont spécifiques à un compte et à une organisation, mais sont indépendants de l'espace Bluemix. Par conséquent, si vous avez accès à plusieurs espaces dans votre organisation, vous pouvez sélectionner n'importe lequel dans la liste ;
-
Connectez-vous au plug-in Kubernetes d'IBM Bluemix Container Service (bx cs).
Sélectionnezbx cs init
Pour stipuler une région IBM Bluemix Container Service spécifique, utilisez l'une des commandes suivantes. La région que vous sélectionnez détermine les emplacements disponibles où vous pouvez créer votre cluster.
-
Sud des États-Unis :
Sélectionnezbx cs init --host https://us-south.containers.bluemix.net
-
Centre Union européenne :
Sélectionnezbx cs init --host https://eu-central.containers.bluemix.net
-
AP-Sud :
Sélectionnezbx cs init --host https://ap-south.containers.bluemix.net
-
- Créez un cluster.
-
Examinez les emplacements disponibles. Les emplacements affichés dépendent de la région IBM Bluemix Container Service que vous avez sélectionnée plus tôt.
Sélectionnezbx cs locations
La sortie de votre interface CLI sera similaire à ceci.
-
Sud des États-Unis :
Sélectionnezdal10 dal12
-
Centre Union européenne :
Sélectionnezams03 fra02
-
AP-Sud
Sélectionnezsyd01 syd02
-
-
Sélectionnez un emplacement et examinez les types de machine disponibles sur celui-ci. Le type de machine spécifie les ressources de traitement virtuelles disponibles pour chaque nœud d'agent.
Sélectionnezbx cs types de machine
<
emplacement>
SélectionnezGetting machine types list... OK Machine Types Name Cores Memory Network Speed OS Storage Server Type u1c.2x4 2 4GB 1000Mbps UBUNTU_16_64 100GB virtual b1c.4x16 4 16GB 1000Mbps UBUNTU_16_64 100GB virtual b1c.16x64 16 64GB 1000Mbps UBUNTU_16_64 100GB virtual b1c.32x128 32 128GB 1000Mbps UBUNTU_16_64 100GB virtual b1c.56x242 56 242GB 1000Mbps UBUNTU_16_64 100GB virtual
-
Vérifiez si un réseau virtuel local public et privé existe déjà dans Bluemix Infrastructure (SoftLayer) pour ce compte.
Sélectionnezbx cs vlans
<
emplacement>
Sortie :
SélectionnezID Name Number Type Router 1519999 vlan 1355 private bcr02a.dal10 1519898 vlan 1357 private bcr02a.dal10 1518787 vlan 1252 public fcr02a.dal10 1518888 vlan 1254 public fcr02a.dal10
Si un réseau virtuel public et privé existe déjà, notez les routeurs correspondants. Les routeurs de VLAN privé commencent toujours par bcr (routeur dorsal) et les routeurs de VLAN public par fcr (routeur frontal). Le numéro et la combinaison de lettres après ces préfixes doivent correspondre pour pouvoir utiliser ces réseaux locaux virtuels lors de la création d'un cluster. Dans l'exemple de sortie, n'importe quel réseau local virtuel privé peut être utilisé avec l'un des réseaux publics virtuels privés vu que les routeurs incluent tous 02a.dal10.
-
Exécutez la commande cluster-create. Vous avez le choix entre un cluster lite, qui inclut un nœud d'agent avec 2 UC virtuelles et 4 Go de mémoire, et un cluster standard, lequel peut inclure autant de nœuds d'agent que vous le désirez dans votre compte Bluemix Infrastructure (SoftLayer). Lorsque vous créez un cluster standard, le matériel du nœud d'agent est partagé par défaut par plusieurs clients IBM et facturé par heures d'utilisation. Exemple pour un cluster standard
Sélectionnezbx cs cluster-create --location dal10 --public-vlan mon_ID_VLAN_public --private-vlan mon_ID_VLAN_privé --machine-type u1c.2x4 --workers
3
--name mon_clusterExemple pour un cluster lite
Sélectionnezbx cs cluster-create --name my_cluster
Description des composantes de cette commande cluster-create Commande de création d'un cluster dans votre organisation Bluemix. --location <emplacement> Remplacez <emplacement> par l'ID de l'emplacement Bluemix où vous désirez créer votre cluster. Les emplacements disponibles dépendent de la région IBM Bluemix Container Service à laquelle vous vous êtes connecté.
Les emplacements disponibles sont les suivants :
- Sud des États-Unis
dal10 [Dallas]
dal12 [Dallas]
- Centre Union européenne
ams03 [Amsterdam]
fra02 [Francfort]
- AP-Sud
syd01 [Sydney 1]
syd04 [Sydney 4]
--machine-type <type_machine> Si vous créez un cluster standard, choisissez un type de machine. Le type de machine spécifie les ressources de traitement virtuelles disponibles pour chaque nœud d'agent. Voir Types de cluster dans IBM Bluemix Container Service pour plus d'informations. Pour les clusters lite, vous n'avez pas besoin de définir le type de machine. --public-vlan <ID_Vlan_public> -
Pour les clusters lite, vous n'avez pas besoin de définir un réseau local virtuel public. Votre cluster lite est automatiquement connecté à un réseau local virtuel public dont IBM est propriétaire.
-
Dans le cas d'un cluster standard, si vous avez déjà un réseau local virtuel public configuré dans votre compte Bluemix Infrastructure (SoftLayer) pour cet emplacement, entre l'ID de ce VLAN public. Autrement, vous n'avez pas besoin de spécifier cette option puisqu'IBM Bluemix Container Service crée automatiquement un réseau local virtuel public pour vous.
Remarque : le VLAN public et le VLAN privé que vous créez avec la commande create doivent correspondre. Les routeurs de VLAN privé commencent toujours par bcr (routeur dorsal) et les routeurs de VLAN public par fcr (routeur frontal). Le numéro et la combinaison de lettres après ces préfixes doivent correspondre pour pouvoir utiliser ces réseaux locaux virtuels lors de la création d'un cluster. N'utilisez pas de réseaux locaux virtuels publics et privés qui ne correspondent pas pour créer un cluster.
--private-vlan <ID_Vlan_privé> -
Pour les clusters lite, vous n'avez pas besoin de définir un réseau local virtuel privé. Votre cluster lite est automatiquement connecté à un réseau local virtuel privé dont IBM est propriétaire.
-
Dans le cas d'un cluster standard, si vous avez déjà un réseau local virtuel privé configuré dans votre compte Bluemix Infrastructure (SoftLayer) pour cet emplacement, entre l'ID de ce VLAN privé. Autrement, vous n'avez pas besoin de spécifier cette option puisqu'IBM Bluemix Container Service crée automatiquement un réseau local virtuel privé pour vous.
Remarque : le VLAN public et le VLAN privé que vous créez avec la commande create doivent correspondre. Les routeurs de VLAN privé commencent toujours par bcr (routeur dorsal) et les routeurs de VLAN public par fcr (routeur frontal). Le numéro et la combinaison de lettres après ces préfixes doivent correspondre pour pouvoir utiliser ces réseaux locaux virtuels lors de la création d'un cluster. N'utilisez pas de réseaux locaux virtuels publics et privés qui ne correspondent pas pour créer un cluster.
--name <nom> Remplacez <nom> par le nom de votre cluster. --workers <nombre> Nombre de nœuds d'agent à inclure dans le cluster. Si l'option --workers n'est pas spécifiée, un nœud d'agent est créé. - Sud des États-Unis
-
Vérifiez que la création du cluster a été demandée.
SélectionnezClusters bx cs
Remarque : la réservation des postes de nœud d'agent et la mise en place et la mise à disposition du cluster dans votre compte peuvent prendre jusqu'à quinze minutes.
Lorsque la mise à disposition de votre cluster est finalisée, le statut du cluster passe à deployed (déployé).
SélectionnezName ID State Created Workers my_cluster paf97e8843e29941b49c598f516de72101 deployed 20170201162433 1
-
Vérifiez le statut des nœuds d'agent.
Sélectionnezbx cs workers
<
cluster>
Lorsque les nœuds d'agent sont prêts, l'état passe à normal et leur statut indique Prêt. Lorsque le statut du nœud indique Prêt, vous pouvez accéder au cluster.
Remarque : à chaque nœud d'agent sont affectés un ID de nœud d'agent unique et un nom de domaine qui ne doivent pas être modifiés manuellement après la création du cluster. La modification de l'ID ou du domaine empêcherait le maître Kubernetes de gérer votre cluster.
SélectionnezID Public IP Private IP Machine Type State Status prod-dal10-pa8dfcc5223804439c87489886dbbc9c07-w1 169.47.223.113 10.171.42.93 free normal Prêt
- Définissez le cluster que vous avez créé comme contexte de cette session. Effectuez ces étapes de configuration à chaque fois que vous utilisez votre cluster ;
-
Obtenez la commande permettant de définir la variable d'environnement et téléchargez les fichiers de configuration Kubernetes.
Sélectionnezbx cs cluster-config
<
nom_ou_ID_cluster>
Une fois les fichiers de configuration téléchargés, une commande s'affiche ; elle vous permet de définir le chemin vers le fichier de configuration Kubernetes local en tant que variable d'environnement.
Exemple pour OS X :
Sélectionnezexport
KUBECONFIG
=
/Users/<
user_name>
/.bluemix/plugins/container-service/clusters/<
nom_cluster>
/kube-config-prod-dal10-<
nom_cluster>
.yml -
Copiez et collez la commande qui s'affiche sur votre terminal pour définir la variable d'environnement KUBECONFIG ;
-
Vérifiez que la variable d'environnement KUBECONFIG est correctement définie.
Exemple pour OS X :
Sélectionnezecho
$KUBECONFIG
Sortie :
Sélectionnez/Users/
<
user_name>
/.bluemix/plugins/container-service/clusters/<
nom_cluster>
/kube-config-prod-dal10-<
nom_cluster>
.yml - Lancez le tableau de bord Kubernetes via le port par défaut (8001) ;
-
Définissez le proxy avec le numéro de port par défaut.
Sélectionnezkubectl proxy
Sélectionnez$
kubectl proxy Starting to serve on127
.0
.0
.1
:8001
-
Ouvrez l'URL suivante dans un navigateur Web pour accéder au tableau de bord Kubernetes.
Sélectionnezhttp://localhost:
8001
/ui
Étape suivante ?
III. Utilisation de registres d'images privés et publics avec IBM Bluemix Container Service▲
Une image Docker est la base de chaque conteneur que vous créez. L'image est créée depuis un Dockerfile, lequel est un fichier contenant des instructions pour générer l'image. Un Dockerfile peut référencer dans ses instructions des artefacts de génération stockés séparément, comme une application, sa configuration, et ses dépendances. Les images sont généralement stockées dans un registre d'images pouvant être accessible au public (registre public) ou, au contraire, dont l'accès est limité à un petit groupe d'utilisateurs (registre privé).
Examinez les options suivantes pour plus d'informations sur la configuration d'un registre d'images et l'utilisation d'une image du registre.
-
Accès à un espace de nom dans IBM Bluemix Container Registry en vue d'utiliser des images fournies par IBM et vos propres images Docker privées.
-
Accès aux images publiques de Docker Hub.
-
Accès à des images privées stockées dans d'autres registres privés.
III-A. Accès à un espace de nom dans IBM Bluemix Container Registry en vue d'utiliser des images fournies par IBM et vos propres images Docker privées▲
Vous pouvez déployer dans votre cluster des conteneurs depuis une image fournie par IBM ou depuis une image privée stockée dans votre espace de nom dans IBM Bluemix Container Registry.
Avant de commencer
Lorsque vous créez un cluster, un jeton de registre sans expiration est créé automatiquement pour le cluster. Ce jeton est utilisé pour octroyer un accès en lecture seule à n'importe lequel de vos espaces de nom configurés dans IBM Bluemix Container Registry, de sorte à pouvoir utiliser aussi bien les images fournies par IBM que vos propres images Docker privées. Les jetons doivent être stockés dans un élément Kubernetes imagePullSecret pour être accessibles à un cluster Kubernetes lorsque vous déployez une application conteneurisée. Lorsque votre cluster est créé, IBM Bluemix Container Service stocke automatiquement ce jeton dans un élément Kubernetes imagePullSecret. L'élément imagePullSecret est ajouté à l'espace de nom Kubernetes par défaut, à la liste par défaut des valeurs confidentielles dans l'élément ServiceAccount de cet espace de nom, et à l'espace de nom kube-system.
Remarque : cette configuration initiale vous permet de déployer des conteneurs depuis n'importe quelle image disponible dans un espace de nom dans votre compte Bluemix vers l'espace de nom nommé default de votre cluster. Si vous désirez déployer un conteneur dans d'autres espaces de nom de votre cluster, ou utiliser une image stockée dans une autre région Bluemix, ou dans un autre compte Bluemix, vous devez créer votre propre élément imagePullSecret pour votre cluster.
Pour déployer un conteneur dans l'espace de nom default de votre cluster, procédez comme suit.
Créez un script de configuration de déploiement.
-
Ouvrez l'éditeur de votre choix et créez un script de configuration de déploiement nommé, par exemple, mydeployment.yaml.
-
Définissez le déploiement et l'image de votre espace de nom que vous désirez utiliser dans IBM Bluemix Container Registry.
Pour utiliser l'une des images fournies par IBM :
SélectionnezapiVersion: extensions/v1beta1 kind: Deployment metadata: name: ibmliberty-deployment spec: replicas: 3 template: metadata: labels: app: ibmliberty spec: containers: - name: ibmliberty image: registry.eu-gb.bluemix.net/ibmliberty
Pour utiliser une image privée d'un espace de nom dans IBM Bluemix Container Registry :
SélectionnezapiVersion: extensions/v1beta1 kind: Deployment metadata: name: ibmliberty-deployment spec: replicas: 3 template: metadata: labels: app: ibmliberty spec: containers: - name: ibmliberty image: registry.eu-gb.bluemix.net/<espace_nom>/<nom_image>:<étiquette>
Conseil : pour extraire vos informations d'espace de nom, exécutez la commande bx cr namespace-list.
-
Sauvegardez vos modifications.
-
Créez le déploiement dans votre cluster.
Sélectionnezkubectl apply -f mydeployment.yaml
III-A-1. Déploiement d'images dans d'autres espaces de nom Kubernetes ou accès à des images dans d'autres régions et comptes Bluemix▲
Vous pouvez déployer des conteneurs vers d'autres espaces de nom Kubernetes ou utiliser des images stockées dans d'autres régions ou comptes Bluemix en créant votre propre élément imagePullSecret.
Avant de commencer
Pour créer votre propre élément imagePullSecret, procédez comme suit.
Remarque : les valeurs ImagePullSecrets sont valides pour les espaces de nom pour lesquels ils ont été créés. Répétez ces étapes pour chaque espace de nom dans lequel vous désirez déployer des conteneurs depuis une image privée.
-
Si vous n'en avez pas encore un, Créez un jeton pour le registre auquel vous désirez accéder.
-
Répertoriez les jetons disponibles dans votre compte Bluemix.
Sélectionnezbx cr token-list
-
Notez l'ID du jeton que vous désirez utiliser.
-
Extrayez la valeur de ce jeton. Remplacez <ID_jeton> par celui du jeton que vous avez extrait à l'étape précédente.
Sélectionnezbx cr token-get
<
ID_jeton>
La valeur de ce jeton est affichée dans la zone Token de votre sortie CLI.
-
Créez la valeur confidentielle Kubernetes pour stocker votre information de jeton.
Sélectionnezkubectl --namespace
<
espace_nom_kubernetes>
create secret docker-registry<
nom_valeur_confidentielle>
--docker-server
=<
URL_registre>
--docker-username
=
token --docker-password
=<
valeur_jeton>
--docker-email
=<
email_docker>
Description des composantes de cette commande --namespace <espace_nom_kubernetes> Obligatoire. Espace de nom Kubernetes de votre cluster dans lequel vous désirez utiliser la valeur confidentielle et déployer des conteneurs. Exécutez la commande kubectl get namespaces pour répertorier tous les espaces de nom dans votre cluster. <nom_valeur_confidentielle> Obligatoire. Nom que vous désirez utiliser pour l'élément imagePullSecret. --docker-server <URL_registre> Obligatoire. URL du registre d'images où votre espace de nom est configuré.
-
Pour les espaces de nom définis au sud des États-Unis : registry.ng bluemix.net
-
Pour les espaces de nom définis au Centre de l'Union européenne (Frankfurt) : registry.eu-de.bluemix.net
-
Pour les espaces de nom définis en Australie (Sydney) : registry.au-syd.bluemix.net
--docker-password <valeur_jeton> Obligatoire. Valeur de votre jeton de registre extraite auparavant. --docker-email <adresse_électronique_docker> Obligatoire. Si vous en avez une, entrez votre adresse e-mail Docker. Si vous n'en avez pas, indiquez une adresse e-mail fictive (par exemple, a@b.c). Cet e-mail est obligatoire pour créer une valeur confidentielle Kubernetes, mais n'est pas utilisé après la création. -
-
Vérifiez que la création de la valeur confidentielle a abouti. Remplacez <espace_nom_kubernetes> par celui où vous avez créé l'élément imagePullSecret.
Sélectionnezkubectl get secrets --namespace
<
espace_nom_kubernetes>
- Créez une nacelle référençant l'élément imagePullSecret.
-
Ouvrez l'éditeur de votre choix et créez un script de configuration de nacelle nommé, par exemple, mypod.yaml.
-
Définissez la nacelle et l'élément imagePullSecret que vous désirez utiliser pour accéder au registre Bluemix privé. Pour utiliser une image privée d'un espace de nom :
SélectionnezapiVersion: v1 kind: Pod metadata: name: <nom_nacelle> spec: containers: - name: <nom_conteneur> image: registry.eu-gb.bluemix.net/<espace_nom>/<nom_image>:<étiquette> imagePullSecrets: - name: <nom_valeur_confidentielle>
Description des composants de ce fichier YAML <nom_nacelle> Nom de la nacelle que vous désirez créer. <nom_conteneur> Nom du conteneur que vous désirez déployer dans votre cluster. <espace_nom> Espace de nom sous lequel votre image est stockée. Pour répertorier les espaces de nom disponibles, exécutez la commande bx cr namespace-list. <nom_image> Nom de l'image que vous désirez utiliser. Pour répertorier les images disponibles dans un compte Bluemix, exécutez la commande bx cr image-list. <étiquette> Version de l'image que vous désirez utiliser. Si aucune étiquette n'est spécifiée, celle correspondant à latest (la plus récente) est utilisée par défaut. <nom_valeur_confidentielle> Nom de l'élément imagePullSecret que vous avez créé plus tôt. -
Sauvegardez vos modifications.
-
Créez le déploiement dans votre cluster.
Sélectionnezkubectl apply -f mypod.yaml
III-B. Accès aux images publiques de Docker Hub▲
Vous pouvez utiliser n'importe quelle image publique stockée dans Docker Hub pour déployer sans configuration supplémentaire un conteneur dans votre cluster.
Avant de commencer
Créez un script de configuration de déploiement.
-
Ouvrez l'éditeur de votre choix et créez un script de configuration de déploiement nommé, par exemple, mydeployment.yaml.
-
Définissez le déploiement et l'image Docker Hub publique que vous désirez utiliser. Le script de configuration suivant utilise l'image nginx publique disponible dans Docker Hub.
SélectionnezapiVersion: extensions/v1beta1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 3 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx
-
Sauvegardez vos modifications.
-
Créez le déploiement dans votre cluster.
Sélectionnezkubectl apply -f mydeployment.yaml
III-C. Accès à des images privées stockées dans d'autres registres privés▲
Si vous disposez déjà d'un registre privé que vous désirez utiliser, vous devez stocker les données d'identification du registre dans un élément Kubernetes imagePullSecret et référencer cette valeur confidentielle dans votre script de configuration.
Avant de commencer
Pour créer un élément imagePullSecret, procédez comme suit.
Remarque : les valeurs ImagePullSecrets sont valides pour les espaces de nom pour lesquels ils ont été créés. Répétez ces étapes pour chaque espace de nom dans lequel vous désirez déployer des conteneurs depuis une image d'un registre Bluemix privé.
-
Créez la valeur confidentielle Kubernetes pour stocker vos données d'identification de registre privé.
Sélectionnezkubectl --namespace
<
espace_nom_kubernetes>
create secret docker-registry<
nom_valeur_confidentielle>
--docker-server
=<
URL_registre>
--docker-username
=<
nom_utilisateur_docker>
--docker-password
=<
mot_de_passe_docker>
--docker-email
=<
email_docker>
Description des composantes de cette commande --namespace <espace_nom_kubernetes> Obligatoire. Espace de nom Kubernetes de votre cluster dans lequel vous désirez utiliser la valeur confidentielle et déployer des conteneurs. Exécutez la commande kubectl get namespaces pour répertorier tous les espaces de nom dans votre cluster. <nom_valeur_confidentielle> Obligatoire. Nom que vous désirez utiliser pour l'élément imagePullSecret. --docker-server <URL_registre> Obligatoire. URL du registre dans lequel sont stockées vos images privées. --docker-username <nom_utilisateur_docker> Obligatoire. Nom d'utilisateur pour connexion à votre registre privé. --docker-password <mot_de_passe_docker> Obligatoire. Mot de passe pour connexion à votre registre privé. --docker-email <adresse_électronique_docker> Obligatoire. Si vous en avez une, entrez votre adresse e-mail Docker. Si vous n'en avez pas, indiquez une adresse e-mail fictive (par exemple, a@b.c). Cet e-mail est obligatoire pour créer une valeur confidentielle Kubernetes, mais n'est pas utilisé après la création. -
Vérifiez que la création de la valeur confidentielle a abouti. Remplacez <espace_nom_kubernetes> par celui où vous avez créé l'élément imagePullSecret.
Sélectionnezkubectl get secrets --namespace
<
espace_nom_kubernetes>
- Créez une nacelle référençant l'élément imagePullSecret.
Ouvrez l'éditeur de votre choix et créez un script de configuration de nacelle nommé, par exemple, mypod.yaml.
Définissez la nacelle et l'élément imagePullSecret que vous désirez utiliser pour accéder au registre Bluemix privé. Pour utiliser une image privée de votre registre privé :
SélectionnezapiVersion: v1 kind: Pod metadata: name: <nom_nacelle> spec: containers: - name: <nom_conteneur> image: <nom_image>:<étiquette> imagePullSecrets: - name: <nom_valeur_confidentielle>
Description des composants de ce fichier YAML <nom_nacelle> Nom de la nacelle que vous désirez créer. <nom_conteneur> Nom du conteneur que vous désirez déployer dans votre cluster. <nom_image> Chemin d'accès complet à l'image dans votre registre privé que vous désirez utiliser. <étiquette> Version de l'image que vous désirez utiliser. Si aucune étiquette n'est spécifiée, celle correspondant à latest (la plus récente) est utilisée par défaut. <nom_valeur_confidentielle> Nom de l'élément imagePullSecret que vous avez créé plus tôt. Sauvegardez vos modifications.
Créez le déploiement dans votre cluster.
Sélectionnezkubectl apply -f mypod.yaml
IV. Ajout de services Bluemix à des clusters dans IBM Bluemix Container Service▲
Ajoutez une instance de service Bluemix existante à votre cluster pour permettre aux utilisateurs du cluster d'accéder et d'utiliser le service Bluemix lorsqu'ils déploient une application dans le cluster.
Avant de commencer
-
Ciblez votre interface de ligne de commande vers votre cluster.
-
Demandez une instance du service Bluemix dans votre espace pour l'ajouter à votre cluster.
Remarque : vous ne pouvez ajouter que des services Bluemix qui prennent en charge les clés de service.
Pour ajouter un service, procédez comme suit :
-
Répertoriez tous les services existants dans votre espace Bluemix.
Sélectionnezbx service list
La sortie de votre interface CLI sera similaire à ceci.
Sélectionnezname service plan bound apps last operation <nom_instance_service> <nom_service> spark create succeeded
-
Notez la valeur du nom (name) de l'instance de service que vous souhaitez ajouter au cluster ;
- Identifiez l'espace de nom du cluster que vous désirez ajouter à votre service. Sélectionnez l'une des options suivantes.
Listez les espaces de nom existants et sélectionnez l'espace de nom à utiliser.
Sélectionnezkubectl get namespaces
Créer un nouvel espace de nom dans votre cluster.
Sélectionnezkubectl create namespace
<
nom_espace_nom>
-
Ajoutez le service à votre cluster.
Sélectionnezbx cs cluster-service-bind
<
nom_ou_ID_cluster>
<
espace_nom>
<
nom_instance_service>
Une fois que le service a été correctement ajouté à votre cluster, une valeur confidentielle de cluster est créée pour héberger les données d'identification de votre instance de service. La sortie de votre interface CLI sera similaire à ceci.
Sélectionnezbx cs cluster-service-bind mycluster mynamespace cleardb Liaison d
'instance de service à l'
espace de nom... OK Namespace: mon_espace_nom Secret name: binding-<
nom_instance_service>
-
Vérifiez que la valeur confidentielle a bien été créée dans l'espace de nom de votre cluster.
Sélectionnezkubectl get secrets --
namespace
=<
espace_nom>
Les utilisateurs du cluster peuvent accéder aux données d'identification du service Bluemix en montant la valeur confidentielle Kubernetes en tant que volume secret sur une nacelle.
V. Gestion des utilisateurs et de l'accès à un cluster dans IBM Bluemix Container Service▲
Vous pouvez accorder à d'autres utilisateurs un accès à votre cluster pour leur permettre d'y accéder, de le gérer et d'y déployer des applications.
Chaque utilisateur qui utilise IBM Bluemix Container Service doit se voir affecter dans Identity and Access Management un rôle utilisateur spécifique au service et qui détermine les actions qu'il peut effectuer. Identity and Access Management fait une distinction entre les autorisations d'accès suivantes.
-
Règles d'accès IBM Bluemix Container Service
Ces règles d'accès déterminent les actions de gestion du cluster que vous pouvez effectuer (par exemple, la création ou la suppression de clusters, ou l'ajout ou la suppression de nœuds d'agent).
-
Rôles Cloud Foundry
Chaque utilisateur doit se voir affecter un rôle utilisateur Cloud Foundry. Ce rôle détermine les actions que peut effectuer l'utilisateur sur le compte Bluemix (par exemple, inviter d'autres utilisateurs ou examiner l'utilisation du quota). Pour examiner les autorisations correspondant à chaque rôle, voir Rôles Cloud Foundry.
-
Rôles RBAC
Chaque utilisateur auquel est affectée une règle d'accès IBM Bluemix Container Service se voit automatiquement affecter un rôle RBAC. Les rôles RBAC déterminent les actions que vous pouvez effectuer sur des ressources Kubernetes au sein du cluster. Les rôles RBAC ne sont configurés que pour l'espace de nom par défaut. L'administrateur du cluster peut ajouter des rôles RBAC pour d'autres espaces de nom dans le cluster. Pour plus d'informations, voir Using RBAC Authorization (utilisation des autorisations RBAC) dans la documentation Kubernetes.
Sélectionnez l'une des actions suivantes pour continuer.
-
Examen des règles d'accès et des autorisations requises pour utiliser des clusters.
-
Examen de votre règle d'accès actuelle.
-
Modification de la règle d'accès d'un utilisateur existant.
-
Ajout d'utilisateurs supplémentaires au compte Bluemix.
V-A. Description des règles d'accès et des autorisations IBM Bluemix Container Service requises▲
Examinez les règles d'accès et les autorisations que vous pouvez attribuer à des utilisateurs dans votre compte Bluemix.
Règle d'accès | Autorisations de gestion du cluster | Autorisations sur les ressources Kubernetes |
---|---|---|
|
Ce rôle hérite des autorisations des rôles Éditeur, Opérateur et Visualiseur dans tous les clusters du compte. |
|
|
Ce rôle hérite des autorisations des rôles Éditeur, Opérateur et Visualiseur dans le cluster sélectionné. |
|
|
|
|
|
Utilisez ce rôle pour vos développeurs d'applications. |
|
|
|
|
Rôle dans l'organisation Cloud Foundry : Gestionnaire |
|
|
Rôle dans l'espace Cloud Foundry : Développeur |
|
V-B. Vérification de votre règle d'accès IBM Bluemix Container Service▲
Vous pouvez examiner et vérifier la règle d'accès qui vous est affectée pour IBM Bluemix Container Service. La règle d'accès détermine les actions de gestion de cluster que vous pouvez effectuer.
-
Sélectionnez le compte Bluemix pour lequel vous désirez vérifier votre règle d'accès IBM Bluemix Container Service.
-
Dans la barre de menus, cliquez sur Gérer > Sécurité > Identité et accès. La fenêtre Utilisateurs affiche une liste des utilisateurs avec leurs adresses électroniques et leur statut actuel pour le compte sélectionné.
-
Sélectionnez l'utilisateur pour lequel vous désirez vérifier la règle d'accès.
-
Dans la section Règles de service, examinez la règle d'accès affectée à l'utilisateur. Pour des informations détaillées sur les actions que vous pouvez effectuer avec ce rôle, voir Description des règles d'accès et des autorisations IBM Bluemix Container Service requises.
-
Facultatif : modification de votre règle d'accès actuelle.
Remarque : seuls les utilisateurs affectés à une règle de service Administrateur sur toutes les ressources dans IBM Bluemix Container Service peuvent modifier la règle d'accès d'un utilisateur existant. Pour ajouter d'autres utilisateurs à un compte Bluemix, vous devez être affecté au rôle Gestionnaire Cloud Foundry pour ce compte. Pour identifier l'ID du propriétaire du compte Bluemix, exécutez la commande bx iam accounts et recherchez la zone Owner User ID.
V-C. Modification de la règle d'accès IBM Bluemix Container Service pour un utilisateur existant▲
Vous pouvez modifier la règle d'accès pour un utilisateur existant en lui accordant des autorisations de gestion d'un cluster dans votre compte Bluemix.
Avant de commencer, vérifiez que vous avez bien été affecté à la règle d'accès Administrateur sur toutes les ressources dans IBM Bluemix Container Service.
-
Sélectionnez le compte Bluemix pour lequel vous désirez modifier la règle d'accès IBM Bluemix Container Service d'un utilisateur existant.
-
Dans la barre de menus, cliquez sur Gérer > Sécurité > Identité et accès. La fenêtre Utilisateurs affiche une liste des utilisateurs avec leurs adresses électroniques et leur statut actuel pour le compte sélectionné.
-
Recherchez l'utilisateur dont vous désirez modifier la règle d'accès. S'il est introuvable, invitez cet utilisateur dans le compte Bluemix.
-
Dans l'onglet Actions, cliquez sur Affecter une règle.
-
Dans la liste déroulante Service, sélectionnez IBM Bluemix Container Service.
-
Dans la liste déroulante Rôles, sélectionnez la règle d'accès que vous désirez assigner. La sélection d'un rôle sans le limiter à une région ou à un cluster spécifique applique automatiquement cette règle d'accès à tous les clusters qui ont été créés dans ce compte. Si vous désirez limiter l'accès à un cluster ou à une région spécifique, sélectionnez-les dans la liste déroulante Instance de service et Région. Pour consulter la liste des actions prises en charge pour chaque règle d'accès, voir Description des règles d'accès et des autorisations IBM Bluemix Container Service requises. Pour identifier l'ID d'un cluster spécifique, exécutez la commande bx cs clusters.
-
Cliquez sur Affecter une règle pour sauvegarder vos modifications.
V-D. Ajout d'utilisateurs à un compte Bluemix▲
Vous pouvez ajouter des utilisateurs supplémentaires à un compte Bluemix pour leur accorder un accès à vos clusters.
Avant de commencer, vérifiez que vous avez bien été affecté au rôle Gestionnaire Cloud Foundry pour un compte Bluemix.
-
Sélectionnez le compte Bluemix dans lequel vous désirez ajouter des utilisateurs.
-
Dans la barre de menus, cliquez sur Gérer > Sécurité > Identité et accès. La fenêtre Utilisateurs affiche une liste des utilisateurs avec leurs adresses électroniques et leur statut actuel pour le compte sélectionné.
-
Cliquez sur Inviter des utilisateurs.
-
Dans Adresse électronique ou IBMid existant, entrez l'adresse électronique de l'utilisateur que vous désirez ajouter au compte Bluemix.
-
Dans la section Accès section, développez l'entrée Services avec l'offre Identity and Access activée.
-
Dans la liste déroulante Services, sélectionnez IBM Bluemix Container Service.
-
Dans la liste déroulante Rôles, sélectionnez la règle d'accès que vous désirez assigner. La sélection d'un rôle sans le limiter à une région ou à un cluster spécifique applique automatiquement cette règle d'accès à tous les clusters qui ont été créés dans ce compte. Si vous désirez limiter l'accès à un cluster ou à une région spécifique, sélectionnez-les dans la liste déroulante Instance de service et Région. Pour consulter la liste des actions prises en charge pour chaque règle d'accès, voir Description des règles d'accès et des autorisations IBM Bluemix Container Service requises. Pour identifier l'ID d'un cluster spécifique, exécutez la commande bx cs clusters.
-
Développez la section Accès Cloud Foundry et sélectionnez l'organisation Bluemix à laquelle vous désirez ajouter l'utilisateur dans la liste déroulante Organisation.
-
Dans la liste déroulante Rôles d'espace, sélectionnez les rôles de votre choix. Les clusters Kubernetes sont indépendants des espaces Bluemix. Pour autoriser cet utilisateur à ajouter des utilisateurs supplémentaires à un compte Bluemix, vous devez l'affecter à un Rôle d'organisation Cloud Foundry. Toutefois, vous ne pourrez affecter des rôles d'organisation Cloud Foundry qu'à une étape ultérieure.
-
Cliquez sur Inviter des utilisateurs.
-
Facultatif : dans le panneau Utilisateurs de l'onglet Actions, sélectionnez Gérer un utilisateur.
-
Facultatif : dans la section Rôles Cloud Foundry, recherchez le rôle d'organisation Cloud Foundry attribué à l'utilisateur que vous avez ajouté aux étapes précédentes.
-
Facultatif : dans l'onglet Actions, sélectionnez Editer le rôle d'organisation.
-
Facultatif :dDans la liste déroulante Rôles d'organisation, sélectionnez Gestionnaire.
-
Facultatif : cliquez sur Sauvegarder le rôle.
VI. Ajout de sous-réseaux à des clusters Kubernetes▲
Vous pouvez modifier le pool d'adresses IP portables publiques disponibles en ajoutant des sous-réseaux à votre cluster.
Dans IBM Bluemix Container Service, vous pouvez ajouter des adresses IP portables stables pour les services Kubernetes en adjoignant des sous-réseaux au cluster. Lorsque vous créez un cluster standard, IBM Bluemix Container Service lui alloue automatiquement un sous-réseau public portable et cinq adresses IP. Les adresses IP publiques portables sont statiques et ne changent pas lorsqu'un nœud d'agent, ou même le cluster, est retiré.
L'une des adresses IP publiques portables est utilisée pour le contrôleur Ingress que vous pouvez utiliser afin d'exposer plusieurs applications dans votre cluster via une route publique. Les quatre adresses IP publiques portables restantes peuvent être utilisées pour exposer au public des applications distinctes en créant un service d'équilibrage de charge.
VI-A. Demande de sous-réseaux supplémentaires pour votre cluster▲
Vous pouvez ajouter des adresses IP publiques portables stables au cluster en lui affectant des sous-réseaux.
Avant de commencer, vérifiez que vous pouvez accéder au portefeuille Bluemix Infrastructure (SoftLayer) depuis l'interface graphique Bluemix. Pour accéder au portefeuille, vous devez configurer ou utiliser un compte Bluemix Pay-As-You-Go (Paiement à la carte) existant.
-
Dans la section Infrastructure du catalogue, sélectionnez Réseau.
-
Sélectionnez Sous-réseau/IP et cliquez sur Créer.
-
Dans le menu déroulant Sélectionner le type de sous-réseau à ajouter à ce compte, sélectionnez Public portable.
-
Sélectionnez le nombre d'adresses IP que vous désirez ajouter à votre sous-réseau portable.
Remarque : lorsque vous ajoutez des adresses IP publiques portables à votre sous-réseau, trois adresses IP sont utilisées pour l'opération réseau interne au cluster, de sorte que vous ne pouvez pas les utiliser pour votre contrôleur Ingress ou pour créer un service d'équilibrage de charge. Par exemple, si vous demandez huit adresses IP publiques portables, vous pouvez en utiliser cinq pour exposer vos applications au public.
-
Sélectionnez le réseau local virtuel public vers lequel adresser les adresses IP publiques portables. Vous devez sélectionner le réseau local virtuel public auquel un nœud d'agent existant est connecté. Identifiez le réseau local virtuel public d'un nœud d'agent.
Sélectionnezbx cs worker-get
<
ID_agent>
-
Renseignez le questionnaire et cliquez sur Passer une commande.
Remarque : les adresses IP publiques portables sont facturées sur une base mensuelle. Si vous décidez de supprimer des adresses IP publiques portables après les avoir créées, les frais pour le mois en cours vous seront néanmoins facturés, même si vous ne les avez utilisées qu'une partie du mois.
- Une fois le sous-réseau provisionné, rendez-le disponible pour votre cluster Kubernetes.
Dans le tableau de bord Infrastructure, sélectionnez le sous-réseau que vous avez créé et notez son ID.
Connectez-vous à IBM Bluemix Container Service.
Sélectionnezbx cs init
Recensez tous les clusters de votre compte et notez l'ID du cluster sur lequel vous désirez rendre disponible le sous-réseau.
SélectionnezClusters bx cs
Ajoutez le sous-réseau à votre cluster. Lorsque vous rendez disponible un sous-réseau pour un cluster, une mappe de configuration Kubernetes est créée pour vous et inclut toutes les adresses IP publiques portables disponibles que vous pouvez utiliser. Si aucun contrôleur Ingress n'existe pour votre cluster, une adresse IP publique portable est automatiquement utilisée pour créer le contrôleur Ingress. Toutes les autres peuvent être utilisées pour créer des services d'équilibrage de charge pour vos applications.
Sélectionnezbx cs cluster-subnet-add
<
nom_ou_ID_cluster>
<
ID_sous-réseau>
-
Vérifiez que l'ajout du sous-réseau à votre cluster a abouti. L'ID de cluster est indiqué dans la colonne Bound Cluster (Cluster lié).
Sélectionnezbx cs subnets
VI-B. Ajout de sous-réseaux personnalisés et existants à des clusters Kubernetes▲
Vous pouvez ajouter des sous-réseaux publics portables existants à votre cluster Kubernetes.
Avant de commencer, ciblez votre interface de ligne de commande vers votre cluster.
Si vous disposez d'un sous-réseau existant dans votre portefeuille Bluemix Infrastructure (SoftLayer) avec des règles de pare-feu personnalisées ou des adresses IP disponibles que vous désirez utiliser, créez un cluster sans sous-réseau et rendez votre sous-réseau existant disponible au cluster lors de la mise à disposition du cluster.
-
Identifiez le sous-réseau à utiliser. Notez l'ID du sous-réseau et l'ID du réseau local virtuel. Dans cet exemple, l'ID du sous-réseau est 807861 et l'ID du réseau local virtuel est 1901230.
Sélectionnezbx cs subnets
SélectionnezGetting subnet list... OK ID Network Gateway VLAN ID Type Bound Cluster 553242 203.0.113.0/24 10.87.15.00 1565280 private 807861 192.0.2.0/24 10.121.167.180 1901230 public
-
Vérifiez l'emplacement du réseau local virtuel. Dans cet exemple, son emplacement est dal10.
Sélectionnezbx cs vlans dal10
SélectionnezGetting VLAN list... OK ID Name Number Type Router 1900403 vlan 1391 private bcr01a.dal10 1901230 vlan 1180 public fcr02a.dal10
-
Créez un cluster en utilisant l'emplacement et l'ID du réseau local virtuel que vous avez identifiés. Incluez l'indicateur --no-subnet pour empêcher la création automatique d'un nouveau sous-réseau d'adresses IP publiques portables.
Sélectionnezbx cs cluster-create --location dal10 --machine-type u1c.2x4 --no-subnet --public-vlan
1901230
--private-vlan1900403
--workers3
--name my_cluster -
Vérifiez que la création du cluster a été demandée.
SélectionnezClusters bx cs
Remarque : la réservation des postes de nœud d'agent et la mise en place et la mise à disposition du cluster dans votre compte peuvent prendre jusqu'à quinze minutes.
Lorsque la mise à disposition de votre cluster est finalisée, le statut du cluster passe à deployed (déployé).
SélectionnezName ID State Created Workers my_cluster paf97e8843e29941b49c598f516de72101 deployed 20170201162433 3
-
Vérifiez le statut des nœuds d'agent.
Sélectionnezbx cs workers
<
cluster>
Lorsque les nœuds d'agent sont prêts, l'état passe normal et leur statut indique Prêt. Lorsque le statut du nœud indique Ready (Prêt), vous pouvez accéder au cluster.
SélectionnezID Public IP Private IP Machine Type State Status prod-dal10-pa8dfcc5223804439c87489886dbbc9c07-w1 169.47.223.113 10.171.42.93 free normal Prêt
-
Ajoutez le sous-réseau à votre cluster en spécifiant l'ID du sous-réseau. Lorsque vous rendez disponible un sous-réseau pour un cluster, une mappe de configuration Kubernetes est créée pour vous et inclut toutes les adresses IP publiques portables disponibles que vous pouvez utiliser. Si aucun contrôleur Ingress n'existe encore pour votre cluster, une adresse IP publique portable est automatiquement utilisée pour créer le contrôleur Ingress. Toutes les autres peuvent être utilisées pour créer des services d'équilibrage de charge pour vos applications.
Sélectionnezbx cs cluster-subnet-add mycluster
807861
VII. Utilisation de partages de fichiers NFS existants avec Kubernetes dans IBM Bluemix Container Service▲
Si vous disposez déjà de partages de fichiers NFS existants dans votre compte Bluemix Infrastructure (SoftLayer) et désirez les utiliser avec Kubernetes, créez alors des volumes persistants sur votre partage de fichiers NFS existant. Un volume persistant est un élément matériel réel qui fait office de ressource de cluster Kubernetes et peut être consommé par l'utilisateur du cluster.
Avant de commencer, vérifiez que vous disposez d'un partage de fichiers NFS existant que vous pouvez utiliser pour créer votre volume persistant.
Kubernetes fait une distinction entre les volumes persistants qui représentent le matériel effectif et les réservations de volume persistant qui sont des demandes de stockage déclenchées habituellement par l'utilisateur du cluster. Si vous désirez permettre l'utilisation de partage de fichiers NLS existants avec Kubernetes, vous devez créer des volumes persistants d'une certaine taille et avec un mode d'accès déterminé, qui soient conformes à la spécification de volume persistant. Si le volume persistant et la réservation de volume persistant correspondent, ils sont liés l'un à l'autre. Seules les réservations de volume persistant liées peuvent être utilisées par l'utilisateur du cluster pour monter le volume sur une nacelle. Cette procédure est dénommée provisionnement statique de stockage persistant.
Remarque : celui-ci ne s'applique qu'aux partages de fichiers NFS existants. Si vous ne disposez pas de partages de fichiers NFS existants, les utilisateurs du cluster peuvent utiliser la procédure de provisionnement dynamique pour ajouter des volumes persistants.
Pour créer un volume persistant et une réservation correspondante, procédez comme suit.
- Dans votre compte Bluemix Infrastructure (SoftLayer), recherchez l'ID et le chemin du partage NFS où vous désirez créer votre objet de volume persistant.
Connectez-vous à votre compte Bluemix Infrastructure (SoftLayer).
Cliquez sur Stockage.
Cliquez sur Stockage de fichiers et notez l'ID et le chemin du partage de fichiers NFS que vous désirez utiliser.
-
Ouvrez l'éditeur de votre choix.
-
Créez un script de configuration de stockage pour votre volume persistant.
SélectionnezapiVersion: v1 kind: PersistentVolume metadata: name: mypv spec: capacity: storage: "20Gi" accessModes: - ReadWriteMany nfs: server: "nfslon0410b-fz.service.softlayer.com" path: "/IBM01SEV8491247_0908"
Description des composants du script de configuration du stockage name Entrez le nom de l'objet de volume persistant que vous désirez créer. stockage Entrez la taille de stockage du partage de fichiers NFS existant. Cette taille doit être indiquée en gigaoctets, par exemple 20Gi (20 Go) ou 1000Gi (1 To), et correspondre à celle du partage de fichiers existant. accessMode Les modes d'accès définissent la manière dont une réservation de volume persistant peut être montée sur un nœud d'agent.
-
ReadWriteOnce (RWO) : le volume persistant ne peut être monté sur des nacelles que dans un nœud d'agent unique. Les nacelles montées sur ce volume persistant peuvent lire et écrire sur le volume.
-
ReadOnlyMany (ROX) : le volume persistant peut être monté sur des nacelles hébergées sur plusieurs nœuds d'agent. Les nacelles montées sur ce volume persistant peuvent uniquement lire les données du volume.
-
ReadWriteMany (RWX) : le volume persistant peut être monté sur des nacelles hébergées sur plusieurs nœuds d'agent. Les nacelles montées sur ce volume persistant peuvent lire et écrire sur le volume.
server Entrez l'ID du serveur du partage de fichiers NFS. path Entrez le chemin du partage de fichiers NFS où vous désirez créer l'objet de volume persistant. -
-
Créez le volume persistant dans votre cluster.
Sélectionnezkubectl apply -f
<
chemin_yaml>
Exemple
Sélectionnezkubectl apply -f deploy/kube-config/pv.yaml
-
Vérifiez que le volume persistant a été créé.
Sélectionnezkubectl get pv
-
Créez un autre script de configuration pour créer votre réservation de volume persistant. Pour que la réservation de volume persistant corresponde à l'objet de volume persistant créé auparavant, vous devez sélectionner la même valeur pour storage et pour accessMode. La zone storage-class doit être vide. Si l'une de ces zones ne correspond pas au volume persistant, un nouveau volume persistant est créé automatiquement à la place.
Sélectionnezkind: PersistentVolumeClaim apiVersion: v1 metadata: name: mypvc annotations: volume.beta.kubernetes.io/storage-class: "" spec: accessModes: - ReadWriteMany resources: requests: storage: "20Gi"
-
Créez votre réservation de volume persistant.
Sélectionnezkubectl apply -f deploy/kube-config/mypvc.yaml
-
Vérifiez que votre réservation de volume persistant a été créée et liée à l'objet de volume persistant. Ce processus peut prendre quelques minutes.
Sélectionnezkubectl describe pvc mypvc
Votre sortie sera similaire à ceci.
SélectionnezName: mypvc Namespace: default StorageClass: "" Status: Bound Volume: pvc-0d787071-3a67-11e7-aafc-eef80dd2dea2 Labels: <none> Capacity: 20Gi Access Modes: RWX Events: FirstSeen LastSeen Count From SubObjectPath Type Reason Message --------- -------- ----- ---- ------------- -------- ------ ------- 3m 3m 1 {ibm.io/ibmc-file 31898035-3011-11e7-a6a4-7a08779efd33 } Normal Provisioning External provisioner is provisioning volume for claim "default/my-persistent-volume-claim" 3m 1m 10 {persistentvolume-controller } Normal ExternalProvisioning cannot find provisioner "ibm.io/ibmc-file", expecting that a volume for the claim is provisioned either manually or via external software 1m 1m 1 {ibm.io/ibmc-file 31898035-3011-11e7-a6a4-7a08779efd33 } Normal ProvisioningSucceeded Successfully provisioned volume pvc-0d787071-3a67-11e7-aafc-eef80dd2dea2
Vous avez créé correctement un objet de stockage persistant et l'avez lié à une réclamation de volume persistant. Les utilisateurs du cluster peuvent à présent monter la réservation de volume persistant sur leur nacelle et lancer une lecture et écriture sur l'objet de volume persistant.
VIII. Visualisation de ressources de cluster Kubernetes via Weave Scope et IBM Bluemix Container Service▲
Weave Scope produit un diagramme visuel de vos ressources dans un cluster Kubernetes, notamment des services, nacelles, conteneurs, processus, nœuds, et autres. Weave Scope fournit des métriques interactives sur l'utilisation de l'UC et de la mémoire, ainsi que des outils pour suivi et exécution dans un conteneur.
Avant de commencer
-
Prenez soin de ne pas exposer les informations de votre cluster sur l'Internet public. Procédez comme suit pour déployer de manière sécurisée Weave Scope et y accéder en local depuis un navigateur Web.
-
Si ne n'est déjà fait, créez un cluster standard. Weave Scope peut imposer une charge lourde sur l'UC, particulièrement pour les applications. Utilisez Weave Scope avec des clusters standard plus volumineux, et non pas avec des clusters lite.
-
Ciblez avec votre interface CLI votre cluster pour exécuter des commandes kubectl.
Pour utiliser Weave Scope avec un cluster, procédez comme suit.
-
Déployez dans le cluster l'un des fichiers de configuration d'autorisations RBAC fournis.
Pour activer les droits d'accès en lecture / écriture, exécutez la commande suivante :
Sélectionnezkubectl apply -f
"https://raw.githubusercontent.com/IBM-Bluemix/kube-samples/master/weave-scope/weave-scope-rbac.yaml"
Pour activer les droits d'accès en lecture seule, exécutez la commande suivante :
Sélectionnezkubectl apply -f
"https://raw.githubusercontent.com/IBM-Bluemix/kube-samples/master/weave-scope/weave-scope-rbac-readonly.yaml"
Sortie :
Sélectionnezclusterrole
"weave-scope-mgr"
created clusterrolebinding"weave-scope-mgr-role-binding"
created -
Déployez le service Weave Scope, lequel est accessible en mode privé via l'adresse IP du cluster.
Sélectionnezkubectl apply --namespace kube-system -f
"https://cloud.weave.works/k8s/scope.yaml?k8s-version=
$(kubectl version | base64 | tr -d '\n')
"
Sortie :
Sélectionnezserviceaccount
"weave-scope"
created deployment"weave-scope-app"
created service"weave-scope-app"
created daemonset"weave-scope-agent"
created -
Exécutez une commande d'acheminement de port pour accéder au service sur votre ordinateur. À présent que Weave Scope est configuré avec le cluster, pour accéder à Weave Scope la prochaine fois, vous pouvez lancer cette commande d'acheminement de port sans avoir à exécuter à nouveau la procédure de configuration précédente.
Sélectionnezkubectl port-forward -n kube-system
"
$(kubectl get -n kube-system pod --selector=weave-scope-component=app -o jsonpath='{.items..metadata.name}')
"
4040
Sortie :
SélectionnezForwarding from
127
.0
.0
.1
:4040
->
4040
Forwarding from [::1
]:4040
->
4040
Gestion de la connexion pour le port4040
-
Ouvrez votre navigateur Web sur l'adresse http://localhost:4040. Choisissez d'afficher des diagrammes de topologie ou bien des tableaux des ressources Kubernetes dans le cluster.
Pour supprimer les composants Weave Scope, voir Suppression de ressources Kubernetes dans des clusters avec IBM Bluemix Container Service. Vous pouvez également en apprendre plus sur les fonctions Weave Scope.
IX. Suppression de clusters Kubernetes de IBM Bluemix Container Service▲
Vous pouvez supprimer un cluster Kubernetes en utilisant l'interface CLI ou l'interface graphique.
Lorsque vous avez fini d'utiliser un cluster, vous pouvez le supprimer afin qu'il ne consomme plus de ressources. Lorsque vous supprimez un cluster, vous supprimez également les ressources sur le cluster, notamment les conteneurs, les nacelles, les services liés et les valeurs confidentielles.
- Dans l'interface graphique Bluemix
Sélectionnez votre cluster et cliquez sur Supprimer dans le menu Plus d'actions….
- Depuis l'interface CLI de Bluemix
Lorsque vous supprimez un cluster, les sous-réseaux portables publics et privés ne sont pas supprimés automatiquement. Les sous-réseaux sont utilisés pour affecter des adresses IP portables publiques aux services d'équilibrage de charge ou à votre contrôleur Ingress. Vous pouvez supprimer manuellement ces sous-réseaux ou les réutiliser dans un nouveau cluster.
Note de la rédaction Developpez.com▲
Tous nos remerciements à IBM pour l'autorisation de publication de ce tutoriel.
Nos remerciements également à Winjerome pour la mise au gabarit Developpez.com et Claude Leloup pour la relecture orthographique.