rasti.hil@hilandco.com +41 79 367-9677

Search This Blog

Showing posts with label Rancher. Show all posts
Showing posts with label Rancher. Show all posts

Remove Rancher



git clone https://github.com/rancher/rancher-cleanup.git
cd rancher-cleanup/
kubectl create -f deploy/rancher-cleanup.yaml
kubectl -n kube-system logs -l job-name=cleanup-job -f

kubectl -n cattle-system get pods | grep ^rancher | head -n 1 | awk '{ print $1 }'

kubectl create -f deploy/verify.yaml
kubectl -n kube-system logs -l job-name=verify-job -f
kubectl -n kube-system logs -l job-name=verify-job -f | grep -v "is deprecated"


kubectl get namespace



Installing Rancher on Azure Kubernetes Service


brew update && brew install azure-cli && brew install helm 


az login

az group create --name rancher02-rg --location eastus

az aks get-versions --location eastus --output table

az aks create --resource-group rancher02-rg --name rancher-server --kubernetes-version 1.19.13 --node-count 1 --node-vm-size Standard_D2_v3

az aks get-credentials --resource-group rancher02-rg --name rancher-server


helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
helm upgrade --install \
  ingress-nginx ingress-nginx/ingress-nginx \
  --namespace ingress-nginx \
  --set controller.service.type=LoadBalancer \
  --version 3.12.0 \
  --create-namespace
  
  
kubectl get service ingress-nginx-controller --namespace=ingress-nginx

https://rancher42.eastus.cloudapp.azure.com

helm repo add rancher-stable https://releases.rancher.com/server-charts/stable

kubectl create namespace cattle-system

kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.1/cert-manager.crds.yaml

#kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.1.0/cert-manager.yaml


helm repo add jetstack https://charts.jetstack.io

helm repo update

helm install cert-manager jetstack/cert-manager \
  --namespace cert-manager \
  --create-namespace \
  --version v1.5.1
  

kubectl get pods --namespace cert-manager

# we use letsEncrypt
# OK:
helm install rancher rancher-stable/rancher \
  --namespace cattle-system \
  --set hostname=rancher42.eastus.cloudapp.azure.com \
  --set replicas=1 \
  --set ingress.tls.source=letsEncrypt \
  --set letsEncrypt.email=mail@gmail.com

kubectl -n cattle-system rollout status deploy/rancher

kubectl -n cattle-system describe pod
kubectl -n cattle-system get pods
kubectl -n cattle-system logs -f rancher-784d94f59b-vgqzh


curl -v rancher42.eastus.cloudapp.azure.com
  

Kubernetes command



# Rancher
kubectl get -n cattle-system pods 


kubectl get secret --namespace cattle-system bootstrap-secret -o go-template='{{.data.bootstrapPassword|base64decode}}{{"\n"}}'

kubectl -n cattle-system logs -f $(kubectl -n cattle-system get pods | grep ^rancher | head -n 1 | awk '{ print $1 }') 


kubectl delete namespace cattle-system


# Pods
kubectl get pods --show-labels

kubectl describe pod -l app=app1

kubectl exec deploy/app1 -- hostname
kubectl exec deploy/app1 -- killall5

kubectl get pods
kubectl delete pods -l app=app1

# Deployment
kubectl apply -f file.yaml

kubectl apply -f web/


# Services
kubectl get svc
kubectl get pods -l app=web

kubectl logs -l app=web
kubectl get svc web

# Execute
kubectl exec deploy/app1 -- nslookup web
kubectl exec deploy/app1 -- curl http://web:8080

# Output 
kubectl get svc bb-web -o jsonpath='{}'
kubectl get svc bb-web -o jsonpath='http://{.status.loadBalancer.ingress[0].*}:8080'


# Endpoint
kubectl get endpoints
kubectl get all -l demo=workshop1
kubectl delete all -l demo=workshop1

# ConfigMap
kubectl get configmaps -A




kubectl describe  configmap ample -n ns


# Container Deployment
kubectl run http --image=docker-http-server:latest --replicas=1
kubectl get deployments
kubectl describe deployment http
kubectl expose deployment http --external-ip="172.17.0.29" --port=8000 --target-port=80
kubectl get svc

# Replication Controller
kubectl create -f redis-master-controller.yaml
kubectl get rc

kubectl get pods