Documentation ¶
Overview ¶
GetWindowsNodes returns Windows nodes, optionally filtering the list of nodes with the given filter functions.
Index ¶
- Constants
- Variables
- func GetExpectedTyphaScale(nodes int) int
- func GetNodeVariantAndVersion(n *corev1.Node) (bool, operatorv1.ProductVariant, string)
- func MapExistsOrInitialize(m map[string]string) map[string]string
- func MergeMaps(current, desired map[string]string) map[string]string
- func OperatorNamespace() string
- func OperatorServiceAccount() string
- type VersionInfo
Constants ¶
const ( CalicoNamespace = "calico-system" TyphaDeploymentName = "calico-typha" NodeDaemonSetName = "calico-node" KubeControllersDeploymentName = "calico-kube-controllers" // Monitor + Prometheus related const TigeraPrometheusNamespace = "tigera-prometheus" // ComplianceFeature name ComplianceFeature = "compliance-reports" // ThreatDefenseFeature feature name ThreatDefenseFeature = "threat-defense" // ExportLogsFeature to 3rd party systems feature name ExportLogsFeature = "export-logs" // TiersFeature enables creation/update of Tiers TiersFeature = "tiers" // EgressAccessControl enables creation/update of NetworkPolicy with Domains EgressAccessControlFeature = "egress-access-control" )
const ( CalicoWindowsUpgradeResourceName = "calico-windows-upgrade" CalicoWindowsUpgradeVolumePath = `c:\CalicoUpgrade` CalicoWindowsUpgradeLabel = "projectcalico.org/windows-upgrade" CalicoWindowsUpgradeLabelInProgress = "in-progress" CalicoVersionAnnotation = "projectcalico.org/version" CalicoVariantAnnotation = "projectcalico.org/variant" CalicoWindowsUpgradeTaintKey = "projectcalico.org/windows-upgrade" )
Variables ¶
var ( // This taint is applied to nodes upgrading Calico Windows. CalicoWindowsUpgradingTaint = &corev1.Taint{ Key: CalicoWindowsUpgradeTaintKey, Effect: corev1.TaintEffectNoSchedule, } )
Functions ¶
func GetExpectedTyphaScale ¶ added in v1.15.1
GetExpectedTyphaScale will return the number of Typhas needed for the number of nodes.
Nodes Replicas
1-2 1 3-4 2 <200 3 >400 4 >600 5 >800 6 >1000 7 ... >2000 12 ... >3600 20
func GetNodeVariantAndVersion ¶ added in v1.23.0
func GetNodeVariantAndVersion(n *corev1.Node) (bool, operatorv1.ProductVariant, string)
GetNodeVariantAndVersion gets the node's variant and version annotation values and returns whether both annotations exist.
func MapExistsOrInitialize ¶ added in v1.27.17
MapExistsOrInitialize returns the given map if non-nil or returns an empty map.
func MergeMaps ¶ added in v1.27.17
MergeMaps merges current and desired maps. If both current and desired maps contain the same key, the desired map's value is used.
func OperatorNamespace ¶ added in v1.23.0
func OperatorNamespace() string
OperatorNamespace returns the namespace the operator is running in. The value returned is based on the following priority (these are evaluated at startup):
If the OPERATOR_NAMESPACE environment variable is non-empty then that is return. If the file /var/run/secrets/kubernetes.io/serviceaccount/namespace is non-empty then the contents is returned. The default "tigera-operator" is returned.
func OperatorServiceAccount ¶ added in v1.24.2
func OperatorServiceAccount() string
OperatorServiceAccount returns the ServiceAccount name the operator is running in. The value returned is based on the following priority (these are evaluated at startup):
If the OPERATOR_SERVICEACCOUNT environment variable is non-empty then that is return. If the file /var/run/secrets/kubernetes.io/serviceaccount/namespace is non-empty then the contents is returned. The default "tigera-operator" is returned.
Types ¶
type VersionInfo ¶ added in v1.18.0
VersionInfo contains information about the version of Kubernetes API the cluster is using Major and Minor fields map to the v<Major>.<Minor>+ part of the version string
func GetKubernetesVersion ¶ added in v1.18.0
func GetKubernetesVersion(clientset kubernetes.Interface) (*VersionInfo, error)
func (*VersionInfo) ProvidesCertV1API ¶ added in v1.18.0
func (v *VersionInfo) ProvidesCertV1API() bool
ProvidesCertV1API returns if k8s.io/api/certificates/v1 is supported given the current k8s version