CiliumNode
cilium.io / v2
apiVersion: cilium.io/v2
kind: CiliumNode
metadata:
name: example
apiVersion
string
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
object required
spec object required
Spec defines the desired specification/configuration of the node.
addresses []object
Addresses is the list of all node addresses.
ip
string
IP is an IP of a node
type
string
Type is the type of the node address
alibaba-cloud object
AlibabaCloud is the AlibabaCloud IPAM specific configuration.
availability-zone
string
AvailabilityZone is the availability zone to use when allocating
ENIs.
cidr-block
string
CIDRBlock is vpc ipv4 CIDR
instance-type
string
InstanceType is the ECS instance type, e.g. "ecs.g6.2xlarge"
security-group-tags
object
SecurityGroupTags is the list of tags to use when evaluating which
security groups to use for the ENI.
security-groups
[]string
SecurityGroups is the list of security groups to attach to any ENI
that is created and attached to the instance.
vpc-id
string
VPCID is the VPC ID to use when allocating ENIs.
vswitch-tags
object
VSwitchTags is the list of tags to use when evaluating which
vSwitch to use for the ENI.
vswitches
[]string
VSwitches is the ID of vSwitch available for ENI
azure object
Azure is the Azure IPAM specific configuration.
interface-name
string
InterfaceName is the name of the interface the cilium-operator
will use to allocate all the IPs on
bootid
string
BootID is a unique node identifier generated on boot
encryption object
Encryption is the encryption configuration of the node.
key
integer
Key is the index to the key to use for encryption or 0 if encryption is
disabled.
eni object
ENI is the AWS ENI specific configuration.
availability-zone
string
AvailabilityZone is the availability zone to use when allocating
ENIs.
delete-on-termination
boolean
DeleteOnTermination defines that the ENI should be deleted when the
associated instance is terminated. If the parameter is not set the
default behavior is to delete the ENI on instance termination.
disable-prefix-delegation
boolean
DisablePrefixDelegation determines whether ENI prefix delegation should be
disabled on this node.
exclude-interface-tags
object
ExcludeInterfaceTags is the list of tags to use when excluding ENIs for
Cilium IP allocation. Any interface matching this set of tags will not
be managed by Cilium.
first-interface-index
integer
FirstInterfaceIndex is the index of the first ENI to use for IP
allocation, e.g. if the node has eth0, eth1, eth2 and
FirstInterfaceIndex is set to 1, then only eth1 and eth2 will be
used for IP allocation, eth0 will be ignored for PodIP allocation.
minimum:
0
instance-id
string
InstanceID is the AWS InstanceId of the node. The InstanceID is used
to retrieve AWS metadata for the node.
OBSOLETE: This field is obsolete, please use Spec.InstanceID
instance-type
string
InstanceType is the AWS EC2 instance type, e.g. "m5.large"
max-above-watermark
integer
MaxAboveWatermark is the maximum number of addresses to allocate
beyond the addresses needed to reach the PreAllocate watermark.
Going above the watermark can help reduce the number of API calls to
allocate IPs, e.g. when a new ENI is allocated, as many secondary
IPs as possible are allocated. Limiting the amount can help reduce
waste of IPs.
OBSOLETE: This field is obsolete, please use Spec.IPAM.MaxAboveWatermark
minimum:
0
min-allocate
integer
MinAllocate is the minimum number of IPs that must be allocated when
the node is first bootstrapped. It defines the minimum base socket
of addresses that must be available. After reaching this watermark,
the PreAllocate and MaxAboveWatermark logic takes over to continue
allocating IPs.
OBSOLETE: This field is obsolete, please use Spec.IPAM.MinAllocate
minimum:
0
node-subnet-id
string
NodeSubnetID is the subnet of the primary ENI the instance was brought up
with. It is used as a sensible default subnet to create ENIs in.
pre-allocate
integer
PreAllocate defines the number of IP addresses that must be
available for allocation in the IPAMspec. It defines the buffer of
addresses available immediately without requiring cilium-operator to
get involved.
OBSOLETE: This field is obsolete, please use Spec.IPAM.PreAllocate
minimum:
0
security-group-tags
object
SecurityGroupTags is the list of tags to use when evaliating what
AWS security groups to use for the ENI.
security-groups
[]string
SecurityGroups is the list of security groups to attach to any ENI
that is created and attached to the instance.
subnet-ids
[]string
SubnetIDs is the list of subnet ids to use when evaluating what AWS
subnets to use for ENI and IP allocation.
subnet-tags
object
SubnetTags is the list of tags to use when evaluating what AWS
subnets to use for ENI and IP allocation.
use-primary-address
boolean
UsePrimaryAddress determines whether an ENI's primary address
should be available for allocations on the node
vpc-id
string
VpcID is the VPC ID to use when allocating ENIs.
health object
HealthAddressing is the addressing information for health connectivity
checking.
ipv4
string
IPv4 is the IPv4 address of the IPv4 health endpoint.
ipv6
string
IPv6 is the IPv6 address of the IPv4 health endpoint.
ingress object
IngressAddressing is the addressing information for Ingress listener.
ipv4
string
ipv6
string
instance-id
string
InstanceID is the identifier of the node. This is different from the
node name which is typically the FQDN of the node. The InstanceID
typically refers to the identifier used by the cloud provider or
some other means of identification.
ipam object
IPAM is the address management specification. This section can be
populated by a user or it can be automatically populated by an IPAM
operator.
ipv6-pool
object
IPv6Pool is the list of IPv6 addresses available to the node for allocation.
When an IPv6 address is used, it will remain on this list but will be added to
Status.IPAM.IPv6Used
max-above-watermark
integer
MaxAboveWatermark is the maximum number of addresses to allocate
beyond the addresses needed to reach the PreAllocate watermark.
Going above the watermark can help reduce the number of API calls to
allocate IPs, e.g. when a new ENI is allocated, as many secondary
IPs as possible are allocated. Limiting the amount can help reduce
waste of IPs.
minimum:
0
max-allocate
integer
MaxAllocate is the maximum number of IPs that can be allocated to the
node. When the current amount of allocated IPs will approach this value,
the considered value for PreAllocate will decrease down to 0 in order to
not attempt to allocate more addresses than defined.
minimum:
0
min-allocate
integer
MinAllocate is the minimum number of IPs that must be allocated when
the node is first bootstrapped. It defines the minimum base socket
of addresses that must be available. After reaching this watermark,
the PreAllocate and MaxAboveWatermark logic takes over to continue
allocating IPs.
minimum:
0
podCIDRs
[]string
PodCIDRs is the list of CIDRs available to the node for allocation.
When an IP is used, the IP will be added to Status.IPAM.Used
pool
object
Pool is the list of IPv4 addresses available to the node for allocation.
When an IPv4 address is used, it will remain on this list but will be added to
Status.IPAM.Used
pools object
Pools contains the list of assigned IPAM pools for this node.
allocated []object
Allocated contains the list of pooled CIDR assigned to this node. The
operator will add new pod CIDRs to this field, whereas the agent will
remove CIDRs it has released.
cidrs
[]string
CIDRs contains a list of pod CIDRs currently allocated from this pool
pool
string required
Pool is the name of the IPAM pool backing this allocation
minLength:
1requested []object
Requested contains a list of IPAM pool requests, i.e. indicates how many
addresses this node requests out of each pool listed here. This field
is owned and written to by cilium-agent and read by the operator.
needed object
Needed indicates how many IPs out of the above Pool this node requests
from the operator. The operator runs a reconciliation loop to ensure each
node always has enough PodCIDRs allocated in each pool to fulfill the
requested number of IPs here.
ipv4-addrs
integer
IPv4Addrs contains the number of requested IPv4 addresses out of a given
pool
ipv6-addrs
integer
IPv6Addrs contains the number of requested IPv6 addresses out of a given
pool
pool
string required
Pool is the name of the IPAM pool backing this request
minLength:
1
pre-allocate
integer
PreAllocate defines the number of IP addresses that must be
available for allocation in the IPAMspec. It defines the buffer of
addresses available immediately without requiring cilium-operator to
get involved.
minimum:
0
static-ip-tags
object
StaticIPTags are used to determine the pool of IPs from which to
attribute a static IP to the node. For example in AWS this is used to
filter Elastic IP Addresses.
nodeidentity
integer
NodeIdentity is the Cilium numeric identity allocated for the node, if any.
format:
int64status object
Status defines the realized specification/configuration and status
of the node.
alibaba-cloud object
AlibabaCloud is the AlibabaCloud specific status of the node.
enis
object
ENIs is the list of ENIs on the node
azure object
Azure is the Azure specific status of the node.
interfaces []object
Interfaces is the list of interfaces on the node
GatewayIP
string
GatewayIP is the interface's subnet's default route
OBSOLETE: This field is obsolete, please use Gateway field instead.
addresses []object
Addresses is the list of all IPs associated with the interface,
including all secondary addresses
ip
string
IP is the ip address of the address
state
string
State is the provisioning state of the address
subnet
string
Subnet is the subnet the address belongs to
cidr
string
CIDR is the range that the interface belongs to.
gateway
string
Gateway is the interface's subnet's default route
id
string
ID is the identifier
mac
string
MAC is the mac address
name
string
Name is the name of the interface
security-group
string
SecurityGroup is the security group associated with the interface
state
string
State is the provisioning state
eni object
ENI is the AWS ENI specific status of the node.
enis
object
ENIs is the list of ENIs on the node
ipam object
IPAM is the IPAM status of the node.
assigned-static-ip
string
AssignedStaticIP is the static IP assigned to the node (ex: public Elastic IP address in AWS)
ipv6-used
object
IPv6Used lists all IPv6 addresses out of Spec.IPAM.IPv6Pool which have been
allocated and are in use.
operator-status object
Operator is the Operator status of the node
error
string
Error is the error message set by cilium-operator.
pod-cidrs
object
PodCIDRs lists the status of each pod CIDR allocated to this node.
release-ips
object
ReleaseIPs tracks the state for every IPv4 address considered for release.
The value can be one of the following strings:
* marked-for-release : Set by operator as possible candidate for IP
* ready-for-release : Acknowledged as safe to release by agent
* do-not-release : IP already in use / not owned by the node. Set by agent
* released : IP successfully released. Set by operator
release-ipv6s
object
ReleaseIPv6s tracks the state for every IPv6 address considered for release.
The value can be one of the following strings:
* marked-for-release : Set by operator as possible candidate for IP
* ready-for-release : Acknowledged as safe to release by agent
* do-not-release : IP already in use / not owned by the node. Set by agent
* released : IP successfully released. Set by operator
used
object
Used lists all IPv4 addresses out of Spec.IPAM.Pool which have been allocated
and are in use.
No matches. Try .spec.addresses for an exact path