Update README.md
This commit is contained in:
parent
4e32669e2e
commit
9fcb5e5fb5
246
README.md
246
README.md
@ -1,6 +1,13 @@
|
|||||||
# Snippets for k3s
|
# Snippets for k3s
|
||||||
|
|
||||||
* [Install k3s](#install-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)
|
* [Disable Traefik-ingress](#disable-traefik-ingress)
|
||||||
* [Enable NGINX-ingress](#enable-nginx-ingress)
|
* [Enable NGINX-ingress](#enable-nginx-ingress)
|
||||||
* [Installation](#install-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)
|
* [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)
|
* [Test exposed app on TCP-port 9000](#test-nginx-ingress-and-tcp-service)
|
||||||
* [Running DaemonSets on `hostPort`](#running-daemonsets)
|
* [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)
|
* [HELM charts](#helm)
|
||||||
* [Create a chart](#helm-create)
|
* [Create a chart](#helm-create)
|
||||||
* [Install local chart without packaging](#helm-install-without-packaging)
|
* [Install local chart without packaging](#helm-install-without-packaging)
|
||||||
@ -27,12 +27,126 @@
|
|||||||
* [Get deployment history](#helm-history)
|
* [Get deployment history](#helm-history)
|
||||||
* [Rollback](#helm-rollback)
|
* [Rollback](#helm-rollback)
|
||||||
|
|
||||||
|
|
||||||
## Install k3s <a name="install-k3s"></a>
|
## Install k3s <a name="install-k3s"></a>
|
||||||
https://k3s.io/:
|
https://k3s.io/:
|
||||||
```
|
```
|
||||||
curl -sfL https://get.k3s.io | sh -
|
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>
|
## Disable Traefik-ingress <a name="disable-traefik-ingress"></a>
|
||||||
edit /etc/systemd/system/k3s.service:
|
edit /etc/systemd/system/k3s.service:
|
||||||
```
|
```
|
||||||
@ -327,122 +441,6 @@ spec:
|
|||||||
type: RollingUpdate
|
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>
|
# HELM charts <a name="helm"></a>
|
||||||
Docs:
|
Docs:
|
||||||
* https://helm.sh/docs/intro/using_helm/
|
* 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}")
|
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"
|
echo "Visit http://127.0.0.1:8080 to use your application"
|
||||||
kubectl --namespace default port-forward $POD_NAME 8080:80
|
kubectl --namespace default port-forward $POD_NAME 8080:80
|
||||||
```
|
```
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user