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