-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pre Checks that the port required for MetalK8s deployment or expansion are not in use #3092
Comments
We should check for them to be available, but does it make sense to document sockets bound to |
To me, we want the full list of ports used so that users can make sure prior to installation that all these ports are free |
But maybe we'll want something else in the documentation (probably some sort of graph) to represent various communications between nodes for firewalls configurations |
Agree, never mind my previous comment then 😄 |
Add a simple salt function that use `psutil` to list all listening processes on every ports Sees: #3092
Add a module that use `metalk8s_network.get_listening_processes` to check listening connection on the local node and check that running process match what is expected by MetalK8s Sees: #3092
Add a check in CI to make sure the listening processes list we check in MetalK8s is exhaustif with everything running on the platform. NOTE: This check is supposed to run on specific environment that only have a small list of listening processes other than MetalK8s ones Sees: #3092
Add a module that use `metalk8s_network.get_listening_processes` to check listening connection on the local node and check that running process match what is expected by MetalK8s Sees: #3092
Add a check in CI to make sure the listening processes list we check in MetalK8s is exhaustif with everything running on the platform. NOTE: This check is supposed to run on specific environment that only have a small list of listening processes other than MetalK8s ones Sees: #3092
Add a simple salt function that use `psutil` to list all listening processes on every ports Sees: #3092
Add a module that use `metalk8s_network.get_listening_processes` to check listening connection on the local node and check that running process match what is expected by MetalK8s Sees: #3092
Add a check in CI to make sure the listening processes list we check in MetalK8s is exhaustif with everything running on the platform. NOTE: This check is supposed to run on specific environment that only have a small list of listening processes other than MetalK8s ones Sees: #3092
Add a check in CI to make sure the listening processes list we check in MetalK8s is exhaustif with everything running on the platform. NOTE: This check is supposed to run on specific environment that only have a small list of listening processes other than MetalK8s ones Sees: #3092
Check for all MetalK8s listening processes in `metalk8s_checks.ports` function Fixes: #3092
Add a simple salt function that use `psutil` to list all listening processes on every ports Sees: #3092
Add a module that use `metalk8s_network.get_listening_processes` to check listening connection on the local node and check that running process match what is expected by MetalK8s Sees: #3092
Add a check in CI to make sure the listening processes list we check in MetalK8s is exhaustif with everything running on the platform. NOTE: This check is supposed to run on specific environment that only have a small list of listening processes other than MetalK8s ones Sees: #3092
Check for all MetalK8s listening processes in `metalk8s_checks.ports` function Fixes: #3092
Add a module that use `metalk8s_network.get_listening_processes` to check listening connection on the local node and check that running process match what is expected by MetalK8s Sees: #3092
Add a check in CI to make sure the listening processes list we check in MetalK8s is exhaustif with everything running on the platform. NOTE: This check is supposed to run on specific environment that only have a small list of listening processes other than MetalK8s ones Sees: #3092
Check for all MetalK8s listening processes in `metalk8s_checks.ports` function Fixes: #3092
Add a module that use `metalk8s_network.get_listening_processes` to check listening connection on the local node and check that running process match what is expected by MetalK8s Sees: #3092
Add a check in CI to make sure the listening processes list we check in MetalK8s is exhaustif with everything running on the platform. NOTE: This check is supposed to run on specific environment that only have a small list of listening processes other than MetalK8s ones Sees: #3092
Add a check in CI to make sure the listening processes list we check in MetalK8s is exhaustif with everything running on the platform. NOTE: This check is supposed to run on specific environment that only have a small list of listening processes other than MetalK8s ones Sees: #3092
Check for all MetalK8s listening processes in `metalk8s_checks.ports` function Fixes: #3092
Add a module that use `metalk8s_network.get_listening_processes` to check listening connection on the local node and check that running process match what is expected by MetalK8s Sees: #3092
Add a check in CI to make sure the listening processes list we check in MetalK8s is exhaustif with everything running on the platform. NOTE: This check is supposed to run on specific environment that only have a small list of listening processes other than MetalK8s ones Sees: #3092
Check for all MetalK8s listening processes in `metalk8s_checks.ports` function Fixes: #3092
Add a module that use `metalk8s_network.get_listening_processes` to check listening connection on the local node and check that running process match what is expected by MetalK8s Sees: #3092
Add a check in CI to make sure the listening processes list we check in MetalK8s is exhaustif with everything running on the platform. NOTE: This check is supposed to run on specific environment that only have a small list of listening processes other than MetalK8s ones Sees: #3092
Check for all MetalK8s listening processes in `metalk8s_checks.ports` function Fixes: #3092
Add a simple salt function that use `psutil` to list all listening processes on every ports Sees: #3092
Add a module that use `metalk8s_network.get_listening_processes` to check listening connection on the local node and check that running process match what is expected by MetalK8s Sees: #3092
Add a check in CI to make sure the listening processes list we check in MetalK8s is exhaustif with everything running on the platform. NOTE: This check is supposed to run on specific environment that only have a small list of listening processes other than MetalK8s ones Sees: #3092
Check for all MetalK8s listening processes in `metalk8s_checks.ports` function Fixes: #3092
Add a simple salt function that use `psutil` to list all listening processes on every ports Sees: #3092
Add a module that use `metalk8s_network.get_listening_processes` to check listening connection on the local node and check that running process match what is expected by MetalK8s Sees: #3092
Add a check in CI to make sure the listening processes list we check in MetalK8s is exhaustif with everything running on the platform. NOTE: This check is supposed to run on specific environment that only have a small list of listening processes other than MetalK8s ones Sees: #3092
Check for all MetalK8s listening processes in `metalk8s_checks.ports` function Fixes: #3092
Add a module that use `metalk8s_network.get_listening_processes` to check listening connection on the local node and check that running process match what is expected by MetalK8s Sees: #3092
Add a check in CI to make sure the listening processes list we check in MetalK8s is exhaustif with everything running on the platform. NOTE: This check is supposed to run on specific environment that only have a small list of listening processes other than MetalK8s ones Sees: #3092
Check for all MetalK8s listening processes in `metalk8s_checks.ports` function Fixes: #3092
Add a simple salt function that use `psutil` to list all listening processes on every ports Sees: #3092
Add a module that use `metalk8s_network.get_listening_processes` to check listening connection on the local node and check that running process match what is expected by MetalK8s Sees: #3092
Add a check in CI to make sure the listening processes list we check in MetalK8s is exhaustif with everything running on the platform. NOTE: This check is supposed to run on specific environment that only have a small list of listening processes other than MetalK8s ones Sees: #3092
Check for all MetalK8s listening processes in `metalk8s_checks.ports` function Fixes: #3092
Add a simple salt function that use `psutil` to list all listening processes on every ports Sees: #3092
Add a module that use `metalk8s_network.get_listening_processes` to check listening connection on the local node and check that running process match what is expected by MetalK8s Sees: #3092
Add a check in CI to make sure the listening processes list we check in MetalK8s is exhaustif with everything running on the platform. NOTE: This check is supposed to run on specific environment that only have a small list of listening processes other than MetalK8s ones Sees: #3092
Component:
'install', 'expansion'
Why this is needed:
When deploying MetalK8s or expanding the cluster, we are assuming that all MetalK8s services will be able to listen on a pre-defined port number. Since we are not in control of how the OS is deployed and configured, some services mail fail to start because the port is already in use.
What should be done:
When installing the bootstrap node or when adding a new node to the cluster we should first check the following ports are not already used.
Bootstrap node ports:
Master nodes ports:
Etcd nodes ports:
All nodes:
This list should be exhaustive. As part of this ticket, a simple test should be implemented to make sure this list of port is exhaustive (basically checking all listening ports on a MetalK8s node)
This should be in line with the list of ports we need to document: #264
Implementation proposal (strongly recommended):
Test plan:
The text was updated successfully, but these errors were encountered: