Update README.md

This commit is contained in:
Dominik Chilla 2020-09-23 09:29:06 +02:00 committed by GitHub
parent 4e32669e2e
commit 9fcb5e5fb5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

244
README.md
View File

@ -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 <a name="install-k3s"></a>
https://k3s.io/:
```
curl -sfL https://get.k3s.io | sh -
```
# Namespaces and resource limits <a name="namespaces"></a>
## devel <a name="namespace-devel"></a>
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 <a name="namespace-staging"></a>
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 <a name="namespace-prod"></a>
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 <a name="pv"></a>
## Local provider (local - ouf-of-the-box) <a name="pv-local"></a>
https://rancher.com/docs/k3s/latest/en/storage/
## Longhorn (lightweight/distributed) <a name="pv-longhorn"></a>
* 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 <a name="disable-traefik-ingress"></a>
edit /etc/systemd/system/k3s.service:
```
@ -327,122 +441,6 @@ spec:
type: RollingUpdate
```
# Namespaces and resource limits <a name="namespaces"></a>
## devel <a name="namespace-devel"></a>
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 <a name="namespace-staging"></a>
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 <a name="namespace-prod"></a>
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 <a name="pv"></a>
## Local provider (local - ouf-of-the-box) <a name="pv-local"></a>
https://rancher.com/docs/k3s/latest/en/storage/
## Longhorn (lightweight/distributed) <a name="pv-longhorn"></a>
* 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 <a name="helm"></a>
Docs:
* https://helm.sh/docs/intro/using_helm/