KubeZero/Quickstart.md

82 lines
2.8 KiB
Markdown
Raw Normal View History

2020-06-03 14:45:01 +00:00
# Quickstart
---
# CloudBender
## Prepare Config
- check config/kube/kube-control-plane.yaml
- check config/kube/kube-workers.yaml
2020-07-07 17:42:24 +00:00
## Deploy Cluster
- cloudbender sync config/kube --multi
The latest versions now support waiting for the control plane to bootstrap allowing deployments in one step !
2020-06-03 14:45:01 +00:00
## Get kubectl config
2020-07-07 17:42:24 +00:00
- get admin.conf from S3 and store in your local `~/.kube` folder
S3 URL will also be in the Slack message after successful bootstrap !
2020-06-03 14:45:01 +00:00
2020-07-07 17:42:24 +00:00
## Verify nodes
- Verify all nodes have the expected version and are *Ready*, eg via: `kubectl get nodes`
2020-06-05 15:38:46 +00:00
2020-06-03 14:45:01 +00:00
---
2020-07-07 17:42:24 +00:00
# KubeZero
2020-07-07 17:51:27 +00:00
All configs and scriptss are normally under:
`artifacts/<ENV>/<REGION>/kubezero`
2020-06-03 14:45:01 +00:00
## Prepare Config
2020-07-07 17:51:27 +00:00
check values.yaml for your cluster
2020-06-03 14:45:01 +00:00
2020-07-07 17:42:24 +00:00
## Get CloudBender kubezero config
Cloudbender creates a kubezero config file, which incl. all outputs from the Cloudformation stacks in `outputs/kube/kubezero.yaml`.
2020-07-07 17:51:27 +00:00
- copy kubezero.yaml *next* to the values.yaml named as `cloudbender.yaml`.
2020-06-05 15:38:46 +00:00
2020-06-03 14:45:01 +00:00
## Deploy KubeZero Helm chart
`./deploy.sh`
2020-07-07 17:42:24 +00:00
The deploy script will handle the initial bootstrap process up to point of installing advanced services like Istio or Prometheus.
It will take about 10min to reach the point of being able to install these advanced services.
2020-06-03 14:45:01 +00:00
## Verify ArgoCD
2020-06-05 15:38:46 +00:00
At this stage we there is no support for any kind of Ingress yet. To reach the Argo API port forward from localhost via:
`kubectl port-forward svc/kubezero-argocd-server -n argocd 8080:443`
2020-06-03 14:45:01 +00:00
2020-06-05 15:38:46 +00:00
Next download the argo-cd cli, details for different OS see https://argoproj.github.io/argo-cd/cli_installation/
2020-06-03 14:45:01 +00:00
Finally login into argo-cd via `argocd login localhost:8080` using the *admin* user and the password set in values.yaml earlier.
2020-06-05 15:38:46 +00:00
List all Argo applications via: `argocd app list`.
Currently it is very likely that you need to manually trigger sync runs for `cert-manager`as well as `kiam`.
eg. `argocd app cert-manager sync`
2020-06-05 16:09:42 +00:00
# Only proceed any further if all Argo Applications show healthy !!
## WIP not yet integrated into KubeZero
### Istio
Istio is currently pinned to version 1.4.X as this is the last version supporting installation via helm charts.
Until Istio is integrated into KubeZero as well as upgraded to 1.6 we have to install manually.
- adjust values.yaml
- update domain in `ingress-certificate.yaml`
- update.sh
- deploy.sh
2020-06-05 16:58:18 +00:00
### Logging
To deploy fluentbit only required adjustment is the `fluentd_host=<LOG_HOST>` in the kustomization.yaml.
- deploy namespace for logging via deploy.sh
- deploy fluentbit via `kubectl apply -k fluentbit`
### Prometheus / Grafana
Only adjustment required is the ingress routing config in istio-service.yaml. Adjust as needed before executing:
`deploy.sh`
2020-07-07 17:51:27 +00:00
### EFS CSI
- add the EFS fs-ID from the worker cloudformation output into values.yaml and the efs-pv.yaml
- `./deploy.sh`
2020-06-05 16:58:18 +00:00
2020-06-03 14:45:01 +00:00
# Demo / own apps
- Add your own application to ArgoCD via the cli