Closed fppt closed 4 years ago
Hi fppt,
What is the output of the following command from your Jmeter master pod:
getent ahostsv4 jmeter-slaves-svc | cut -d' ' -f1 | sort -u | awk -v ORS=, '{print $1}' | sed 's/,$//'
No response:
Filipe-Teixeira:jmeter-kubernetes filipeteixeira$ kubectl exec -ti -n $tenant $master_pod -- getent ahostsv4 jmeter-slaves-svc | cut -d' ' -f1 | sort -u | awk -v ORS=, '{print $1}' | sed 's/,$//'
Filipe-Teixeira:jmeter-kubernetes filipeteixeira$
Same when doing it from within the pod.
Progress! I simply restarted my minikube now I am getting this issue:
Filipe-Teixeira:jmeter-kubernetes filipeteixeira$ ./start_test.sh
Enter path to the jmx file cloudssky.jmx
rpc error: code = 13 desc = invalid header field value "oci runtime error: exec failed: container_linux.go:247: starting container process caused \"exec: \\\"/jmeter/load_test\\\": stat /jmeter/load_test: no such file or directory\"\n"
I had met the same issue, in the master pod , run below command, nothing return.
getent ahostsv4 jmeter-slaves-svc
I didn't change any code , Can anyone has some ideas? @infinitydon seems that in master pod , we couldn't get jmeter-slaves-svc info
I will check this.. Please can you specify the kubernetes version you are using? Also the type of deployment
it run kubernetes in minikube version: v0.25.0 and kubectl is Client Version: v1.9.0 Server Version: v1.9.0. I followed step in https://blog.kubernauts.io/load-testing-as-a-service-with-jmeter-on-kubernetes-fc5288bb0c8b
I had met the same issue, in the master pod , run below command, nothing return.
getent ahostsv4 jmeter-slaves-svc
and run /jmeter/apache-jmeter-4.0/bin/jmeter -n -t /root/checkNginx.jmx -R 172.20.0.16,172.20.1.14
return
root@jmeter-master-5477768dd8-f6ncd:/jmeter#
r -n -t /root/checkNginx.jmx -R 172.20.0.16,172.20.1.14ache-jmeter-4.0/bin/jmeter
Jul 23, 2018 10:14:12 AM java.util.prefs.FileSystemPreferences$1 run
INFO: Created user preferences directory.
Creating summariser <summary>
Created the tree successfully using /root/checkNginx.jmx
Configuring remote engine: 172.20.0.16
Exception creating connection to: 172.20.0.16; nested exception is:
java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)
Failed to configure 172.20.0.16
Configuring remote engine: 172.20.1.14
Exception creating connection to: 172.20.1.14; nested exception is:
java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)
Failed to configure 172.20.1.14
Stopping remote engines
Remote engines have been stopped
Error in NonGUIDriver java.lang.RuntimeException: Following remote engines could not be configured:[172.20.0.16, 172.20.1.14]
172.20.0.16,172.20.1.14 is slave jmeter pod ip
i foud that jmeter-server should start with parameter -Djava.rmi.server.hostname=$(MY_POD_IP)
.
modify Dockerfile-slave
,remove
ENTRYPOINT $JMETER_HOME/bin/jmeter-server \
-Dserver.rmi.localport=50000 \
-Dserver_port=1099
and modify jmeter_slave_develop.yaml
,add
apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: jmeter-slaves
labels:
jmeter_mode: slave
spec:
replicas: 2
selector:
matchLabels:
jmeter_mode: slave
template:
metadata:
labels:
jmeter_mode: slave
spec:
containers:
- name: jmslave
image: sirfengyu/jmeter-slave
command: ["/jmeter/apache-jmeter-3.3/bin/jmeter-server"]
args: ["-Djava.rmi.server.hostname=$(MY_POD_IP)", "-Dserver.rmi.localport=50000", "-Dserver_port=1099"]
ports:
- containerPort: 1099
- containerPort: 50000
env:
- name: MY_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
whether it works or not needs to be testsd.
Just my 2 cent, I was able to solve this issue by troubleshooting my Minikube CoreDNS deployment. It seem that CoreDNS was down so that why the test didn't work.
minikube version: v1.1.1
@orenzp is right... We don't use the POD IP directly rather we use the service name.. If you have issues with your kubernetes DNS then you will experience some difficulty.. You should always ensure that your DNS is working optimally..
no issue :-)
I am using K3S and has the same error about
# ./start_test.sh
Enter path to the jmx file cloudssky.jmx
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/jmeter/apache-jmeter-5.0/lib/log4j-slf4j-impl-2.11.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/jmeter/apache-jmeter-5.0/lib/ext/pepper-box-1.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Error: Missing argument to option -R
Usage
Hi,
I have been stepping through the great article you guys provided at medium but when I get to the stage when I run the sample load test:
I get the following back:
This happens even when running the command directly and from within the pod:
The only change I had to make was the version in the deployment yamls from
apiVersion: apps/v1beta2
toapiVersion: apps/v1beta1
because I am running on an older version of k8.(This is all on a minikube environment)
Can anyone help me out?