From 9fcb5e5fb5ec444438e6ba668607538fdf01b5fa Mon Sep 17 00:00:00 2001 From: Dominik Chilla <43314918+chillout2k@users.noreply.github.com> Date: Wed, 23 Sep 2020 09:29:06 +0200 Subject: [PATCH] Update README.md --- README.md | 246 +++++++++++++++++++++++++++--------------------------- 1 file changed, 122 insertions(+), 124 deletions(-) diff --git a/README.md b/README.md index 2596a04..ce11a99 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,13 @@ # Snippets for k3s * [Install k3s](#install-k3s) +* [Namespaces and resource limits](#namespaces) + * [devel](#namespace-devel) + * [staging](#namespace-staging) + * [prod](#namespace-prod) +* [Persistent volumes](#pv) + * [Local provider](#pv-local) + * [Longhorn - distributed/lightweight provider](#pv-longhorn) * [Disable Traefik-ingress](#disable-traefik-ingress) * [Enable NGINX-ingress](#enable-nginx-ingress) * [Installation](#install-nginx-ingress) @@ -11,13 +18,6 @@ * [Stick the nginx-ingress controler and my-nginx app together](#stick-nginx-ingress-and-tcp-service) * [Test exposed app on TCP-port 9000](#test-nginx-ingress-and-tcp-service) * [Running DaemonSets on `hostPort`](#running-daemonsets) -* [Namespaces and resource limits](#namespaces) - * [devel](#namespace-devel) - * [staging](#namespace-staging) - * [prod](#namespace-prod) -* [Persistent volumes](#pv) - * [Local provider](#pv-local) - * [Longhorn - distributed/lightweight provider](#pv-longhorn) * [HELM charts](#helm) * [Create a chart](#helm-create) * [Install local chart without packaging](#helm-install-without-packaging) @@ -27,12 +27,126 @@ * [Get deployment history](#helm-history) * [Rollback](#helm-rollback) + ## Install k3s https://k3s.io/: ``` curl -sfL https://get.k3s.io | sh - ``` +# Namespaces and resource limits +## devel +namespace-devel-limitranges.yaml: +``` +--- +apiVersion: v1 +kind: Namespace +metadata: + name: devel + labels: + name: devel + +--- +apiVersion: v1 +kind: LimitRange +metadata: + name: limit-range-devel + namespace: devel +spec: + limits: + - default: + cpu: 500m + memory: 1Gi + defaultRequest: + cpu: 10m + memory: 4Mi + max: + cpu: 500m + memory: 1Gi + min: + cpu: 10m + memory: 4Mi + type: Container +``` +`kubectl apply -f namespace-devel-limitranges.yaml` + +## staging +namespace-staging.yml: +``` +--- +apiVersion: v1 +kind: Namespace +metadata: + name: staging + labels: + name: staging +``` +`kubectl apply -f namespace-staging.yml` + +namespace-staging-limitranges.yaml: +``` +apiVersion: v1 +kind: LimitRange +metadata: + name: limit-range-staging +spec: + limits: + - default: + cpu: 500m + memory: 1Gi + defaultRequest: + cpu: 10m + memory: 4Mi + max: + cpu: 500m + memory: 1Gi + min: + cpu: 10m + memory: 4Mi + type: Container +``` +`kubectl apply -f namespace-staging-limitranges.yaml -n staging` + +## prod +namespace-prod.yml: +``` +--- +apiVersion: v1 +kind: Namespace +metadata: + name: prod + labels: + name: prod +``` +`kubectl apply -f namespace-prod.yml` + +namespace-prod-limitranges.yaml: +``` +apiVersion: v1 +kind: LimitRange +metadata: + name: limit-range-prod +spec: + limits: + - defaultRequest: + cpu: 50m + memory: 4Mi + min: + cpu: 50m + memory: 4Mi + type: Container +``` +`kubectl apply -f namespace-prod-limitranges.yaml -n prod` + +# Persistent Volumes +## Local provider (local - ouf-of-the-box) +https://rancher.com/docs/k3s/latest/en/storage/ + +## Longhorn (lightweight/distributed) +* Requirements: https://longhorn.io/docs/0.8.0/install/requirements/ + * Debian: `apt install open-iscsi` +* Install: https://rancher.com/docs/k3s/latest/en/storage/ + ## Disable Traefik-ingress edit /etc/systemd/system/k3s.service: ``` @@ -327,122 +441,6 @@ spec: type: RollingUpdate ``` -# Namespaces and resource limits -## devel -namespace-devel.yml: -``` ---- -apiVersion: v1 -kind: Namespace -metadata: - name: devel - labels: - name: devel -``` -`kubectl apply -f namespace-devel.yml` - -namespace-devel-limitranges.yaml: -``` -apiVersion: v1 -kind: LimitRange -metadata: - name: limit-range-devel -spec: - limits: - - default: - cpu: 500m - memory: 1Gi - defaultRequest: - cpu: 10m - memory: 4Mi - max: - cpu: 500m - memory: 1Gi - min: - cpu: 10m - memory: 4Mi - type: Container -``` -`kubectl apply -f namespace-devel-limitranges.yaml -n devel` - -## staging -namespace-staging.yml: -``` ---- -apiVersion: v1 -kind: Namespace -metadata: - name: staging - labels: - name: staging -``` -`kubectl apply -f namespace-staging.yml` - -namespace-staging-limitranges.yaml: -``` -apiVersion: v1 -kind: LimitRange -metadata: - name: limit-range-staging -spec: - limits: - - default: - cpu: 500m - memory: 1Gi - defaultRequest: - cpu: 10m - memory: 4Mi - max: - cpu: 500m - memory: 1Gi - min: - cpu: 10m - memory: 4Mi - type: Container -``` -`kubectl apply -f namespace-staging-limitranges.yaml -n staging` - -## prod -namespace-prod.yml: -``` ---- -apiVersion: v1 -kind: Namespace -metadata: - name: prod - labels: - name: prod -``` -`kubectl apply -f namespace-prod.yml` - -namespace-prod-limitranges.yaml: -``` -apiVersion: v1 -kind: LimitRange -metadata: - name: limit-range-prod -spec: - limits: - - defaultRequest: - cpu: 50m - memory: 4Mi - min: - cpu: 50m - memory: 4Mi - type: Container -``` -`kubectl apply -f namespace-prod-limitranges.yaml -n prod` - -# Persistent Volumes -## Local provider (local - ouf-of-the-box) -https://rancher.com/docs/k3s/latest/en/storage/ - -## Longhorn (lightweight/distributed) -* Requirements: https://longhorn.io/docs/0.8.0/install/requirements/ - * Debian: `apt install open-iscsi` -* Install: https://rancher.com/docs/k3s/latest/en/storage/ - - # HELM charts Docs: * https://helm.sh/docs/intro/using_helm/ @@ -573,4 +571,4 @@ NOTES: export POD_NAME=$(kubectl get pods --namespace default -l "app.kubernetes.io/name=helm-test,app.kubernetes.io/instance=helm-test-dev" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl --namespace default port-forward $POD_NAME 8080:80 -``` \ No newline at end of file +```