github.com/cilium/cilium@v1.16.2/pkg/k8s/apis/cilium.io/client/crds/v2/ciliumnodes.yaml (about) 1 --- 2 apiVersion: apiextensions.k8s.io/v1 3 kind: CustomResourceDefinition 4 metadata: 5 annotations: 6 controller-gen.kubebuilder.io/version: v0.15.0 7 creationTimestamp: null 8 name: ciliumnodes.cilium.io 9 spec: 10 group: cilium.io 11 names: 12 categories: 13 - cilium 14 kind: CiliumNode 15 listKind: CiliumNodeList 16 plural: ciliumnodes 17 shortNames: 18 - cn 19 - ciliumn 20 singular: ciliumnode 21 scope: Cluster 22 versions: 23 - additionalPrinterColumns: 24 - description: Cilium internal IP for this node 25 jsonPath: .spec.addresses[?(@.type=="CiliumInternalIP")].ip 26 name: CiliumInternalIP 27 type: string 28 - description: IP of the node 29 jsonPath: .spec.addresses[?(@.type=="InternalIP")].ip 30 name: InternalIP 31 type: string 32 - description: Time duration since creation of Ciliumnode 33 jsonPath: .metadata.creationTimestamp 34 name: Age 35 type: date 36 name: v2 37 schema: 38 openAPIV3Schema: 39 description: CiliumNode represents a node managed by Cilium. It contains a 40 specification to control various node specific configuration aspects and 41 a status section to represent the status of the node. 42 properties: 43 apiVersion: 44 description: 'APIVersion defines the versioned schema of this representation 45 of an object. Servers should convert recognized schemas to the latest 46 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 47 type: string 48 kind: 49 description: 'Kind is a string value representing the REST resource this 50 object represents. Servers may infer this from the endpoint the client 51 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 52 type: string 53 metadata: 54 type: object 55 spec: 56 description: Spec defines the desired specification/configuration of the 57 node. 58 properties: 59 addresses: 60 description: Addresses is the list of all node addresses. 61 items: 62 description: NodeAddress is a node address. 63 properties: 64 ip: 65 description: IP is an IP of a node 66 type: string 67 type: 68 description: Type is the type of the node address 69 type: string 70 type: object 71 type: array 72 alibaba-cloud: 73 description: AlibabaCloud is the AlibabaCloud IPAM specific configuration. 74 properties: 75 availability-zone: 76 description: AvailabilityZone is the availability zone to use 77 when allocating ENIs. 78 type: string 79 cidr-block: 80 description: CIDRBlock is vpc ipv4 CIDR 81 type: string 82 instance-type: 83 description: InstanceType is the ECS instance type, e.g. "ecs.g6.2xlarge" 84 type: string 85 security-group-tags: 86 additionalProperties: 87 type: string 88 description: SecurityGroupTags is the list of tags to use when 89 evaluating which security groups to use for the ENI. 90 type: object 91 security-groups: 92 description: SecurityGroups is the list of security groups to 93 attach to any ENI that is created and attached to the instance. 94 items: 95 type: string 96 type: array 97 vpc-id: 98 description: VPCID is the VPC ID to use when allocating ENIs. 99 type: string 100 vswitch-tags: 101 additionalProperties: 102 type: string 103 description: VSwitchTags is the list of tags to use when evaluating 104 which vSwitch to use for the ENI. 105 type: object 106 vswitches: 107 description: VSwitches is the ID of vSwitch available for ENI 108 items: 109 type: string 110 type: array 111 type: object 112 azure: 113 description: Azure is the Azure IPAM specific configuration. 114 properties: 115 interface-name: 116 description: InterfaceName is the name of the interface the cilium-operator 117 will use to allocate all the IPs on 118 type: string 119 type: object 120 bootid: 121 description: BootID is a unique node identifier generated on boot 122 type: string 123 encryption: 124 description: Encryption is the encryption configuration of the node. 125 properties: 126 key: 127 description: Key is the index to the key to use for encryption 128 or 0 if encryption is disabled. 129 type: integer 130 type: object 131 eni: 132 description: ENI is the AWS ENI specific configuration. 133 properties: 134 availability-zone: 135 description: AvailabilityZone is the availability zone to use 136 when allocating ENIs. 137 type: string 138 delete-on-termination: 139 description: DeleteOnTermination defines that the ENI should be 140 deleted when the associated instance is terminated. If the parameter 141 is not set the default behavior is to delete the ENI on instance 142 termination. 143 type: boolean 144 disable-prefix-delegation: 145 description: DisablePrefixDelegation determines whether ENI prefix 146 delegation should be disabled on this node. 147 type: boolean 148 exclude-interface-tags: 149 additionalProperties: 150 type: string 151 description: ExcludeInterfaceTags is the list of tags to use when 152 excluding ENIs for Cilium IP allocation. Any interface matching 153 this set of tags will not be managed by Cilium. 154 type: object 155 first-interface-index: 156 description: FirstInterfaceIndex is the index of the first ENI 157 to use for IP allocation, e.g. if the node has eth0, eth1, eth2 158 and FirstInterfaceIndex is set to 1, then only eth1 and eth2 159 will be used for IP allocation, eth0 will be ignored for PodIP 160 allocation. 161 minimum: 0 162 type: integer 163 instance-id: 164 description: "InstanceID is the AWS InstanceId of the node. The 165 InstanceID is used to retrieve AWS metadata for the node. \n 166 OBSOLETE: This field is obsolete, please use Spec.InstanceID" 167 type: string 168 instance-type: 169 description: InstanceType is the AWS EC2 instance type, e.g. "m5.large" 170 type: string 171 max-above-watermark: 172 description: "MaxAboveWatermark is the maximum number of addresses 173 to allocate beyond the addresses needed to reach the PreAllocate 174 watermark. Going above the watermark can help reduce the number 175 of API calls to allocate IPs, e.g. when a new ENI is allocated, 176 as many secondary IPs as possible are allocated. Limiting the 177 amount can help reduce waste of IPs. \n OBSOLETE: This field 178 is obsolete, please use Spec.IPAM.MaxAboveWatermark" 179 minimum: 0 180 type: integer 181 min-allocate: 182 description: "MinAllocate is the minimum number of IPs that must 183 be allocated when the node is first bootstrapped. It defines 184 the minimum base socket of addresses that must be available. 185 After reaching this watermark, the PreAllocate and MaxAboveWatermark 186 logic takes over to continue allocating IPs. \n OBSOLETE: This 187 field is obsolete, please use Spec.IPAM.MinAllocate" 188 minimum: 0 189 type: integer 190 node-subnet-id: 191 description: NodeSubnetID is the subnet of the primary ENI the 192 instance was brought up with. It is used as a sensible default 193 subnet to create ENIs in. 194 type: string 195 pre-allocate: 196 description: "PreAllocate defines the number of IP addresses that 197 must be available for allocation in the IPAMspec. It defines 198 the buffer of addresses available immediately without requiring 199 cilium-operator to get involved. \n OBSOLETE: This field is 200 obsolete, please use Spec.IPAM.PreAllocate" 201 minimum: 0 202 type: integer 203 security-group-tags: 204 additionalProperties: 205 type: string 206 description: SecurityGroupTags is the list of tags to use when 207 evaliating what AWS security groups to use for the ENI. 208 type: object 209 security-groups: 210 description: SecurityGroups is the list of security groups to 211 attach to any ENI that is created and attached to the instance. 212 items: 213 type: string 214 type: array 215 subnet-ids: 216 description: SubnetIDs is the list of subnet ids to use when evaluating 217 what AWS subnets to use for ENI and IP allocation. 218 items: 219 type: string 220 type: array 221 subnet-tags: 222 additionalProperties: 223 type: string 224 description: SubnetTags is the list of tags to use when evaluating 225 what AWS subnets to use for ENI and IP allocation. 226 type: object 227 use-primary-address: 228 description: UsePrimaryAddress determines whether an ENI's primary 229 address should be available for allocations on the node 230 type: boolean 231 vpc-id: 232 description: VpcID is the VPC ID to use when allocating ENIs. 233 type: string 234 type: object 235 health: 236 description: HealthAddressing is the addressing information for health 237 connectivity checking. 238 properties: 239 ipv4: 240 description: IPv4 is the IPv4 address of the IPv4 health endpoint. 241 type: string 242 ipv6: 243 description: IPv6 is the IPv6 address of the IPv4 health endpoint. 244 type: string 245 type: object 246 ingress: 247 description: IngressAddressing is the addressing information for Ingress 248 listener. 249 properties: 250 ipv4: 251 type: string 252 ipv6: 253 type: string 254 type: object 255 instance-id: 256 description: InstanceID is the identifier of the node. This is different 257 from the node name which is typically the FQDN of the node. The 258 InstanceID typically refers to the identifier used by the cloud 259 provider or some other means of identification. 260 type: string 261 ipam: 262 description: IPAM is the address management specification. This section 263 can be populated by a user or it can be automatically populated 264 by an IPAM operator. 265 properties: 266 ipv6-pool: 267 additionalProperties: 268 description: AllocationIP is an IP which is available for allocation, 269 or already has been allocated 270 properties: 271 owner: 272 description: "Owner is the owner of the IP. This field is 273 set if the IP has been allocated. It will be set to the 274 pod name or another identifier representing the usage 275 of the IP \n The owner field is left blank for an entry 276 in Spec.IPAM.Pool and filled out as the IP is used and 277 also added to Status.IPAM.Used." 278 type: string 279 resource: 280 description: Resource is set for both available and allocated 281 IPs, it represents what resource the IP is associated 282 with, e.g. in combination with AWS ENI, this will refer 283 to the ID of the ENI 284 type: string 285 type: object 286 description: IPv6Pool is the list of IPv6 addresses available 287 to the node for allocation. When an IPv6 address is used, it 288 will remain on this list but will be added to Status.IPAM.IPv6Used 289 type: object 290 max-above-watermark: 291 description: MaxAboveWatermark is the maximum number of addresses 292 to allocate beyond the addresses needed to reach the PreAllocate 293 watermark. Going above the watermark can help reduce the number 294 of API calls to allocate IPs, e.g. when a new ENI is allocated, 295 as many secondary IPs as possible are allocated. Limiting the 296 amount can help reduce waste of IPs. 297 minimum: 0 298 type: integer 299 max-allocate: 300 description: MaxAllocate is the maximum number of IPs that can 301 be allocated to the node. When the current amount of allocated 302 IPs will approach this value, the considered value for PreAllocate 303 will decrease down to 0 in order to not attempt to allocate 304 more addresses than defined. 305 minimum: 0 306 type: integer 307 min-allocate: 308 description: MinAllocate is the minimum number of IPs that must 309 be allocated when the node is first bootstrapped. It defines 310 the minimum base socket of addresses that must be available. 311 After reaching this watermark, the PreAllocate and MaxAboveWatermark 312 logic takes over to continue allocating IPs. 313 minimum: 0 314 type: integer 315 podCIDRs: 316 description: PodCIDRs is the list of CIDRs available to the node 317 for allocation. When an IP is used, the IP will be added to 318 Status.IPAM.Used 319 items: 320 type: string 321 type: array 322 pool: 323 additionalProperties: 324 description: AllocationIP is an IP which is available for allocation, 325 or already has been allocated 326 properties: 327 owner: 328 description: "Owner is the owner of the IP. This field is 329 set if the IP has been allocated. It will be set to the 330 pod name or another identifier representing the usage 331 of the IP \n The owner field is left blank for an entry 332 in Spec.IPAM.Pool and filled out as the IP is used and 333 also added to Status.IPAM.Used." 334 type: string 335 resource: 336 description: Resource is set for both available and allocated 337 IPs, it represents what resource the IP is associated 338 with, e.g. in combination with AWS ENI, this will refer 339 to the ID of the ENI 340 type: string 341 type: object 342 description: Pool is the list of IPv4 addresses available to the 343 node for allocation. When an IPv4 address is used, it will remain 344 on this list but will be added to Status.IPAM.Used 345 type: object 346 pools: 347 description: Pools contains the list of assigned IPAM pools for 348 this node. 349 properties: 350 allocated: 351 description: Allocated contains the list of pooled CIDR assigned 352 to this node. The operator will add new pod CIDRs to this 353 field, whereas the agent will remove CIDRs it has released. 354 items: 355 description: IPAMPoolAllocation describes an allocation 356 of an IPAM pool from the operator to the node. It contains 357 the assigned PodCIDRs allocated from this pool 358 properties: 359 cidrs: 360 description: CIDRs contains a list of pod CIDRs currently 361 allocated from this pool 362 items: 363 description: IPAMPodCIDR is a pod CIDR 364 format: cidr 365 type: string 366 type: array 367 pool: 368 description: Pool is the name of the IPAM pool backing 369 this allocation 370 minLength: 1 371 type: string 372 required: 373 - pool 374 type: object 375 type: array 376 requested: 377 description: Requested contains a list of IPAM pool requests, 378 i.e. indicates how many addresses this node requests out 379 of each pool listed here. This field is owned and written 380 to by cilium-agent and read by the operator. 381 items: 382 properties: 383 needed: 384 description: Needed indicates how many IPs out of the 385 above Pool this node requests from the operator. The 386 operator runs a reconciliation loop to ensure each 387 node always has enough PodCIDRs allocated in each 388 pool to fulfill the requested number of IPs here. 389 properties: 390 ipv4-addrs: 391 description: IPv4Addrs contains the number of requested 392 IPv4 addresses out of a given pool 393 type: integer 394 ipv6-addrs: 395 description: IPv6Addrs contains the number of requested 396 IPv6 addresses out of a given pool 397 type: integer 398 type: object 399 pool: 400 description: Pool is the name of the IPAM pool backing 401 this request 402 minLength: 1 403 type: string 404 required: 405 - pool 406 type: object 407 type: array 408 type: object 409 pre-allocate: 410 description: PreAllocate defines the number of IP addresses that 411 must be available for allocation in the IPAMspec. It defines 412 the buffer of addresses available immediately without requiring 413 cilium-operator to get involved. 414 minimum: 0 415 type: integer 416 type: object 417 nodeidentity: 418 description: NodeIdentity is the Cilium numeric identity allocated 419 for the node, if any. 420 format: int64 421 type: integer 422 type: object 423 status: 424 description: Status defines the realized specification/configuration and 425 status of the node. 426 properties: 427 alibaba-cloud: 428 description: AlibabaCloud is the AlibabaCloud specific status of the 429 node. 430 properties: 431 enis: 432 additionalProperties: 433 description: ENI represents an AlibabaCloud Elastic Network 434 Interface 435 properties: 436 instance-id: 437 description: InstanceID is the InstanceID using this ENI 438 type: string 439 mac-address: 440 description: MACAddress is the mac address of the ENI 441 type: string 442 network-interface-id: 443 description: NetworkInterfaceID is the ENI id 444 type: string 445 primary-ip-address: 446 description: PrimaryIPAddress is the primary IP on ENI 447 type: string 448 private-ipsets: 449 description: PrivateIPSets is the list of all IPs on the 450 ENI, including PrimaryIPAddress 451 items: 452 description: PrivateIPSet is a nested struct in ecs response 453 properties: 454 primary: 455 type: boolean 456 private-ip-address: 457 type: string 458 type: object 459 type: array 460 security-groupids: 461 description: SecurityGroupIDs is the security group ids 462 used by this ENI 463 items: 464 type: string 465 type: array 466 tags: 467 additionalProperties: 468 type: string 469 description: Tags is the tags on this ENI 470 type: object 471 type: 472 description: Type is the ENI type Primary or Secondary 473 type: string 474 vpc: 475 description: VPC is the vpc to which the ENI belongs 476 properties: 477 cidr: 478 description: CIDRBlock is the VPC IPv4 CIDR 479 type: string 480 ipv6-cidr: 481 description: IPv6CIDRBlock is the VPC IPv6 CIDR 482 type: string 483 secondary-cidrs: 484 description: SecondaryCIDRs is the list of Secondary 485 CIDRs associated with the VPC 486 items: 487 type: string 488 type: array 489 vpc-id: 490 description: VPCID is the vpc to which the ENI belongs 491 type: string 492 type: object 493 vswitch: 494 description: VSwitch is the vSwitch the ENI is using 495 properties: 496 cidr: 497 description: CIDRBlock is the vSwitch IPv4 CIDR 498 type: string 499 ipv6-cidr: 500 description: IPv6CIDRBlock is the vSwitch IPv6 CIDR 501 type: string 502 vswitch-id: 503 description: VSwitchID is the vSwitch to which the ENI 504 belongs 505 type: string 506 type: object 507 zone-id: 508 description: ZoneID is the zone to which the ENI belongs 509 type: string 510 type: object 511 description: ENIs is the list of ENIs on the node 512 type: object 513 type: object 514 azure: 515 description: Azure is the Azure specific status of the node. 516 properties: 517 interfaces: 518 description: Interfaces is the list of interfaces on the node 519 items: 520 description: AzureInterface represents an Azure Interface 521 properties: 522 GatewayIP: 523 description: "GatewayIP is the interface's subnet's default 524 route \n OBSOLETE: This field is obsolete, please use 525 Gateway field instead." 526 type: string 527 addresses: 528 description: Addresses is the list of all IPs associated 529 with the interface, including all secondary addresses 530 items: 531 description: AzureAddress is an IP address assigned to 532 an AzureInterface 533 properties: 534 ip: 535 description: IP is the ip address of the address 536 type: string 537 state: 538 description: State is the provisioning state of the 539 address 540 type: string 541 subnet: 542 description: Subnet is the subnet the address belongs 543 to 544 type: string 545 type: object 546 type: array 547 cidr: 548 description: CIDR is the range that the interface belongs 549 to. 550 type: string 551 gateway: 552 description: Gateway is the interface's subnet's default 553 route 554 type: string 555 id: 556 description: ID is the identifier 557 type: string 558 mac: 559 description: MAC is the mac address 560 type: string 561 name: 562 description: Name is the name of the interface 563 type: string 564 security-group: 565 description: SecurityGroup is the security group associated 566 with the interface 567 type: string 568 state: 569 description: State is the provisioning state 570 type: string 571 type: object 572 type: array 573 type: object 574 eni: 575 description: ENI is the AWS ENI specific status of the node. 576 properties: 577 enis: 578 additionalProperties: 579 description: "ENI represents an AWS Elastic Network Interface 580 \n More details: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html" 581 properties: 582 addresses: 583 description: Addresses is the list of all secondary IPs 584 associated with the ENI 585 items: 586 type: string 587 type: array 588 availability-zone: 589 description: AvailabilityZone is the availability zone of 590 the ENI 591 type: string 592 description: 593 description: Description is the description field of the 594 ENI 595 type: string 596 id: 597 description: ID is the ENI ID 598 type: string 599 ip: 600 description: IP is the primary IP of the ENI 601 type: string 602 mac: 603 description: MAC is the mac address of the ENI 604 type: string 605 number: 606 description: Number is the interface index, it used in combination 607 with FirstInterfaceIndex 608 type: integer 609 prefixes: 610 description: Prefixes is the list of all /28 prefixes associated 611 with the ENI 612 items: 613 type: string 614 type: array 615 security-groups: 616 description: SecurityGroups are the security groups associated 617 with the ENI 618 items: 619 type: string 620 type: array 621 subnet: 622 description: Subnet is the subnet the ENI is associated 623 with 624 properties: 625 cidr: 626 description: CIDR is the CIDR range associated with 627 the subnet 628 type: string 629 id: 630 description: ID is the ID of the subnet 631 type: string 632 type: object 633 tags: 634 additionalProperties: 635 type: string 636 description: Tags is the set of tags of the ENI. Used to 637 detect ENIs which should not be managed by Cilium 638 type: object 639 vpc: 640 description: VPC is the VPC information to which the ENI 641 is attached to 642 properties: 643 cidrs: 644 description: CIDRs is the list of CIDR ranges associated 645 with the VPC 646 items: 647 type: string 648 type: array 649 id: 650 description: / ID is the ID of a VPC 651 type: string 652 primary-cidr: 653 description: PrimaryCIDR is the primary CIDR of the 654 VPC 655 type: string 656 type: object 657 type: object 658 description: ENIs is the list of ENIs on the node 659 type: object 660 type: object 661 ipam: 662 description: IPAM is the IPAM status of the node. 663 properties: 664 ipv6-used: 665 additionalProperties: 666 description: AllocationIP is an IP which is available for allocation, 667 or already has been allocated 668 properties: 669 owner: 670 description: "Owner is the owner of the IP. This field is 671 set if the IP has been allocated. It will be set to the 672 pod name or another identifier representing the usage 673 of the IP \n The owner field is left blank for an entry 674 in Spec.IPAM.Pool and filled out as the IP is used and 675 also added to Status.IPAM.Used." 676 type: string 677 resource: 678 description: Resource is set for both available and allocated 679 IPs, it represents what resource the IP is associated 680 with, e.g. in combination with AWS ENI, this will refer 681 to the ID of the ENI 682 type: string 683 type: object 684 description: IPv6Used lists all IPv6 addresses out of Spec.IPAM.IPv6Pool 685 which have been allocated and are in use. 686 type: object 687 operator-status: 688 description: Operator is the Operator status of the node 689 properties: 690 error: 691 description: Error is the error message set by cilium-operator. 692 type: string 693 type: object 694 pod-cidrs: 695 additionalProperties: 696 properties: 697 status: 698 description: Status describes the status of a pod CIDR 699 enum: 700 - released 701 - depleted 702 - in-use 703 type: string 704 type: object 705 description: PodCIDRs lists the status of each pod CIDR allocated 706 to this node. 707 type: object 708 release-ips: 709 additionalProperties: 710 description: IPReleaseStatus defines the valid states in IP 711 release handshake 712 enum: 713 - marked-for-release 714 - ready-for-release 715 - do-not-release 716 - released 717 type: string 718 description: 'ReleaseIPs tracks the state for every IPv4 address 719 considered for release. The value can be one of the following 720 strings: * marked-for-release : Set by operator as possible 721 candidate for IP * ready-for-release : Acknowledged as safe 722 to release by agent * do-not-release : IP already in use 723 / not owned by the node. Set by agent * released : 724 IP successfully released. Set by operator' 725 type: object 726 release-ipv6s: 727 additionalProperties: 728 description: IPReleaseStatus defines the valid states in IP 729 release handshake 730 enum: 731 - marked-for-release 732 - ready-for-release 733 - do-not-release 734 - released 735 type: string 736 description: 'ReleaseIPv6s tracks the state for every IPv6 address 737 considered for release. The value can be one of the following 738 strings: * marked-for-release : Set by operator as possible 739 candidate for IP * ready-for-release : Acknowledged as safe 740 to release by agent * do-not-release : IP already in use 741 / not owned by the node. Set by agent * released : 742 IP successfully released. Set by operator' 743 type: object 744 used: 745 additionalProperties: 746 description: AllocationIP is an IP which is available for allocation, 747 or already has been allocated 748 properties: 749 owner: 750 description: "Owner is the owner of the IP. This field is 751 set if the IP has been allocated. It will be set to the 752 pod name or another identifier representing the usage 753 of the IP \n The owner field is left blank for an entry 754 in Spec.IPAM.Pool and filled out as the IP is used and 755 also added to Status.IPAM.Used." 756 type: string 757 resource: 758 description: Resource is set for both available and allocated 759 IPs, it represents what resource the IP is associated 760 with, e.g. in combination with AWS ENI, this will refer 761 to the ID of the ENI 762 type: string 763 type: object 764 description: Used lists all IPv4 addresses out of Spec.IPAM.Pool 765 which have been allocated and are in use. 766 type: object 767 type: object 768 type: object 769 required: 770 - metadata 771 - spec 772 type: object 773 served: true 774 storage: true 775 subresources: 776 status: {} 777 status: 778 acceptedNames: 779 kind: "" 780 plural: "" 781 conditions: [] 782 storedVersions: []