- Consider creating
terraform.tfvars
files in every Terraform directory not to pass the variables each time apply is run - If you see that an instance has more than one private IP it may indicate that
this error has occured. If that is the case run
terraform destroy
and attempterraform apply
again - If an instance is stuck with BUILD or ERROR status do the same
- If an instance fails to complete its user_data script do the same
- Usage of one SSH key
default
for all machines is assumed (besides your local machine) - If you get a warning
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
when connecting via SSH do as the suggestion says:ssh-keygen -f "/home/ubuntu/.ssh/known_hosts" -R "<ip>"
- Ignore
sudo: unable to resolve host <machine-hostname>: Name or service not known
errors
- Provide required keys in
configs/keys
- Run
generate_pub_keys.sh
in that directory - Provide required VM images in
vm_images
- Run
generate_scripts.sh
inscripts/gen
- Run
terraform init && terraform apply
interraform/00_from_local
- Wait until the access machine is up and connect to it via SSH:
ssh -i <path_to_default.pem> -o "StrictHostKeyChecking=no" ubuntu@<access_fip>
- Make sure that in
scripts/gen/constants.sh
there isBRANCH="origin/master"
(unless you're testing changes from a different branch) - Run
generate_scripts.sh
in that directory - Run
terraform init && terraform apply
interraform/01_from_access
- Copy
~/.kube/config
to your local machine, put in the same path. It will allow remote connection to the Kubernetes cluster
- Change
server
's value in the kube config. Currently there's master's private IP but since we want to connect from outside of that network we need to provide its public IP - Confirm that you're able to use kubectl from your local machine:
kubectl get nodes
- Confirm that the command returned a list containing
kube-master
and somekube-worker-{id}
, their state should be Ready; wait some time if it's not
It can be performed from your local machine or from kube-master
git clone git@github.com:k8loud/microservices-demo.git
cd microservices-demo
kubectl apply -f deploy/kubernetes/manifests
kubectl apply -f deploy/kubernetes/manifests-monitoring
If there are no SockShop dashboards available in Grafana
kubectl delete job/grafana-import-dashboards
kubectl apply -f deploy/kubernetes/manifests-monitoring
git clone git@github.com:k8loud/Metrics-Deployment.git
cd Metrics-Deployment
kubectl apply -f volume-creation/
kubectl apply -f manifests/