- Create EKS cluster
eksctl create cluster -f eks.yaml- Verify that you can connect to the cluster
kubectl get svc
- List api services
kubectl get apiservice- Use grep and filter by
metrics
kubectl get apiservice | grep metrics- Use kubectl to get metrics
kubectl top pods -n kube-system- Access metrics API
kubectl get --raw /apis/metrics.k8s.io/v1beta1 | jq-
Create deployemnt files under
0-metrics-serverdirectory0-service-account.yaml1-cluster-roles.yaml2-role-binding.yaml3-cluster-role-bindings.yaml4-service.yaml5-deployment.yaml6-api-service.yaml
-
Apply created filies
kubectl apply -f 0-metrics-server- Verify deployment
kubectl get pods -n kube-system- List api services
kubectl get apiservice- List services in
kube-systemnamespace
kubectl get svc -n kube-system- Access metrics API
kubectl get --raw /apis/metrics.k8s.io/v1beta1 | jq- Get metrics for pods using raw command\
kubectl get --raw /apis/metrics.k8s.io/v1beta1/pods | jq- Use kubectl to get metrics
kubectl top pods -n kube-system- Find default values for metrics-server chart
- Create
values.yamlfile - Add
bitnamihelm repo
helm repo add bitnami https://charts.bitnami.com/bitnami- Search for
metrics-server
helm search repo metrics-server --max-col-width 23- Install
metrics-serverHelm Chart
helm install metrics bitnami/metrics-server \
--namespace kube-system \
--version 5.8.13 \
--values values.yaml-
Open Autoscaler GitHub page
-
Clone VPA repo
git clone https://github.com/kubernetes/autoscaler.git- Change directory
cd autoscaler/vertical-pod-autoscaler- Preview installation
./hack/vpa-process-yamls.sh print- Install VPA
./hack/vpa-up.sh- Tear down VPA
./hack/vpa-down.sh- Get OpenSSL version
openssl version- Upgrade LibreSSL with Homebew
brew install libressl- Get OpenSSL version
openssl version- Check instalation path of OpenSSL
which openssl- Check version of the LibreSSL installed with Homebew
/opt/homebrew/opt/libressl/bin/openssl version- Try to create a soft link
sudo ln -s /opt/homebrew/opt/libressl/bin/openssl /usr/bin/openssl- Try to rename openssl
sudo mv /usr/bin/openssl /usr/bin/openssl-old- Create soft link to /usr/local/bin/ which should take precedence on your path over /usr/bin.
sudo ln -s /opt/homebrew/opt/libressl/bin/openssl /usr/local/bin/openssl- Open new tab and run version command
openssl version- Open new tab and change directory
cd Developer/autoscaler/vertical-pod-autoscaler- Install VPA
./hack/vpa-up.sh-
Create deployment files under
1-demodirectory -
0-deployment.yaml -
1-vpa.yaml -
Open two tabs
watch -n 1 -t kubectl top pods- Deploy sample app
kubectl apply -f 1-demo- Let's run 5-10 min and in a new tab get VPA
kubectl get vpa- Describe VPA
kubectl describe vpa hamster-vpa- Update deployment and reapply
kubectl apply -f 1-demo/0-deployment.yaml- Delete EKS cluster
eksctl delete cluster -f eks.yaml
sudo rm /usr/local/bin/openssl
brew remove libressl
helm repo remove bitnami
rm -rf Developer/autoscaler