7. Administration OpenStack II

Configuration des applications os-client-config

Configuring os-client-config Applications

1. Gestion des projets et des utilisateurs

https://docs.openstack.org/keystone/latest/admin/cli-manage-projects-users-and-roles.html

  • Ajouter un nouveau projet
  • Suppression d'un projet
  • Mise à jour d'un projet
  • Ajouter un nouvel utilisateur
  • Suppression d'un nouvel utilisateur
  • Mise à jour d'un utilisateur

Le service d’Identité fournit les services authentification pour chaque service OpenStack. Le service d’authentification utilise une combinaison de domaines, projets (tenants), utilisateurs, et rôles.

  • Domaine : Une entité Identity API v3. Représente une collection de projets, de groupes et d'utilisateurs qui définit les limites administratives pour la gestion des entités OpenStack Identity. Sur Internet, sépare un site Web des autres sites. Souvent, le nom de domaine a deux parties ou plus qui sont séparées par des points. Par exemple, yahoo.com, usa.gov, harvard.edu ou mail.yahoo.com. De plus, un domaine est une entité ou un conteneur de toutes les informations relatives au DNS contenant un ou plusieurs enregistrements.
  • Projet : Les projets représentent l'unité de base de la "propriété" dans OpenStack, en ce sens que toutes les ressources d'OpenStack doivent appartenir à un projet spécifique. Dans OpenStack Identity, un projet doit appartenir à un domaine spécifique.
  • Utilisateur : Dans OpenStack Identity, les entités représentent des consommateurs individuels d'API et appartiennent à un domaine spécifique. Dans OpenStack Compute, un utilisateur peut être associé à des rôles, des projets ou les deux.
  • Rôle : Personnalité qu'un utilisateur assume pour effectuer un ensemble spécifique d'opérations. Un rôle comprend un ensemble de droits et de privilèges. Un utilisateur qui assume ce rôle hérite de ces droits et privilèges.

Création d'un domaine

openstack domain create --description "Default Domain" default

Création d'un projet admin

openstack project create --domain default \
  --description "Admin Project" admin

Création d'un utilisateur admin

openstack user create --domain default \
  --password-prompt admin

Création du rôle admin

openstack role create admin

Ajout du rôle admin au projet et à l’utilisateur admin

openstack role add --project admin --user admin admin

Mise en script

client="dev"
openstack domain create --description "$client Domain" $client
openstack project create --domain $client --description "$client admin Project" admin
openstack user create --domain $client --password admin_${client}_password admin
openstack role create --domain $client admin
openstack role add --domain $client --user admin --project-domain admin admin

Login avec le nouvel fichier openrc :

client="dev"
openstack project create --description "$client Project" $client
openstack user create --password ${client}_password $client
openstack role create $client
openstack role add --user $client --project $client $client

X. Visualisation et gestion des quotas

https://docs.openstack.org/nova/rocky/user/quotas.html

  • Visualisation des quotas par défaut d'un projet
  • Mise à jour des quotas d'un projet

2. Gestion des instances

  • Création des snapshots d'instances
  • Contrôler l'état d'une instance
  • Suivi des consommations

3. Gestion des volumes et des types de volumes

  • Création d'un type de volume
  • Création d'un type de volume crypté
  • Suppression de types de volume
  • Suppression de volumes

4. Création et gestion d'images

  • Création d'images
  • Mise à jour des images
  • Suppression d'images

https://docs.openstack.org/image-guide/obtain-images.html

wget http://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img

https://docs.openstack.org/glance/pike/admin/manage-images.html

openstack image create --disk-format raw --container-format bare \
  --public --file ./xenial-server-cloudimg-amd64-disk1.img xenial

Lancement d'une image Ubuntu Xenial

- name: "OpenStack Instances auto-deploy"
  hosts: localhost
  gather_facts: True
  vars:
    server_name: web1
  tasks:
    - name: "create a keypair"
      os_keypair:
        name: mykey
        state: present
    - name: "Create a server"
      os_server:
        state: present
        name: "{{ server_name }}"
        image: xenial
        key_name: mykey
        timeout: 200
        flavor: m1.small
        security_groups: default
        nics:
          - net-name: provider
        userdata: |
          \{%- raw -%\}#!/bin/bash
          apt-get update && apt-get -y install apache2 && /etc/init.d/apache2 start
          \{% endraw %\}

5. Gestion des gabarits

  • Création des gabarits
  • Mise à jour de gabarits
  • Mise à jour des métadonnées
  • Suppression de gabarits
openstack flavor list
openstack server create --flavor p1.tiny --image xenial \
--security-group wordpress-sg --key-name wordpress-key srv01

6. Groupes de sécurité

openstack keypair create --public-key ~/.ssh/id_rsa.pub wordpress-key
openstack security group create wordpress-sg
openstack security group rule create --proto icmp wordpress-sg
openstack security group rule create --proto tcp --dst-port 22 wordpress-sg
openstack security group rule create --proto tcp --dst-port 80 wordpress-sg

7. Création et gestion des agrégats d'hôtes

  • Création d'un agrégat hôte
  • Gestion des agrégats d'hôte