Skip to content

Commit 00fc276

Browse files
committed
update demo 0
1 parent dac0cfb commit 00fc276

File tree

4 files changed

+189
-6
lines changed

4 files changed

+189
-6
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Local .terraform directories
2+
**/.terraform/*
3+
4+
# .tfstate files
5+
*.tfstate
6+
*.tfstate.*
7+
8+
# Crash log files
9+
crash.log
10+
crash.*.log
11+
12+
# Exclude all .tfvars files, which are likely to contain sentitive data, such as
13+
# password, private keys, and other secrets. These should not be part of version
14+
# control as they are data points which are potentially sensitive and subject
15+
# to change depending on the environment.
16+
#
17+
*.tfvars
18+
19+
# Ignore override files as they are usually used to override resources locally and so
20+
# are not checked in
21+
override.tf
22+
override.tf.json
23+
*_override.tf
24+
*_override.tf.json
25+
26+
# Include override files you do wish to add to version control using negated pattern
27+
#
28+
# !example_override.tf
29+
30+
# Include tfplan files to ignore the plan output of command: terraform plan -out=tfplan
31+
# example: *tfplan*
32+
33+
# Ignore CLI configuration files
34+
.terraformrc
35+
terraform.rc
36+
37+
.terraform.lock.hcl

04-cloud/00-aks/00-mi-primer-aks/00-crear-mi-primer-aks.sh

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,24 @@ brew install azure-cli
77
#También podemos crear un contenedor con Azure CLI. Así no tenemos que instalarlo en nuestro local ;-)
88
docker run -it --rm microsoft/azure-cli sh
99

10+
# Para ver el subconjunto de serviios que puedes gestionar a través de la linea de comandos:
11+
az
12+
1013
#Iniciamos sesión en nuestra cuenta de Azure
1114
az login
1215

1316
#Creamos un grupo de recursos en una ubicación concreta
14-
RESOURCE_GROUP="Mi-Primer-AKS"
17+
RESOURCE_GROUP="Lemoncode-CLI"
1518
LOCATION="northeurope"
1619

1720
az group create -n ${RESOURCE_GROUP} -l ${LOCATION}
1821

1922
#Creamos el clúster de AKS
20-
AKS_NAME="lemoncode-aks"
23+
AKS_NAME="aks-lemoncode-cli"
2124

2225
#https://docs.microsoft.com/en-us/cli/azure/aks?view=azure-cli-latest#az_aks_create
23-
az aks create -g ${RESOURCE_GROUP} -n ${AKS_NAME} \
26+
az aks create -g ${RESOURCE_GROUP} \
27+
-n ${AKS_NAME} \
2428
--node-count 1 --generate-ssh-keys
2529

2630
#Instalamos kubectl en local si no lo tenemos. En este caso en el contenedor con Azure CLI
@@ -32,14 +36,17 @@ az aks get-credentials -g ${RESOURCE_GROUP} -n ${AKS_NAME}
3236
#Recuperamos los nodos de nuestro clúster (en este ejemplo solo deberíamos de tener 1)
3337
kubectl get nodes
3438

35-
#Recuperamos todos los servicios desplegados en nuestro clúster
36-
kubectl get services --all-namespaces
37-
3839
#Escalar el número de nodos en el clúster
3940
az aks scale -g ${RESOURCE_GROUP} -n ${AKS_NAME} --node-count 3
4041

4142
#Ahora deberíamos tener 3 nodos en lugar de 1
4243
kubectl get nodes
4344

45+
# Crear un Wordpress en nuestro clúster
46+
kubectl apply -f wordpress.yaml
47+
48+
# Comprobar lo que acabamos de desplegar
49+
kubectl get all -n wordpress
50+
4451
#Si eliminamos el grupo de recursos eliminaremos el clúster
4552
az group delete -n ${RESOURCE_GROUP} --yes --no-wait
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
provider "azurerm" {
2+
features {}
3+
}
4+
5+
resource "azurerm_resource_group" "rg" {
6+
name = "Lemoncode-Terraform"
7+
location = "West Europe"
8+
}
9+
10+
resource "azurerm_kubernetes_cluster" "k8s" {
11+
name = "aks-lemoncode-tf"
12+
resource_group_name = azurerm_resource_group.rg.name
13+
location = azurerm_resource_group.rg.location
14+
dns_prefix = "aks-lemoncode-tf"
15+
16+
default_node_pool {
17+
name = "default"
18+
node_count = 1
19+
vm_size = "Standard_DS2_v2"
20+
}
21+
22+
identity {
23+
type = "SystemAssigned"
24+
}
25+
26+
}
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
apiVersion: v1
2+
kind: Namespace
3+
metadata:
4+
name: wordpress
5+
6+
---
7+
apiVersion: apps/v1
8+
kind: Deployment
9+
metadata:
10+
name: wordpress-mysql
11+
namespace: wordpress
12+
labels:
13+
app: wordpress
14+
spec:
15+
selector:
16+
matchLabels:
17+
app: wordpress
18+
tier: mysql
19+
strategy:
20+
type: Recreate
21+
template:
22+
metadata:
23+
labels:
24+
app: wordpress
25+
tier: mysql
26+
spec:
27+
containers:
28+
- image: mysql:5.6
29+
name: mysql
30+
env:
31+
- name: MYSQL_ROOT_PASSWORD
32+
value: wp_password
33+
ports:
34+
- containerPort: 3306
35+
name: mysql
36+
volumeMounts:
37+
- name: mysql-storage
38+
mountPath: /var/lib/mysql
39+
volumes:
40+
- name: mysql-storage
41+
emptyDir: {}
42+
43+
---
44+
apiVersion: v1
45+
kind: Service
46+
metadata:
47+
name: wordpress-mysql
48+
namespace: wordpress
49+
labels:
50+
app: wordpress
51+
spec:
52+
ports:
53+
- port: 3306
54+
selector:
55+
app: wordpress
56+
tier: mysql
57+
clusterIP: None
58+
59+
---
60+
apiVersion: apps/v1
61+
kind: Deployment
62+
metadata:
63+
name: wordpress
64+
namespace: wordpress
65+
labels:
66+
app: wordpress
67+
spec:
68+
selector:
69+
matchLabels:
70+
app: wordpress
71+
tier: frontend
72+
replicas: 2
73+
strategy:
74+
type: Recreate
75+
template:
76+
metadata:
77+
labels:
78+
app: wordpress
79+
tier: frontend
80+
spec:
81+
containers:
82+
- image: wordpress:4.8-apache
83+
name: wordpress
84+
env:
85+
- name: WORDPRESS_DB_HOST
86+
value: wordpress-mysql
87+
- name: WORDPRESS_DB_PASSWORD
88+
value: wp_password
89+
ports:
90+
- containerPort: 80
91+
name: wordpress
92+
volumeMounts:
93+
- name: wordpress-storage
94+
mountPath: /var/www/html
95+
volumes:
96+
- name: wordpress-storage
97+
emptyDir: {}
98+
99+
---
100+
apiVersion: v1
101+
kind: Service
102+
metadata:
103+
name: wordpress
104+
namespace: wordpress
105+
labels:
106+
app: wordpress
107+
spec:
108+
ports:
109+
- port: 80
110+
selector:
111+
app: wordpress
112+
tier: frontend
113+
type: LoadBalancer

0 commit comments

Comments
 (0)