mirror of https://git.rancher.io/rke2-charts
parent
c4b8673dc0
commit
b8a6ec2071
|
@ -1,8 +1,8 @@
|
|||
apiVersion: v1
|
||||
name: rke2-canal
|
||||
description: Install Canal Network Plugin.
|
||||
version: v3.21.2-build20220204
|
||||
appVersion: v3.21.2
|
||||
version: v3.21.4-build20220208
|
||||
appVersion: v3.21.4
|
||||
home: https://www.projectcalico.org/
|
||||
keywords:
|
||||
- canal
|
||||
|
|
|
@ -0,0 +1,263 @@
|
|||
# Source: calico/_includes/charts/calico/crds/kdd/crd.projectcalico.org_caliconodestatuses.yaml
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: (devel)
|
||||
creationTimestamp: null
|
||||
name: caliconodestatuses.crd.projectcalico.org
|
||||
spec:
|
||||
group: crd.projectcalico.org
|
||||
names:
|
||||
kind: CalicoNodeStatus
|
||||
listKind: CalicoNodeStatusList
|
||||
plural: caliconodestatuses
|
||||
singular: caliconodestatus
|
||||
scope: Cluster
|
||||
versions:
|
||||
- name: v1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
properties:
|
||||
apiVersion:
|
||||
description: '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'
|
||||
type: string
|
||||
kind:
|
||||
description: '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'
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
description: CalicoNodeStatusSpec contains the specification for a CalicoNodeStatus
|
||||
resource.
|
||||
properties:
|
||||
classes:
|
||||
description: Classes declares the types of information to monitor
|
||||
for this calico/node, and allows for selective status reporting
|
||||
about certain subsets of information.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
node:
|
||||
description: The node name identifies the Calico node instance for
|
||||
node status.
|
||||
type: string
|
||||
updatePeriodSeconds:
|
||||
description: UpdatePeriodSeconds is the period at which CalicoNodeStatus
|
||||
should be updated. Set to 0 to disable CalicoNodeStatus refresh.
|
||||
Maximum update period is one day.
|
||||
format: int32
|
||||
type: integer
|
||||
type: object
|
||||
status:
|
||||
description: CalicoNodeStatusStatus defines the observed state of CalicoNodeStatus.
|
||||
No validation needed for status since it is updated by Calico.
|
||||
properties:
|
||||
agent:
|
||||
description: Agent holds agent status on the node.
|
||||
properties:
|
||||
birdV4:
|
||||
description: BIRDV4 represents the latest observed status of bird4.
|
||||
properties:
|
||||
lastBootTime:
|
||||
description: LastBootTime holds the value of lastBootTime
|
||||
from bird.ctl output.
|
||||
type: string
|
||||
lastReconfigurationTime:
|
||||
description: LastReconfigurationTime holds the value of lastReconfigTime
|
||||
from bird.ctl output.
|
||||
type: string
|
||||
routerID:
|
||||
description: Router ID used by bird.
|
||||
type: string
|
||||
state:
|
||||
description: The state of the BGP Daemon.
|
||||
type: string
|
||||
version:
|
||||
description: Version of the BGP daemon
|
||||
type: string
|
||||
type: object
|
||||
birdV6:
|
||||
description: BIRDV6 represents the latest observed status of bird6.
|
||||
properties:
|
||||
lastBootTime:
|
||||
description: LastBootTime holds the value of lastBootTime
|
||||
from bird.ctl output.
|
||||
type: string
|
||||
lastReconfigurationTime:
|
||||
description: LastReconfigurationTime holds the value of lastReconfigTime
|
||||
from bird.ctl output.
|
||||
type: string
|
||||
routerID:
|
||||
description: Router ID used by bird.
|
||||
type: string
|
||||
state:
|
||||
description: The state of the BGP Daemon.
|
||||
type: string
|
||||
version:
|
||||
description: Version of the BGP daemon
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
bgp:
|
||||
description: BGP holds node BGP status.
|
||||
properties:
|
||||
numberEstablishedV4:
|
||||
description: The total number of IPv4 established bgp sessions.
|
||||
type: integer
|
||||
numberEstablishedV6:
|
||||
description: The total number of IPv6 established bgp sessions.
|
||||
type: integer
|
||||
numberNotEstablishedV4:
|
||||
description: The total number of IPv4 non-established bgp sessions.
|
||||
type: integer
|
||||
numberNotEstablishedV6:
|
||||
description: The total number of IPv6 non-established bgp sessions.
|
||||
type: integer
|
||||
peersV4:
|
||||
description: PeersV4 represents IPv4 BGP peers status on the node.
|
||||
items:
|
||||
description: CalicoNodePeer contains the status of BGP peers
|
||||
on the node.
|
||||
properties:
|
||||
peerIP:
|
||||
description: IP address of the peer whose condition we are
|
||||
reporting.
|
||||
type: string
|
||||
since:
|
||||
description: Since the state or reason last changed.
|
||||
type: string
|
||||
state:
|
||||
description: State is the BGP session state.
|
||||
type: string
|
||||
type:
|
||||
description: Type indicates whether this peer is configured
|
||||
via the node-to-node mesh, or via en explicit global or
|
||||
per-node BGPPeer object.
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
peersV6:
|
||||
description: PeersV6 represents IPv6 BGP peers status on the node.
|
||||
items:
|
||||
description: CalicoNodePeer contains the status of BGP peers
|
||||
on the node.
|
||||
properties:
|
||||
peerIP:
|
||||
description: IP address of the peer whose condition we are
|
||||
reporting.
|
||||
type: string
|
||||
since:
|
||||
description: Since the state or reason last changed.
|
||||
type: string
|
||||
state:
|
||||
description: State is the BGP session state.
|
||||
type: string
|
||||
type:
|
||||
description: Type indicates whether this peer is configured
|
||||
via the node-to-node mesh, or via en explicit global or
|
||||
per-node BGPPeer object.
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
required:
|
||||
- numberEstablishedV4
|
||||
- numberEstablishedV6
|
||||
- numberNotEstablishedV4
|
||||
- numberNotEstablishedV6
|
||||
type: object
|
||||
lastUpdated:
|
||||
description: LastUpdated is a timestamp representing the server time
|
||||
when CalicoNodeStatus object last updated. It is represented in
|
||||
RFC3339 form and is in UTC.
|
||||
format: date-time
|
||||
nullable: true
|
||||
type: string
|
||||
routes:
|
||||
description: Routes reports routes known to the Calico BGP daemon
|
||||
on the node.
|
||||
properties:
|
||||
routesV4:
|
||||
description: RoutesV4 represents IPv4 routes on the node.
|
||||
items:
|
||||
description: CalicoNodeRoute contains the status of BGP routes
|
||||
on the node.
|
||||
properties:
|
||||
destination:
|
||||
description: Destination of the route.
|
||||
type: string
|
||||
gateway:
|
||||
description: Gateway for the destination.
|
||||
type: string
|
||||
interface:
|
||||
description: Interface for the destination
|
||||
type: string
|
||||
learnedFrom:
|
||||
description: LearnedFrom contains information regarding
|
||||
where this route originated.
|
||||
properties:
|
||||
peerIP:
|
||||
description: If sourceType is NodeMesh or BGPPeer, IP
|
||||
address of the router that sent us this route.
|
||||
type: string
|
||||
sourceType:
|
||||
description: Type of the source where a route is learned
|
||||
from.
|
||||
type: string
|
||||
type: object
|
||||
type:
|
||||
description: Type indicates if the route is being used for
|
||||
forwarding or not.
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
routesV6:
|
||||
description: RoutesV6 represents IPv6 routes on the node.
|
||||
items:
|
||||
description: CalicoNodeRoute contains the status of BGP routes
|
||||
on the node.
|
||||
properties:
|
||||
destination:
|
||||
description: Destination of the route.
|
||||
type: string
|
||||
gateway:
|
||||
description: Gateway for the destination.
|
||||
type: string
|
||||
interface:
|
||||
description: Interface for the destination
|
||||
type: string
|
||||
learnedFrom:
|
||||
description: LearnedFrom contains information regarding
|
||||
where this route originated.
|
||||
properties:
|
||||
peerIP:
|
||||
description: If sourceType is NodeMesh or BGPPeer, IP
|
||||
address of the router that sent us this route.
|
||||
type: string
|
||||
sourceType:
|
||||
description: Type of the source where a route is learned
|
||||
from.
|
||||
type: string
|
||||
type: object
|
||||
type:
|
||||
description: Type indicates if the route is being used for
|
||||
forwarding or not.
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
type: object
|
||||
type: object
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ""
|
||||
plural: ""
|
||||
conditions: []
|
||||
storedVersions: []
|
|
@ -0,0 +1,77 @@
|
|||
{{ if .Values.calico.calicoKubeControllers }}
|
||||
---
|
||||
# Source: calico/templates/calico-kube-controllers.yaml
|
||||
# See https://github.com/projectcalico/kube-controllers
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ .Release.Name }}-kube-controllers
|
||||
namespace: kube-system
|
||||
labels:
|
||||
k8s-app: calico-kube-controllers
|
||||
spec:
|
||||
# The controllers can only have a single active instance.
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
k8s-app: calico-kube-controllers
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
name: {{ .Release.Name }}-kube-controllers
|
||||
namespace: kube-system
|
||||
labels:
|
||||
k8s-app: calico-kube-controllers
|
||||
spec:
|
||||
nodeSelector:
|
||||
kubernetes.io/os: linux
|
||||
tolerations:
|
||||
# Mark the pod as a critical add-on for rescheduling.
|
||||
- key: CriticalAddonsOnly
|
||||
operator: Exists
|
||||
- key: node-role.kubernetes.io/master
|
||||
effect: NoSchedule
|
||||
serviceAccountName: calico-kube-controllers
|
||||
priorityClassName: system-cluster-critical
|
||||
containers:
|
||||
- name: calico-kube-controllers
|
||||
image: {{ template "system_default_registry" . }}{{ .Values.calico.kubeControllerImage.repository }}:{{ .Values.calico.kubeControllerImage.tag }}
|
||||
command: ["/usr/bin/kube-controllers"]
|
||||
env:
|
||||
# Choose which controllers to run.
|
||||
- name: ENABLED_CONTROLLERS
|
||||
value: node
|
||||
- name: DATASTORE_TYPE
|
||||
value: kubernetes
|
||||
livenessProbe:
|
||||
exec:
|
||||
command:
|
||||
- /usr/bin/check-status
|
||||
- -l
|
||||
periodSeconds: 10
|
||||
initialDelaySeconds: 10
|
||||
failureThreshold: 6
|
||||
timeoutSeconds: 10
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
- /usr/bin/check-status
|
||||
- -r
|
||||
periodSeconds: 10
|
||||
---
|
||||
# This manifest creates a Pod Disruption Budget for Controller to allow K8s Cluster Autoscaler to evict
|
||||
|
||||
apiVersion: policy/v1beta1
|
||||
kind: PodDisruptionBudget
|
||||
metadata:
|
||||
name: calico-kube-controllers
|
||||
namespace: kube-system
|
||||
labels:
|
||||
k8s-app: calico-kube-controllers
|
||||
spec:
|
||||
maxUnavailable: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
k8s-app: calico-kube-controllers
|
||||
{{ end }}
|
|
@ -168,3 +168,92 @@ subjects:
|
|||
- kind: ServiceAccount
|
||||
name: canal
|
||||
namespace: kube-system
|
||||
{{ if .Values.calico.calicoKubeControllers }}
|
||||
---
|
||||
# Include a clusterrole for the kube-controllers component,
|
||||
# and bind it to the calico-kube-controllers serviceaccount.
|
||||
kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: calico-kube-controllers
|
||||
rules:
|
||||
# Nodes are watched to monitor for deletions.
|
||||
- apiGroups: [""]
|
||||
resources:
|
||||
- nodes
|
||||
verbs:
|
||||
- watch
|
||||
- list
|
||||
- get
|
||||
# Pods are watched to check for existence as part of IPAM controller.
|
||||
- apiGroups: [""]
|
||||
resources:
|
||||
- pods
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
# IPAM resources are manipulated when nodes are deleted.
|
||||
- apiGroups: ["crd.projectcalico.org"]
|
||||
resources:
|
||||
- ippools
|
||||
- ipreservations
|
||||
verbs:
|
||||
- list
|
||||
- apiGroups: ["crd.projectcalico.org"]
|
||||
resources:
|
||||
- blockaffinities
|
||||
- ipamblocks
|
||||
- ipamhandles
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- create
|
||||
- update
|
||||
- delete
|
||||
- watch
|
||||
# kube-controllers manages hostendpoints.
|
||||
- apiGroups: ["crd.projectcalico.org"]
|
||||
resources:
|
||||
- hostendpoints
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- create
|
||||
- update
|
||||
- delete
|
||||
# Needs access to update clusterinformations.
|
||||
- apiGroups: ["crd.projectcalico.org"]
|
||||
resources:
|
||||
- clusterinformations
|
||||
verbs:
|
||||
- get
|
||||
- create
|
||||
- update
|
||||
# KubeControllersConfiguration is where it gets its config
|
||||
- apiGroups: ["crd.projectcalico.org"]
|
||||
resources:
|
||||
- kubecontrollersconfigurations
|
||||
verbs:
|
||||
# read its own config
|
||||
- get
|
||||
# create a default if none exists
|
||||
- create
|
||||
# update status
|
||||
- update
|
||||
# watch for changes
|
||||
- watch
|
||||
---
|
||||
kind: ClusterRoleBinding
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: calico-kube-controllers
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: calico-kube-controllers
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: calico-kube-controllers
|
||||
namespace: kube-system
|
||||
{{ end }}
|
||||
|
|
|
@ -4,3 +4,12 @@ kind: ServiceAccount
|
|||
metadata:
|
||||
name: canal
|
||||
namespace: kube-system
|
||||
|
||||
{{ if .Values.calico.calicoKubeControllers }}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: calico-kube-controllers
|
||||
namespace: kube-system
|
||||
{{ end }}
|
||||
|
|
|
@ -25,15 +25,20 @@ calico:
|
|||
# CNI installation image.
|
||||
cniImage:
|
||||
repository: rancher/hardened-calico
|
||||
tag: v3.21.2-build20220119
|
||||
tag: v3.21.4-build20220208
|
||||
# Canal node image.
|
||||
nodeImage:
|
||||
repository: rancher/hardened-calico
|
||||
tag: v3.21.2-build20220119
|
||||
tag: v3.21.4-build20220208
|
||||
# Flexvol Image.
|
||||
flexvolImage:
|
||||
repository: rancher/hardened-calico
|
||||
tag: v3.21.2-build20220119
|
||||
tag: v3.21.4-build20220208
|
||||
# kubecontroller image
|
||||
kubeControllerImage:
|
||||
repository: rancher/hardened-calico
|
||||
tag: v3.21.4-build20220208
|
||||
|
||||
# Datastore type for canal. It can be either kuberentes or etcd.
|
||||
datastoreType: kubernetes
|
||||
# Wait for datastore to initialize.
|
||||
|
@ -79,6 +84,8 @@ calico:
|
|||
ipAutoDetectionMethod: "first-found"
|
||||
# The method to use to autodetect the IPv6 address for this host.
|
||||
ip6AutoDetectionMethod: "first-found"
|
||||
# Enable calico kube-controllers
|
||||
calicoKubeControllers: false
|
||||
|
||||
global:
|
||||
systemDefaultRegistry: ""
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
url: local
|
||||
packageVersion: 09
|
||||
packageVersion: 01
|
||||
|
|
Loading…
Reference in New Issue