kemonine
/
lollipopcloud
Archived
1
0
Fork 0

Add notes on k3s

This commit is contained in:
KemoNine 2019-03-03 17:54:58 +00:00
parent 0728080e41
commit 9f3f02736d
1 changed files with 84 additions and 0 deletions

84
advanced/k3s.md Normal file
View File

@ -0,0 +1,84 @@
# k3s
For those looking to deploy k3s ([http://k3s.io/](http://k3s.io/)) the below notes should help get it setup and quickly deployed.
# Inspiration / Further Reading
- [https://github.com/kubernetes/dashboard](https://github.com/kubernetes/dashboard)
- [https://kubernetes.io/docs/concepts/](https://kubernetes.io/docs/concepts/)
- [https://kubernetes.io/docs/tasks/](https://kubernetes.io/docs/tasks/)
- [https://kubernetes.io/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/](https://kubernetes.io/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/)
- [https://helm.sh/docs/using_helm/#quickstart](https://helm.sh/docs/using_helm/#quickstart)
- [https://helm.sh/docs/using_helm/#installing-helm](https://helm.sh/docs/using_helm/#installing-helm)
- [https://github.com/helm/chartmuseum](https://github.com/helm/chartmuseum)
- [https://github.com/helm/monocular](https://github.com/helm/monocular)
- [https://github.com/jessestuart/tiller-multiarch](https://github.com/jessestuart/tiller-multiarch)
- [https://github.com/kubeapps/kubeapps](https://github.com/kubeapps/kubeapps)
- [https://github.com/kubeapps/kubeapps/issues/929](https://github.com/kubeapps/kubeapps/issues/929)
- [https://github.com/kubeapps/kubeapps/blob/master/Makefile]
- [https://github.com/chartmuseum/ui](https://github.com/chartmuseum/ui)
- [https://github.com/helm/chartmuseum](https://github.com/helm/chartmuseum)
- [https://github.com/rancher/k3s/issues/81](https://github.com/rancher/k3s/issues/81)
# Quick Deployment
## Armbian Install / Setup
1. Install Armbian
1. Login and run through first login steps
1. ```apt update && apt install htop nload iotop vim nano tmux && apt upgrade```
1. ```systemctl reboot```
## Run tmux as root
### Prep
```
cat > admin-user.yaml <<EOF
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kube-system
EOF
```
### Session 1
1. ```curl -sfL https://get.k3s.io | sh -```
1. ```journalctl -fu k3s```
### Session 2
1. ```k3s kubectl get node``` -- This should eventually give output
1. ``` kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.0/src/deploy/recommended/kubernetes-dashboard-arm.yaml```
1. ```kubectl apply -f admin-user.yaml```
1. ```kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')```
### Session 3
1. ```cp /etc/rancher/k3s/k3s.yaml ~/.kube/config```
1. ```curl https://raw.githubusercontent.com/helm/helm/master/scripts/get | bash```
1. ```helm init --tiller-image=jessestuart/tiller```
1. ```helm repo add bitnami https://charts.bitnami.com/bitnami```
1. ```helm install --name kubeapps --namespace kubeapps bitnami/kubeapps```
### Local Machine
1. Setup proxy per the "Accessing cluster from outside section" section at [https://github.com/rancher/k3s/blob/master/README.md](https://github.com/rancher/k3s/blob/master/README.md)
1. Access dashboard at [http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/](http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/)