Skip to content

AKS

TLSappgw GPLv3 license

#!/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 GPLv3 license

#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