94f6f37cae | ||
---|---|---|
.. | ||
deployments | ||
README.md | ||
azure-npm-with-kubemark.yaml | ||
configure-hollowNode-on-external-cluster.sh | ||
hollow-node.yaml | ||
hollownodes.sh | ||
npm.sh | ||
pods.sh |
README.md
Kubemark
- Enable realistic large-scale performance test with small size of K8s cluster
- Scripts are based on K8s created by
aks-engine
.
- It seems it does not work with
aks
since aks does not allow addinghollownode
to a managed master.
How to use kubemark for NPM scale performance test
- Create two K8s clusters by using
aks-engine
Master K8s cluster
: one master node and one agent node are enough. NPM will be deployed onagent
node withazure-npm-with-kubemark.yaml
External K8s cluster
:hollownodes
will be deployed as pods. You may decide how many physical node are deployed.
- Change json filenames after creating both K8s clusters and locate this directory.
- Name
master.json
fromMaster K8s cluster
, - Name
external.json
fromExternal K8s cluster
- Run
configure-hollowNode-on-external-cluster.sh
which will set up necessary information onExternal K8s cluster
.
- Basically it gives the master node information of
Master K8s cluster
. So, hollownodes onExternal K8s cluster
can connect to the master node ofMaster K8s cluster
- Deploy
hollownode
pods onExternal K8s cluster
with hollow-node.yaml
- Use
hollownodes.sh
helper script. - Configure
replica
spec inhollow-node.yaml
. Current value is 10. So, max num of pods on 10 hollownodes are 10 * (max num of pods on one node).
- Deploy
NPM
pod on agent node ofMaster K8s cluster
withazure-npm-with-kubemark.yaml
.
azure-npm-with-kubemark.yaml
is configured to only deploy one NPM pod on agent node ofMaster K8s cluster
- Use
npm.sh
.
- After confirming all
hollownode
pods running onExternal K8s cluster
are connected toMaster K8s cluster
as nodes, deploying pods for scaling test.
- Use pods.sh - it deploys deployment resources located in
deployments
directory. - Configure
replica
spec in yaml files indeployments
directory.
To build kubemark container image
- It has a patch to assign random IP address to pods.
- Use
build-kubemark-docker.sh
script
cd cluster/images/kubemark
./build-kubemark-docker.sh