miroir de
https://github.com/PAPAMICA/Wiki-Tech.io.git
synchronisé 2024-12-28 10:30:24 +01:00
docs: create Cloud/IPC/Wordpress-HA
Cette révision appartient à :
Parent
3426e01c6e
révision
c418139b2f
1 fichiers modifiés avec 204 ajouts et 0 suppressions
204
Cloud/IPC/Wordpress-HA.md
Fichier normal
204
Cloud/IPC/Wordpress-HA.md
Fichier normal
|
@ -0,0 +1,204 @@
|
|||
---
|
||||
title: Infomaniak Public Cloud - Mise en situation : VDI Ubuntu
|
||||
description: Mettre en place un bureau virtuel avec Ubuntu*
|
||||
published: true
|
||||
date: 2021-11-08T16:33:28.599Z
|
||||
tags: openstack, infomaniak, public-cloud, cloud, ipc, vdi, ubuntu
|
||||
editor: markdown
|
||||
dateCreated: 2021-11-08T16:33:28.599Z
|
||||
---
|
||||
|
||||
![plan_de_travail_1@4x.png](/images/cloud/infomaniak-public-cloud/plan_de_travail_1@4x.png =600x)
|
||||
|
||||
# Introduction
|
||||
|
||||
# Template Heat
|
||||
### Créez le fichier `vdi.yml`:
|
||||
```yaml
|
||||
heat_template_version: rocky
|
||||
description: VDI Ubuntu
|
||||
parameters:
|
||||
image:
|
||||
type: string
|
||||
description: image use for vdi
|
||||
default: Ubuntu 20.04 LTS Focal Fossa
|
||||
key:
|
||||
type: string
|
||||
description: SSH key to connect to the servers
|
||||
default: PAPAMICA-INFOKEY
|
||||
flavor:
|
||||
type: string
|
||||
description: flavor used by vdi
|
||||
default: a4-ram8-disk50-perf1
|
||||
network:
|
||||
type: string
|
||||
description: network used by vdi
|
||||
default: vdi-network
|
||||
subnet_id:
|
||||
type: string
|
||||
description: dedicated subnet for vdi
|
||||
default: vdi-subnet
|
||||
floating_network_id:
|
||||
type: string
|
||||
description: UUID of a Neutron external network
|
||||
default: ext-floating1
|
||||
USER_NAME:
|
||||
type: string
|
||||
description: Name of user
|
||||
default: infomaniak
|
||||
USER_PASSWORD:
|
||||
type: string
|
||||
description: Password of user
|
||||
default: PublicCloud
|
||||
KEYBOARD:
|
||||
type: string
|
||||
description: Kayboard layout (en / fr)
|
||||
default: fr
|
||||
|
||||
resources:
|
||||
wait_condition:
|
||||
type: OS::Heat::WaitCondition
|
||||
properties:
|
||||
handle: { get_resource: wait_handle }
|
||||
timeout: 600
|
||||
|
||||
wait_handle:
|
||||
type: OS::Heat::WaitConditionHandle
|
||||
|
||||
|
||||
# security group
|
||||
vdi_security_group:
|
||||
type: OS::Neutron::SecurityGroup
|
||||
properties:
|
||||
name: "vdi_security_group"
|
||||
description: >
|
||||
Allows ICMP, SSH & RDP default port
|
||||
rules:
|
||||
- { direction: ingress, protocol: icmp }
|
||||
- { direction: ingress, protocol: tcp, port_range_min: 22, port_range_max: 22 }
|
||||
- { direction: ingress, protocol: tcp, port_range_min: 3389, port_range_max: 3389 }
|
||||
|
||||
# network resources
|
||||
vdi_network:
|
||||
type: OS::Neutron::Net
|
||||
properties:
|
||||
name: { get_param: network }
|
||||
value_specs:
|
||||
mtu: 1500
|
||||
|
||||
vdi_subnet:
|
||||
type: OS::Neutron::Subnet
|
||||
properties:
|
||||
name: 'vdi-subnet'
|
||||
network_id: { get_resource: vdi_network }
|
||||
cidr: "10.11.3.0/24"
|
||||
dns_nameservers:
|
||||
- "84.16.67.69"
|
||||
- "84.16.67.70"
|
||||
ip_version: 4
|
||||
|
||||
vdi_router:
|
||||
type: OS::Neutron::Router
|
||||
properties:
|
||||
name: 'vdi-router'
|
||||
external_gateway_info: { network: ext-floating1 }
|
||||
|
||||
vdi_router_subnet_interface:
|
||||
type: OS::Neutron::RouterInterface
|
||||
properties:
|
||||
router_id: { get_resource: vdi_router }
|
||||
subnet: { get_resource: vdi_subnet }
|
||||
|
||||
vdi_port:
|
||||
type: OS::Neutron::Port
|
||||
properties:
|
||||
network: { get_resource: vdi_network }
|
||||
security_groups: [ { get_resource: vdi_security_group } ]
|
||||
fixed_ips:
|
||||
- subnet_id: { get_resource: vdi_subnet }
|
||||
|
||||
vdi_floating:
|
||||
type: OS::Neutron::FloatingIP
|
||||
properties:
|
||||
floating_network_id: { get_param: floating_network_id }
|
||||
port_id: { get_resource: vdi_port }
|
||||
|
||||
# instance
|
||||
server:
|
||||
type: OS::Nova::Server
|
||||
depends_on: [ vdi_router]
|
||||
properties:
|
||||
flavor: { get_param: flavor }
|
||||
image: { get_param: image }
|
||||
key_name: {get_param: key}
|
||||
networks:
|
||||
- port: { get_resource: vdi_port }
|
||||
user_data:
|
||||
str_replace:
|
||||
template: |
|
||||
#!/bin/bash -v
|
||||
apt update
|
||||
apt install -y tasksel
|
||||
tasksel install ubuntu-desktop
|
||||
apt upgrade -y
|
||||
apt install -y xrdp
|
||||
PASS=$(perl -e 'print crypt("$USER_PASSWORD", "salt"),"\n"')
|
||||
useradd -m -p $PASS $USER_NAME
|
||||
usermod -aG sudo $USER_NAME
|
||||
KEYBOARD='$KEYBOARD' && sudo sed -i 's/XKBLAYOUT=\"\w*"/XKBLAYOUT=\"'$KEYBOARD'\"/g' /etc/default/keyboard
|
||||
echo "deb [ arch=amd64 ] https://repo.linit.io linit-stable main 2" > /etc/apt/sources.list.d/linit.list
|
||||
wget -qO - https://repo.linit.io/public.key | sudo apt-key add -
|
||||
apt update
|
||||
apt install -y kdrive kmeet
|
||||
rm /etc/default/locale
|
||||
cat <<EOF >>/etc/default/locale
|
||||
LANG="fr_FR.UTF-8"
|
||||
LANGUAGE="fr"
|
||||
|
||||
LC_NUMERIC="fr_FR.UTF-8"
|
||||
LC_TIME="fr_FR.UTF-8"
|
||||
LC_MONETARY="fr_FR.UTF-8"
|
||||
LC_PAPER="fr_FR.UTF-8"
|
||||
LC_IDENTIFICATION="fr_FR.UTF-8"
|
||||
LC_NAME="fr_FR.UTF-8"
|
||||
LC_ADDRESS="fr_FR.UTF-8"
|
||||
LC_TELEPHONE="fr_FR.UTF-8"
|
||||
LC_MEASUREMENT="fr_FR.UTF-8"
|
||||
EOF
|
||||
wc_notify --data-binary '{"status": "SUCCESS"}'
|
||||
reboot
|
||||
|
||||
params:
|
||||
wc_notify: { get_attr: ['wait_handle', 'curl_cli'] }
|
||||
$KEYBOARD: { get_param: KEYBOARD }
|
||||
$USER_PASSWORD: { get_param: USER_PASSWORD }
|
||||
$USER_NAME: { get_param: USER_NAME }
|
||||
|
||||
|
||||
outputs:
|
||||
vdi_url:
|
||||
value:
|
||||
str_replace:
|
||||
template: host:3389
|
||||
params:
|
||||
host: { get_attr: [vdi_floating, floating_ip_address] }
|
||||
description: "RDP IP"
|
||||
|
||||
vdi_password:
|
||||
value: { get_param: USER_PASSWORD }
|
||||
description: "User password"
|
||||
|
||||
vdi_login:
|
||||
value: { get_param: USER_NAME }
|
||||
description: "User"
|
||||
```
|
||||
|
||||
Lancez la création de la stack avec la commande suivante
|
||||
|
||||
# Création de la VM
|
||||
## Horizon
|
||||
## CLI
|
||||
|
||||
# Installation
|
||||
|
||||
# Connexion en RDP
|
Chargement…
Référencer dans un nouveau ticket