To set a new cluster, we use the command kubectl config set-cluster <CLUSTER_NAME>. The additional flag --server is required to indicate the accessing cluster. Other flags work to define the security level, such as the --insecure-skip-tls-verify flag, which bypasses checking the server's certificate. If you are setting up a trusted server with HTTPS, you will need to use --certificate-authority=$PATH_OF_CERT --embed-certs=true instead. For more information, fire the command with the -h flag for more information. In the following commands, we set up two cluster configurations in our localhost environment:
// in localhost cluster, create a cluster information pointing to itself
$ kubectl config set-cluster local-cluster --insecure-skip-tls-verify=true --server=http://localhost:8080
Cluster "local-cluster" set.
// another cluster information is about the remote one
$ kubectl config set-cluster remote-cluster --insecure-skip-tls-verify=true --server=http://$REMOTE_MASTER_NODE:8080
Cluster "remote-cluster" set.
// check kubeconfig in localhost cluster, in this example, the remote master node has the hostname "node01"
$ kubectl config view
apiVersion: v1
clusters:
...
- cluster:
insecure-skip-tls-verify: true
server: http://localhost:8080
name: local-cluster
- cluster:
insecure-skip-tls-verify: true
server: http://node01:8080
name: remote-cluster
...
We do not associate anything with users and clusters yet. We will link them via context in the next section.