Skip to main content

Kubernetes Scheduler

DeepOps k8s install

make ansible picked up private network as default network (override 8.8.8.8 since ansible default uses ip -4 r get 8.8.8.8 to detect 'default' interface)

ansible -u cmkladmin -b -a "ip r add 8.8.8.8 via 172.16.101.251" all

Metallb

  • helm repo add bitnami https://charts.bitnami.com/bitnami"bitnami" has been added to your repositories
  • helm repo update Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "bitnami" chart repository Update Complete. ⎈Happy Helming!⎈
  • helm_install_args=("--values" "${DEEPOPS_CONFIG_DIR}/helm/metallb.yml")
  • '[' '' ']'
  • '[' '' ']'
  • helm status metallb
  • kubectl create namespace deepops-loadbalancer namespace/deepops-loadbalancer created
  • helm install --wait metallb bitnami/metallb --values /home/akkarit/apex/deepops/scripts/k8s/../../config/helm/metallb.yml --version 0.1.24 --namespace deepops-loadbalancer NAME: metallb LAST DEPLOYED: Sun Apr 11 05:17:40 2021 NAMESPACE: deepops-loadbalancer STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: MetalLB is now running in the cluster

LoadBalancer Services in your cluster are now available on the IPs you defined in MetalLB's configuration. To see IP assignments, kubectl get services -o wide --all-namespaces | grep --color=never -E 'LoadBalancer|NAMESPACE'

should be executed.

To see the currently configured configuration for metallb run

kubectl get configmaps --namespace deepops-loadbalancer metallb -o yaml

in your preferred shell.

Nginx ingress

  • helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx "ingress-nginx" has been added to your repositories
  • helm status ingress-nginx
  • helm repo update Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "ingress-nginx" chart repository ...Successfully got an update from the "bitnami" chart repository Update Complete. ⎈Happy Helming!⎈
  • helm install --wait ingress-nginx --version 3.5.1 --values /home/akkarit/apex/deepops/scripts/k8s/../../workloads/examples/k8s/ingress-loadbalancer.yml ingress-nginx/ingress-nginx NAME: ingress-nginx LAST DEPLOYED: Sun Apr 11 07:09:42 2021 NAMESPACE: default STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: The ingress-nginx controller has been installed. It may take a few minutes for the LoadBalancer IP to be available. You can watch the status by running 'kubectl --namespace default get services -o wide -w ingress-nginx-controller'

An example Ingress that makes use of the controller:

apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: annotations: kubernetes.io/ingress.class: nginx name: example namespace: foo spec: rules:

  • host: www.example.com http: paths:
  • backend: serviceName: exampleService servicePort: 80 path: /

This section is only required if TLS is to be enabled for the Ingress#

tls:

If TLS is enabled for the Ingress, a Secret containing the certificate and key must also be provided:

apiVersion: v1 kind: Secret metadata: name: example-tls namespace: foo data: tls.crt: <base64 encoded cert> tls.key: <base64 encoded key> type: kubernetes.io/tls

DDN CSI driver

DDNStorage/exa-csi-driver

Monitoring

NAME: kube-prometheus-stack LAST DEPLOYED: Fri May 14 06:40:16 2021 NAMESPACE: monitoring STATUS: deployed REVISION: 1 NOTES: kube-prometheus-stack has been installed. Check its status by running: kubectl --namespace monitoring get pods -l "release=kube-prometheus-stack"

Visit https://github.com/prometheus-operator/kube-prometheus for instructions on how to create & configure Alertmanager and Prometheus instances using the Operator.

Grafana: http://172.16.101.101:30200/ Prometheus: http://172.16.101.101:30500/ Alertmanager: http://172.16.101.101:30400/


Obsolete Rancher: (Multi-tenant)

Introducing RancherD: A Simpler Tool for Deploying Rancher