2019-12-04 15:22:57 +00:00
|
|
|
# Network Checker Application
|
2016-09-30 15:23:47 +00:00
|
|
|
|
2017-06-16 17:25:46 +00:00
|
|
|
With the ``deploy_netchecker`` var enabled (defaults to false), Kubespray deploys a
|
2021-10-19 17:17:04 +00:00
|
|
|
Network Checker Application from the 3rd side `mirantis/k8s-netchecker` docker
|
2016-09-30 15:23:47 +00:00
|
|
|
images. It consists of the server and agents trying to reach the server by usual
|
|
|
|
for Kubernetes applications network connectivity meanings. Therefore, this
|
2018-10-30 12:07:52 +00:00
|
|
|
automatically verifies a pod to pod connectivity via the cluster IP and checks
|
2016-09-30 15:23:47 +00:00
|
|
|
if DNS resolve is functioning as well.
|
|
|
|
|
|
|
|
The checks are run by agents on a periodic basis and cover standard and host network
|
|
|
|
pods as well. The history of performed checks may be found in the agents' application
|
|
|
|
logs.
|
|
|
|
|
|
|
|
To get the most recent and cluster-wide network connectivity report, run from
|
|
|
|
any of the cluster nodes:
|
2019-12-04 15:22:57 +00:00
|
|
|
|
|
|
|
```ShellSession
|
2016-09-30 15:23:47 +00:00
|
|
|
curl http://localhost:31081/api/v1/connectivity_check
|
|
|
|
```
|
2019-12-04 15:22:57 +00:00
|
|
|
|
2017-06-16 17:25:46 +00:00
|
|
|
Note that Kubespray does not invoke the check but only deploys the application, if
|
2016-09-30 15:23:47 +00:00
|
|
|
requested.
|
|
|
|
|
2018-10-30 12:07:52 +00:00
|
|
|
There are related application specific variables:
|
2019-12-04 15:22:57 +00:00
|
|
|
|
|
|
|
```yml
|
2016-09-30 15:23:47 +00:00
|
|
|
netchecker_port: 31081
|
|
|
|
agent_report_interval: 15
|
|
|
|
netcheck_namespace: default
|
|
|
|
```
|
|
|
|
|
|
|
|
Note that the application verifies DNS resolve for FQDNs comprising only the
|
|
|
|
combination of the ``netcheck_namespace.dns_domain`` vars, for example the
|
2018-05-12 13:04:51 +00:00
|
|
|
``netchecker-service.default.svc.cluster.local``. If you want to deploy the application
|
2016-09-30 15:23:47 +00:00
|
|
|
to the non default namespace, make sure as well to adjust the ``searchdomains`` var
|
|
|
|
so the resulting search domain records to contain that namespace, like:
|
|
|
|
|
2019-12-04 15:22:57 +00:00
|
|
|
```yml
|
2016-09-30 15:23:47 +00:00
|
|
|
search: foospace.cluster.local default.cluster.local ...
|
|
|
|
nameserver: ...
|
|
|
|
```
|