AKS
TLSappgw 
#!/bin/bash
# Install the CustomResourceDefinition resources separately
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.10.1/cert-manager.crds.yaml
# Create the namespace for cert-manager
kubectl create namespace cert-manager
# Label the cert-manager namespace to disable resource validation
kubectl label namespace cert-manager cert-manager.io/disable-validation=true
# Add the Jetstack Helm repository
helm repo add jetstack https://charts.jetstack.io
# Update your local Helm chart repository cache
helm repo update
# Install the cert-manager Helm chart
# Helm v3+
helm install \
cert-manager jetstack/cert-manager \
--namespace cert-manager \
--version v1.10.1 \
# --set installCRDs=true
# To automatically install and manage the CRDs as part of your Helm release,
# you must add the --set installCRDs=true flag to your Helm installation command.
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-prod
namespace: cert-manager
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: registros@trastero.org
privateKeySecretRef:
name: letsencrypt-prod
solvers:
- http01:
ingress:
class: azure/application-gateway
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: front-ingress
namespace: w2m
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
spec:
ingressClassName: azure-application-gateway
tls:
- hosts:
- w2m.trastero.org
secretName: front-tls
rules:
- host: w2m.trastero.org
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: front-service
port:
number: 8080
DemoApp
---
apiVersion: v1
kind: Namespace
metadata:
name: pruebas
labels:
name: pruebas
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: deployment-test
namespace: pruebas
labels:
app: front
spec:
replicas: 9
selector:
matchLabels:
app: front
template:
metadata:
labels:
app: front
spec:
containers:
- name: nginx
image: nginx:alpine
command: ["sh", "-c", "echo TEST from $HOSTNAME > /usr/share/nginx/html/index.html && nginx -g 'daemon off;'"]
---
apiVersion: v1
kind: Service
metadata:
name: test-service
namespace: pruebas
labels:
app: front
spec:
type: ClusterIP
selector:
app: front
ports:
- protocol: TCP
port: 7788
targetPort: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: test-ingress
namespace: pruebas
annotations:
kubernetes.io/ingress.class: "azure/application-gateway"
kubernetes.io/ingress.allow-http: "true"
kubernetes.io/ingress.global-static-ip-name: "ingress-appgateway-appgwpip"
spec:
rules:
- host: pruebas.trastero.org
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: test-service
port:
number: 7788
Mtto 
#show state
az aks show --resource-group rg_des_pc --name aks-dev-pc --output table
#stop/start aks
az aks stop --resource-group rg_des_pc --name aks-dev-pc
az aks start --resource-group rg_des_pc --name aks-dev-pc
#stop/start nodepool
az aks nodepool stop --resource-group rg_des_pc --cluster-name aks-dev-pc --name devpool
az aks nodepool start --resource-group rg_des_pc --cluster-name aks-dev-pc --name devpool
#cancel current operation
az aks nodepool operation-abort --resource-group rg_des_pc --cluster-name aks-dev-pc --name devpool
az aks operation-abort --name aks-dev-pc --resource-group rg_des_pc
#scale nodepool
az aks nodepool scale --cluster-name aks-dev-pc --name devpool --resource-group rg_des_pc --node-count 2