I want to create a cluster whose nodes are connected via HTTP(not HTTPS). Is it possible to create the cluster with kubeadm? I didn't see any command can do it in the document of kubeadm. If it is impossible, can I change a cluster over HTTPS to one over HTTP?
Currently as best practices is to make your cluster secure as much as possible and kubernetes provides many ways to do it.
However if you will have isolated environment you can try to set flags --insecure-port
to set port which will be insecure bounded and --insecure-bind-address
which will set an address to insecure port. Details about them can be found here.
For example insecure-bind-address: "0.0.0.0" insecure-port: "8080"
should allow access to the unauthenticated api endpoint running on port 8080.
You can also check if vulnerability scenarios which are based on Kind contains something interesting for your testing.