Skip to content
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

Document reserved ports #21520

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions docs/ports.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
OpenShift Reserved Ports
========================

OpenShift reserves all ports on hosts that are reserved by [upstream Kubernetes](https://github.com/kubernetes/kubernetes/blob/master/pkg/master/ports/ports.go) as well as the following host ports:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we pin this to a specific release? Kubernetes might decide to move that file, or they might decide to add or remove entries. Our implementation will match the state as it stood the last time we looked at that file. With a pinned link, it would be up to the reader to decide whether that still matched whatever was in Kubernetes current master or not (which they could probably do with git diff ...).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hrm. I'm wondering if we should have an e2e test that enforces this on the cluster (looks at all host network pods or host ports on the cluster and compares it). Then we don't need this doc.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@squeed also mentioned having a conformance test for reserved ports.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I hacked up a conformance test yesterday (after giving up writing a SOCK_DIAG client and just shelling out to netstat, lol). However, it's not clear where it belongs, since it tests manifests that are supplied by descendant operators.

If it's useful, I can add it to openshift/origin.


| 2379,2380 | masters | [etcd](https://github.com/openshift/installer) | etcd API |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Add a space after the comma here to match your "Node Exporter" line below?

Also, do you mean to link the installer for "etcd"? I'd have expected a link to https://github.com/etcd-io/etcd#etcd-tcp-ports

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, although the installer / mcd controls where that goes. So I was linking to the relevant authority within our space.

| 6443 | masters |[kube-apiserver](https://github.com/openshift/cluster-kube-apiserver-operator) | Kubernetes API |
| 9099 | masters | [Cluster Version Operator](https://github.com/openshift/cluster-version-operator) | Metrics |
| 9100, 9101 | nodes | [Node Exporter](https://github.com/openshift/node_exporter) | Metrics |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does "nodes" mean "workers" (a.k.a. "compute", etc.), or does it mean "all machines in the cluster, regardless of role"?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All machines in the cluster. This could be more formal (as the mentioned e2e test)

| 10256 | nodes | [openshift-sdn](https://github.com/openshift/origin) | Metrics |

By default, within an OpenShift cluster the port range 9000-9999 is accessible from all nodes in the cluster
for use by metrics scraping and other host level services. That is managed by the cloud security groups.