github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/neon/templates/whereabouts.yaml (about)

     1  apiVersion: apiextensions.k8s.io/v1
     2  kind: CustomResourceDefinition
     3  metadata:
     4    annotations:
     5      controller-gen.kubebuilder.io/version: v0.4.1
     6    creationTimestamp: null
     7    name: ippools.whereabouts.cni.cncf.io
     8  spec:
     9    group: whereabouts.cni.cncf.io
    10    names:
    11      kind: IPPool
    12      listKind: IPPoolList
    13      plural: ippools
    14      singular: ippool
    15    scope: Namespaced
    16    versions:
    17    - name: v1alpha1
    18      schema:
    19        openAPIV3Schema:
    20          description: IPPool is the Schema for the ippools API
    21          properties:
    22            apiVersion:
    23              description: 'APIVersion defines the versioned schema of this representation
    24                of an object. Servers should convert recognized schemas to the latest
    25                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    26              type: string
    27            kind:
    28              description: 'Kind is a string value representing the REST resource this
    29                object represents. Servers may infer this from the endpoint the client
    30                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    31              type: string
    32            metadata:
    33              type: object
    34            spec:
    35              description: IPPoolSpec defines the desired state of IPPool
    36              properties:
    37                allocations:
    38                  additionalProperties:
    39                    description: IPAllocation represents metadata about the pod/container
    40                      owner of a specific IP
    41                    properties:
    42                      id:
    43                        type: string
    44                      podref:
    45                        type: string
    46                    required:
    47                    - id
    48                    type: object
    49                  description: Allocations is the set of allocated IPs for the given
    50                    range. Its` indices are a direct mapping to the IP with the same
    51                    index/offset for the pool's range.
    52                  type: object
    53                range:
    54                  description: Range is a RFC 4632/4291-style string that represents
    55                    an IP address and prefix length in CIDR notation
    56                  type: string
    57              required:
    58              - allocations
    59              - range
    60              type: object
    61          type: object
    62      served: true
    63      storage: true
    64  status:
    65    acceptedNames:
    66      kind: ""
    67      plural: ""
    68    conditions: []
    69    storedVersions: []
    70  ---
    71  apiVersion: apiextensions.k8s.io/v1
    72  kind: CustomResourceDefinition
    73  metadata:
    74    annotations:
    75      controller-gen.kubebuilder.io/version: v0.4.1
    76    creationTimestamp: null
    77    name: overlappingrangeipreservations.whereabouts.cni.cncf.io
    78  spec:
    79    group: whereabouts.cni.cncf.io
    80    names:
    81      kind: OverlappingRangeIPReservation
    82      listKind: OverlappingRangeIPReservationList
    83      plural: overlappingrangeipreservations
    84      singular: overlappingrangeipreservation
    85    scope: Namespaced
    86    versions:
    87    - name: v1alpha1
    88      schema:
    89        openAPIV3Schema:
    90          description: OverlappingRangeIPReservation is the Schema for the OverlappingRangeIPReservations
    91            API
    92          properties:
    93            apiVersion:
    94              description: 'APIVersion defines the versioned schema of this representation
    95                of an object. Servers should convert recognized schemas to the latest
    96                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    97              type: string
    98            kind:
    99              description: 'Kind is a string value representing the REST resource this
   100                object represents. Servers may infer this from the endpoint the client
   101                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   102              type: string
   103            metadata:
   104              type: object
   105            spec:
   106              description: OverlappingRangeIPReservationSpec defines the desired state
   107                of OverlappingRangeIPReservation
   108              properties:
   109                containerid:
   110                  type: string
   111                podref:
   112                  type: string
   113              required:
   114              - containerid
   115              type: object
   116          required:
   117          - spec
   118          type: object
   119      served: true
   120      storage: true
   121  status:
   122    acceptedNames:
   123      kind: ""
   124      plural: ""
   125    conditions: []
   126    storedVersions: []
   127  ---
   128  apiVersion: v1
   129  kind: ServiceAccount
   130  metadata:
   131    name: whereabouts
   132    namespace: kube-system
   133  ---
   134  apiVersion: rbac.authorization.k8s.io/v1
   135  kind: ClusterRole
   136  metadata:
   137    name: whereabouts-cni
   138  rules:
   139  - apiGroups:
   140    - whereabouts.cni.cncf.io
   141    resources:
   142    - ippools
   143    - overlappingrangeipreservations
   144    verbs:
   145    - get
   146    - list
   147    - watch
   148    - create
   149    - update
   150    - patch
   151    - delete
   152  - apiGroups:
   153    - coordination.k8s.io
   154    resources:
   155    - leases
   156    verbs:
   157    - '*'
   158  - apiGroups:
   159    - ""
   160    resources:
   161    - pods
   162    verbs:
   163    - list
   164    - watch
   165  - apiGroups:
   166    - k8s.cni.cncf.io
   167    resources:
   168    - network-attachment-definitions
   169    verbs:
   170    - get
   171    - list
   172    - watch
   173  - apiGroups:
   174    - ""
   175    - events.k8s.io
   176    resources:
   177    - events
   178    verbs:
   179    - create
   180    - patch
   181    - update
   182  ---
   183  apiVersion: rbac.authorization.k8s.io/v1
   184  kind: ClusterRoleBinding
   185  metadata:
   186    name: whereabouts
   187  roleRef:
   188    apiGroup: rbac.authorization.k8s.io
   189    kind: ClusterRole
   190    name: whereabouts-cni
   191  subjects:
   192  - kind: ServiceAccount
   193    name: whereabouts
   194    namespace: kube-system
   195  ---
   196  apiVersion: apps/v1
   197  kind: DaemonSet
   198  metadata:
   199    labels:
   200      app: whereabouts
   201      tier: node
   202    name: whereabouts
   203    namespace: kube-system
   204  spec:
   205    selector:
   206      matchLabels:
   207        name: whereabouts
   208    template:
   209      metadata:
   210        labels:
   211          app: whereabouts
   212          name: whereabouts
   213          tier: node
   214      spec:
   215        containers:
   216        - args:
   217          - -c
   218          - |
   219            SLEEP=false /install-cni.sh && /ip-control-loop -log-level debug
   220          command:
   221          - /bin/sh
   222          env:
   223          - name: WHEREABOUTS_NAMESPACE
   224            valueFrom:
   225              fieldRef:
   226                fieldPath: metadata.namespace
   227          image: ghcr.io/k8snetworkplumbingwg/whereabouts:v0.6.1-amd64
   228          name: whereabouts
   229          resources:
   230            limits:
   231              cpu: 100m
   232              memory: 200Mi
   233            requests:
   234              cpu: 100m
   235              memory: 100Mi
   236          securityContext:
   237            privileged: true
   238          volumeMounts:
   239          - mountPath: /host/opt/cni/bin
   240            name: cnibin
   241          - mountPath: /host/etc/cni/net.d
   242            name: cni-net-dir
   243        hostNetwork: true
   244        nodeSelector:
   245          kubernetes.io/arch: amd64
   246        serviceAccountName: whereabouts
   247        tolerations:
   248        - effect: NoSchedule
   249          operator: Exists
   250        volumes:
   251        - hostPath:
   252            path: /opt/cni/bin
   253          name: cnibin
   254        - hostPath:
   255            path: /etc/cni/net.d
   256          name: cni-net-dir
   257    updateStrategy:
   258      type: RollingUpdate