All Projects → sverrirab → kube-test-container

sverrirab / kube-test-container

Licence: MIT license
Kubernetes Test Container

Programming Languages

HTML
75241 projects
go
31211 projects - #10 most used programming language
shell
77523 projects
Smarty
1635 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to kube-test-container

helm-pass
Moved to gitlab
Stars: ✭ 22 (-18.52%)
Mutual labels:  helm
helm-charts
OpenSourced Helm charts
Stars: ✭ 38 (+40.74%)
Mutual labels:  helm
matrix-chart
Helm chart for deploying a Matrix homeserver stack
Stars: ✭ 83 (+207.41%)
Mutual labels:  helm
zammad-helm
Zammad Helm chart for Kubernetes
Stars: ✭ 42 (+55.56%)
Mutual labels:  helm
kube-opennebula
Helm chart and OpenNebula images ready to deploy on Kubernetes
Stars: ✭ 43 (+59.26%)
Mutual labels:  helm
cmak-operator
CMAK (prev. Kafka Manager) for Kubernetes
Stars: ✭ 45 (+66.67%)
Mutual labels:  helm
auth
Go library for generating JWT Tokens, authorizing HTTP requests, etc.
Stars: ✭ 31 (+14.81%)
Mutual labels:  helm
helm-freeze
Freeze your charts in the wished versions
Stars: ✭ 29 (+7.41%)
Mutual labels:  helm
drone-gcloud-helm
Drone 0.5 plugin to create and deploy Helm charts for Kubernetes in Google Cloud.
Stars: ✭ 13 (-51.85%)
Mutual labels:  helm
helmwave
🌊 Helmwave is the true release manager
Stars: ✭ 488 (+1707.41%)
Mutual labels:  helm
camunda-cloud-helm
Camunda Platform 8 Self-Managed Helm charts
Stars: ✭ 41 (+51.85%)
Mutual labels:  helm
action-setup-kube-tools
Github Action that setup Kubernetes tools (kubectl, kustomize, helm, kubeconform, conftest, yq, rancher, tilt, skaffold) very fast and cache them on the runner. Please [✩Star] if you're using it!
Stars: ✭ 45 (+66.67%)
Mutual labels:  helm
readme-generator-for-helm
Auto generate READMEs for Helm Charts
Stars: ✭ 112 (+314.81%)
Mutual labels:  helm
moadsd-ng
The MOADSD-NG project does provide a simple way to setup a hybrid cloud security demo, playground and learning environment within the clouds.
Stars: ✭ 13 (-51.85%)
Mutual labels:  helm
tacoplay
a set of playbooks to deploy taco, leveraging ironic, kubespray, rook-ceph, decapod (kustomize, argo-wf, argo-cd)
Stars: ✭ 34 (+25.93%)
Mutual labels:  helm
helm-charts
Community maintained Helm charts for Flux
Stars: ✭ 66 (+144.44%)
Mutual labels:  helm
karvdash
Knot provides a complete environment for unleashing your productivity on Kubernetes
Stars: ✭ 30 (+11.11%)
Mutual labels:  helm
kube-tools-aws
A lightweight Docker image with various CLI tooling for working with Kubernetes.
Stars: ✭ 26 (-3.7%)
Mutual labels:  helm
drone-helm3
Helm3 plugin for Drone CI
Stars: ✭ 20 (-25.93%)
Mutual labels:  helm
jpetstore-kubernetes
Modernize and Extend: JPetStore on IBM Cloud Kubernetes Service
Stars: ✭ 21 (-22.22%)
Mutual labels:  helm

Kubernetes Test Container

This is a very simple container that you can use to test your Kubernetes cluster.

Simply create a deployment and service with the yaml file:

kubectl create -f ./kubernetes/kube-test-container.yaml

The containers have already been uploaded so you don't need to build anything here. But the full source is provided here if you want to extend this (Pull Request welcome).

Scale the deployment

kubectl scale deployment kube-test-container --replicas=30

Automatic scaling

Turn on automatic scaling with HPA

kubectl autoscale deployment kube-test-container --min=10 --max=20

View the status

kubectl get deploy,svc kube-test-container

View the status page and generate load

View the external IP Address using the Load Balancer IP http://IPADDRESS/. You will see the correct address marked as EXTERNAL-IP in the service status (see above).

If you click the "Let one use too much RAM" http://IPADDRESS/ram or "Let one use too much CPU" http://IPADDRESS/cpu to trigger one of the container to use too much RAM / CPU (this will grow unbound).

Click "Fetch multiple status pages" for requesting status http://IPADDRESS/status

External load testing

You can use your favorite benchmarking tool. The simplest for many would be Apache Benchmark:

ab -n 1000 -c 10 http://IPADDRESS/status

Testing upgrades

There are three different versions of this component that only differ in reporting a different version:

  • sverrirab/kube-test-container:v1.0
  • sverrirab/kube-test-container:v1.1
  • sverrirab/kube-test-container:v1.2
kubectl set image deployment/kube-test-container kube-test-container=sverrirab/kube-test-container:v1.1

Cleanup

kubectl delete deploy,svc kube-test-container

Helm installation

For testing your cluster with Helm:

helm repo add kube-test-container https://raw.githubusercontent.com/sverrirab/kube-test-container/master/helm/charts/

To see available versions:

helm search --versions kube-test-container

And to install:

helm install --version 1.1.0 --name ktc kube-test-container/kube-test-container

Screenshot

Screen Shot

Building and testing

If you want to make modifications you can use the ./build.sh script to build a local docker container and ./run.sh to test it locally through http://localhost:8000/.

License

MIT License - read the LICENSE file for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].