node

package
v0.0.0-...-8d377ce Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 29, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	RootUid = 0
	TimeUid = 100
)

These are UID/GID constants for components inside the Metropolis node code.

View Source
const (
	// ProtocolClusternet is used by //metropolis/node/core/clusternet when
	// creating/removing routes pointing to the clusternet interface.
	ProtocolClusternet netlink.RouteProtocol = 129
)

These are netlink protocol numbers used internally for various netlink resource (e.g. route) owners/manager.

Variables

View Source
var (
	// Used by //metropolis/node/kubernetes as the DNS server IP for containers.
	// Link-local IP space, 77 for ASCII M(onogon), 53 for DNS port.
	ContainerDNSIP = net.IPv4(169, 254, 77, 53)
)

These are IP addresses used by various parts of Metropolis.

Functions

This section is empty.

Types

type Port

type Port uint16

Port is a TCP and/or UDP port number reserved for and used by Metropolis node code.

const (
	// CuratorServicePort is the TCP port on which the Curator listens for gRPC
	// calls and services Management/AAA/Curator RPCs.
	CuratorServicePort Port = 7835
	// ConsensusPort is the TCP port on which etcd listens for peer traffic.
	ConsensusPort Port = 7834
	// DebugServicePort is the TCP port on which the debug service serves gRPC
	// traffic. This is only available in debug builds.
	DebugServicePort Port = 7837
	// WireGuardPort is the UDP port on which the Wireguard Kubernetes network
	// overlay listens for incoming peer traffic.
	WireGuardPort Port = 7838
	// NodeManagement is the TCP port on which the node-local management service
	// serves gRPC traffic for NodeManagement.
	NodeManagement Port = 7839
	// MetricsPort is the TCP port on which the Metrics Service exports
	// Prometheus-compatible metrics for this node, secured using TLS and the
	// Cluster/Node certificates.
	MetricsPort Port = 7840
	// MetricsNodeListenerPort is the TCP port on which the Prometheus node_exporter
	// runs, bound to 127.0.0.1. The Metrics Service proxies traffic to it from the
	// public MetricsPort.
	MetricsNodeListenerPort Port = 7841
	// MetricsEtcdListenerPort is the TCP port on which the etcd exporter
	// runs, bound to 127.0.0.1. The metrics service proxies traffic to it from the
	// public MetricsPort.
	MetricsEtcdListenerPort Port = 7842
	// MetricsKubeSchedulerListenerPort is the TCP port on which the proxy for
	// the kube-scheduler runs, bound to 127.0.0.1. The metrics service proxies
	// traffic to it from the public MetricsPort.
	MetricsKubeSchedulerListenerPort Port = 7843
	// MetricsKubeControllerManagerListenerPort is the TCP port on which the
	// proxy for the controller-manager runs, bound to 127.0.0.1. The metrics
	// service proxies traffic to it from the public MetricsPort.
	MetricsKubeControllerManagerListenerPort Port = 7844
	// MetricsKubeAPIServerListenerPort is the TCP port on which the
	// proxy for the api-server runs, bound to 127.0.0.1. The metrics
	// service proxies traffic to it from the public MetricsPort.
	MetricsKubeAPIServerListenerPort Port = 7845
	// KubernetesAPIPort is the TCP port on which the Kubernetes API is
	// exposed.
	KubernetesAPIPort Port = 6443
	// KubernetesAPIWrappedPort is the TCP port on which the Metropolis
	// authenticating proxy for the Kubernetes API is exposed.
	KubernetesAPIWrappedPort Port = 6444
	// KubernetesWorkerLocalAPIPort is the TCP port on which Kubernetes worker nodes
	// run a loadbalancer to access the cluster's API servers before cluster
	// networking is available. This port is only bound to 127.0.0.1.
	KubernetesWorkerLocalAPIPort Port = 6445
	// DebuggerPort is the port on which the delve debugger runs (on debug
	// builds only). Not to be confused with DebugServicePort.
	DebuggerPort Port = 2345
)

func (Port) PortString

func (p Port) PortString() string

func (Port) String

func (p Port) String() string

Directories

Path Synopsis
build
fwprune
fwprune is a buildsystem utility that filters linux-firmware repository contents to include only files required by the built-in kernel modules, that are specified in modules.builtin.modinfo.
fwprune is a buildsystem utility that filters linux-firmware repository contents to include only files required by the built-in kernel modules, that are specified in modules.builtin.modinfo.
genosrelease
genosrelease provides rudimentary support to generate os-release files following the freedesktop spec from arguments and stamping
genosrelease provides rudimentary support to generate os-release files following the freedesktop spec from arguments and stamping
mkerofs
mkerofs takes a specification in the form of a prototext file (see fsspec next to this) and assembles an EROFS filesystem according to it.
mkerofs takes a specification in the form of a prototext file (see fsspec next to this) and assembles an EROFS filesystem according to it.
mkimage
mkimage is a tool to generate Metropolis node disk images.
mkimage is a tool to generate Metropolis node disk images.
mkimage/osimage
This package provides self-contained implementation used to generate Metropolis disk images.
This package provides self-contained implementation used to generate Metropolis disk images.
mkpayload
mkpayload is an objcopy wrapper that builds EFI unified kernel images.
mkpayload is an objcopy wrapper that builds EFI unified kernel images.
mkucode
This assembles standalone microcode files into the format expected by the Linux microcode loader.
This assembles standalone microcode files into the format expected by the Linux microcode loader.
mkverity
This package implements a command line tool that creates dm-verity hash images at a selected path, given an existing data image.
This package implements a command line tool that creates dm-verity hash images at a selected path, given an existing data image.
This uses the unstable overrideWrite interface to also emit all runtime writes to a dedicated runtime file descriptor to catch and debug crash dumps.
This uses the unstable overrideWrite interface to also emit all runtime writes to a dedicated runtime file descriptor to catch and debug crash dumps.
cluster
Package cluster implements low-level clustering logic, especially logic regarding to bootstrapping, registering into and joining a cluster.
Package cluster implements low-level clustering logic, especially logic regarding to bootstrapping, registering into and joining a cluster.
clusternet
Package clusternet implements a Cluster Networking mesh service running on all Metropolis nodes.
Package clusternet implements a Cluster Networking mesh service running on all Metropolis nodes.
consensus/client
package client implements a higher-level client for consensus/etcd that is to be used within the Metropolis node code for unprivileged access (ie.
package client implements a higher-level client for consensus/etcd that is to be used within the Metropolis node code for unprivileged access (ie.
curator
package curator implements the Curator, a service responsible for management of the Metropolis cluster that it is running on.
package curator implements the Curator, a service responsible for management of the Metropolis cluster that it is running on.
devmgr
Package devmgr is the userspace pendant to the kernel device management system.
Package devmgr is the userspace pendant to the kernel device management system.
metrics/fake_exporter
fake_exporter is a tiny Prometheus-compatible metrics exporter which exports a single metric with a value configured at startup.
fake_exporter is a tiny Prometheus-compatible metrics exporter which exports a single metric with a value configured at startup.
mgmt
Package mgmt implements the node-local management service, a.k.a.
Package mgmt implements the node-local management service, a.k.a.
network/dhcp4c
Package dhcp4c implements a DHCPv4 Client as specified in RFC2131 (with some notable deviations).
Package dhcp4c implements a DHCPv4 Client as specified in RFC2131 (with some notable deviations).
network/dhcp4c/callback
Package callback contains minimal callbacks for configuring the kernel with options received over DHCP.
Package callback contains minimal callbacks for configuring the kernel with options received over DHCP.
network/dhcp4c/transport
Package transport contains Linux-based transports for the DHCP broadcast and unicast specifications.
Package transport contains Linux-based transports for the DHCP broadcast and unicast specifications.
network/dns
Package DNS provides a DNS server using CoreDNS.
Package DNS provides a DNS server using CoreDNS.
network/hostsfile
Package hostsfile implements a service which owns and writes all node-local files/interfaces used by the system to resolve the local node's name and the names of other nodes in the cluster:
Package hostsfile implements a service which owns and writes all node-local files/interfaces used by the system to resolve the local node's name and the names of other nodes in the cluster:
roleserve
Package roleserve implements the roleserver/“Role Server”.
Package roleserve implements the roleserver/“Role Server”.
rpc
time
Package time implements a supervisor runnable which is responsible for keeping both the system clock and the RTC accurate.
Package time implements a supervisor runnable which is responsible for keeping both the system clock and the RTC accurate.
authproxy
Package authproxy implements an authenticating proxy in front of the K8s API server converting Metropolis credentials into authentication headers.
Package authproxy implements an authenticating proxy in front of the K8s API server converting Metropolis credentials into authentication headers.
clusternet
Package clusternet implements a WireGuard-based overlay network for Kubernetes.
Package clusternet implements a WireGuard-based overlay network for Kubernetes.
metricsproxy
Package metricsproxy implements an authenticating proxy in front of the K8s controller-manager and scheduler providing unauthenticated access to the metrics via local ports
Package metricsproxy implements an authenticating proxy in front of the K8s controller-manager and scheduler providing unauthenticated access to the metrics via local ports
nfproxy
Package nfproxy is a Kubernetes Service IP proxy based exclusively on the Linux nftables interface.
Package nfproxy is a Kubernetes Service IP proxy based exclusively on the Linux nftables interface.
pki
package pki builds upon metropolis/pkg/pki/ to provide an etcd-backed implementation of all x509 PKI Certificates/CAs required to run Kubernetes.
package pki builds upon metropolis/pkg/pki/ to provide an etcd-backed implementation of all x509 PKI Certificates/CAs required to run Kubernetes.
plugins/kvmdevice
Package kvmdevice implements a Kubernetes device plugin for the virtual KVM device.
Package kvmdevice implements a Kubernetes device plugin for the virtual KVM device.
reconciler
The reconciler ensures that a base set of K8s resources is always available in the cluster.
The reconciler ensures that a base set of K8s resources is always available in the cluster.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL