Skip to content

Instantly share code, notes, and snippets.

@vfarcic
Created December 14, 2019 17:12
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save vfarcic/c9dc5d5693cee746ee47071c222b110b to your computer and use it in GitHub Desktop.
Save vfarcic/c9dc5d5693cee746ee47071c222b110b to your computer and use it in GitHub Desktop.
cd k8s-specs
git pull
helm install prometheus-adapter \
stable/prometheus-adapter \
--version 1.4.0 \
--namespace metrics \
--set metricsRelistInterval=90s \
--set prometheus.url=http://prometheus-server.metrics.svc \
--set prometheus.port=80
kubectl -n metrics \
rollout status \
deployment prometheus-adapter
kubectl get --raw \
"/apis/custom.metrics.k8s.io/v1beta1" \
| jq "."
GD5_ADDR=go-demo-5.$LB_IP.nip.io
kubectl create namespace go-demo-5
helm install go-demo-5 \
https://github.com/vfarcic/go-demo-5/releases/download/0.0.1/go-demo-5-0.0.1.tgz \
--namespace go-demo-5 \
--set ingress.host=$GD5_ADDR
kubectl -n go-demo-5 \
rollout status \
deployment go-demo-5
for i in {1..100}; do
curl "http://$GD5_ADDR/demo/hello"
done
kubectl get --raw \
"/apis/custom.metrics.k8s.io/v1beta1" \
| jq '.resources[]
| select(.name
| contains("nginx_ingress_controller_requests"))'
kubectl get --raw \
"/apis/custom.metrics.k8s.io/v1beta1" \
| jq '.resources[]
| select(.name
| contains("http_server_resp_time_count"))'
kubectl -n metrics \
describe cm prometheus-adapter
cat mon/prom-adapter-values-ing.yml
helm upgrade prometheus-adapter \
stable/prometheus-adapter \
--version 1.4.0 \
--namespace metrics \
--values mon/prom-adapter-values-ing.yml
kubectl -n metrics \
rollout status \
deployment prometheus-adapter
kubectl -n metrics \
describe cm prometheus-adapter
kubectl get --raw \
"/apis/custom.metrics.k8s.io/v1beta1" \
| jq "."
cat mon/go-demo-5-hpa-ing.yml
kubectl -n go-demo-5 \
apply -f mon/go-demo-5-hpa-ing.yml
kubectl -n go-demo-5 \
describe hpa go-demo-5
for i in {1..100}; do
curl "http://$GD5_ADDR/demo/hello"
done
kubectl -n go-demo-5 \
describe hpa go-demo-5
kubectl -n go-demo-5 get pods
kubectl -n go-demo-5 \
describe hpa go-demo-5
cat mon/prom-adapter-values-svc.yml
helm upgrade prometheus-adapter \
stable/prometheus-adapter \
--version 1.4.0 \
--namespace metrics \
--values mon/prom-adapter-values-svc.yml
kubectl -n metrics \
rollout status \
deployment prometheus-adapter
kubectl get --raw \
"/apis/custom.metrics.k8s.io/v1beta1" \
| jq "."
kubectl get --raw \
"/apis/custom.metrics.k8s.io/v1beta1/namespaces/go-demo-5/services/*/http_req_per_second_per_replica" \
| jq .
cat mon/go-demo-5-hpa-svc.yml
kubectl -n go-demo-5 \
apply -f mon/go-demo-5-hpa-svc.yml
kubectl -n go-demo-5 \
describe hpa go-demo-5
kubectl -n go-demo-5 \
run -it test \
--image=debian \
--restart=Never \
--rm \
-- bash
apt update
apt install -y curl
for i in {1..500}; do
curl "http://go-demo-5:8080/demo/hello"
done
exit
kubectl -n go-demo-5 \
describe hpa go-demo-5
kubectl -n go-demo-5 get pods
cat mon/go-demo-5-hpa.yml
kubectl -n go-demo-5 \
apply -f mon/go-demo-5-hpa.yml
kubectl -n go-demo-5 \
describe hpa go-demo-5
helm delete go-demo-5 \
--namespace go-demo-5
kubectl delete ns go-demo-5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment