-
Notifications
You must be signed in to change notification settings - Fork 85
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #209 from manuelbuil/canal-dualStack
Provide dual-stack support to canal
- Loading branch information
1 parent
f14c205
commit 2997465
Showing
24 changed files
with
3,799 additions
and
0 deletions.
There are no files selected for viewing
Binary file not shown.
13 changes: 13 additions & 0 deletions
13
charts/rke2-canal/rke2-canal/v3.20.1-build2021111905/Chart.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
apiVersion: v1 | ||
appVersion: v3.20.2 | ||
description: Install Canal Network Plugin. | ||
home: https://www.projectcalico.org/ | ||
keywords: | ||
- canal | ||
maintainers: | ||
- email: [email protected] | ||
name: Rancher Labs | ||
name: rke2-canal | ||
sources: | ||
- https://github.com/rancher/rke2-charts | ||
version: v3.20.1-build2021111905 |
3 changes: 3 additions & 0 deletions
3
charts/rke2-canal/rke2-canal/v3.20.1-build2021111905/templates/NOTES.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
Canal network plugin has been installed. | ||
|
||
NOTE: It may take few minutes until Canal image install CNI files and node become in ready state. |
7 changes: 7 additions & 0 deletions
7
charts/rke2-canal/rke2-canal/v3.20.1-build2021111905/templates/_helpers.tpl
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
{{- define "system_default_registry" -}} | ||
{{- if .Values.global.systemDefaultRegistry -}} | ||
{{- printf "%s/" .Values.global.systemDefaultRegistry -}} | ||
{{- else -}} | ||
{{- "" -}} | ||
{{- end -}} | ||
{{- end -}} |
84 changes: 84 additions & 0 deletions
84
charts/rke2-canal/rke2-canal/v3.20.1-build2021111905/templates/config.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
--- | ||
# Source: calico/templates/calico-config.yaml | ||
# This ConfigMap is used to configure a self-hosted Canal installation. | ||
kind: ConfigMap | ||
apiVersion: v1 | ||
metadata: | ||
name: {{ .Release.Name }}-config | ||
namespace: kube-system | ||
data: | ||
# Typha is disabled. | ||
typha_service_name: {{ .Values.calico.typhaServiceName | quote }} | ||
# The interface used by canal for host <-> host communication. | ||
# If left blank, then the interface is chosen using the node's | ||
# default route. | ||
canal_iface: {{ .Values.flannel.iface | quote }} | ||
|
||
# Whether or not to masquerade traffic to destinations not within | ||
# the pod network. | ||
masquerade: {{ .Values.calico.masquerade | quote }} | ||
|
||
# Configure the MTU to use | ||
veth_mtu: {{ .Values.calico.vethuMTU | quote }} | ||
|
||
# The CNI network configuration to install on each node. The special | ||
# values in this config will be automatically populated. | ||
cni_network_config: |- | ||
{ | ||
"name": "k8s-pod-network", | ||
"cniVersion": "0.3.1", | ||
"plugins": [ | ||
{ | ||
"type": "calico", | ||
"log_level": "info", | ||
"datastore_type": "kubernetes", | ||
"nodename": "__KUBERNETES_NODE_NAME__", | ||
"mtu": __CNI_MTU__, | ||
"ipam": { | ||
"type": "host-local", | ||
"ranges": [ | ||
[ | ||
{ | ||
"subnet": "usePodCidr" | ||
} | ||
{{- if coalesce .Values.global.clusterCIDRv6 .Values.podCidrv6 }} | ||
], | ||
[ | ||
{ | ||
"subnet": "usePodCidrIPv6" | ||
} | ||
{{- end }} | ||
] | ||
] | ||
}, | ||
"policy": { | ||
"type": "k8s" | ||
}, | ||
"kubernetes": { | ||
"kubeconfig": "__KUBECONFIG_FILEPATH__" | ||
} | ||
}, | ||
{ | ||
"type": "portmap", | ||
"snat": true, | ||
"capabilities": {"portMappings": true} | ||
}, | ||
{ | ||
"type": "bandwidth", | ||
"capabilities": {"bandwidth": true} | ||
} | ||
] | ||
} | ||
|
||
# Flannel network configuration. Mounted into the flannel container. | ||
net-conf.json: | | ||
{ | ||
"Network": {{ coalesce .Values.global.clusterCIDRv4 .Values.podCidr | quote }}, | ||
{{- if coalesce .Values.global.clusterCIDRv6 .Values.podCidrv6 }} | ||
"IPv6Network": {{ coalesce .Values.global.clusterCIDRv6 .Values.podCidrv6 | quote }}, | ||
"EnableIPv6": true, | ||
{{- end }} | ||
"Backend": { | ||
"Type": {{ .Values.flannel.backend | quote }} | ||
} | ||
} |
144 changes: 144 additions & 0 deletions
144
...s/rke2-canal/rke2-canal/v3.20.1-build2021111905/templates/crds/bgpconfigurations.crd.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,144 @@ | ||
--- | ||
# Source: calico/_includes/charts/calico/crds/kdd/crd.projectcalico.org_bgpconfigurations.yaml | ||
|
||
apiVersion: apiextensions.k8s.io/v1 | ||
kind: CustomResourceDefinition | ||
metadata: | ||
name: bgpconfigurations.crd.projectcalico.org | ||
spec: | ||
group: crd.projectcalico.org | ||
names: | ||
kind: BGPConfiguration | ||
listKind: BGPConfigurationList | ||
plural: bgpconfigurations | ||
singular: bgpconfiguration | ||
scope: Cluster | ||
versions: | ||
- name: v1 | ||
schema: | ||
openAPIV3Schema: | ||
description: BGPConfiguration contains the configuration for any BGP routing. | ||
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: BGPConfigurationSpec contains the values of the BGP configuration. | ||
properties: | ||
asNumber: | ||
description: 'ASNumber is the default AS number used by a node. [Default: | ||
64512]' | ||
format: int32 | ||
type: integer | ||
communities: | ||
description: Communities is a list of BGP community values and their | ||
arbitrary names for tagging routes. | ||
items: | ||
description: Community contains standard or large community value | ||
and its name. | ||
properties: | ||
name: | ||
description: Name given to community value. | ||
type: string | ||
value: | ||
description: Value must be of format `aa:nn` or `aa:nn:mm`. | ||
For standard community use `aa:nn` format, where `aa` and | ||
`nn` are 16 bit number. For large community use `aa:nn:mm` | ||
format, where `aa`, `nn` and `mm` are 32 bit number. Where, | ||
`aa` is an AS Number, `nn` and `mm` are per-AS identifier. | ||
pattern: ^(\d+):(\d+)$|^(\d+):(\d+):(\d+)$ | ||
type: string | ||
type: object | ||
type: array | ||
listenPort: | ||
description: ListenPort is the port where BGP protocol should listen. | ||
Defaults to 179 | ||
maximum: 65535 | ||
minimum: 1 | ||
type: integer | ||
logSeverityScreen: | ||
description: 'LogSeverityScreen is the log severity above which logs | ||
are sent to the stdout. [Default: INFO]' | ||
type: string | ||
nodeToNodeMeshEnabled: | ||
description: 'NodeToNodeMeshEnabled sets whether full node to node | ||
BGP mesh is enabled. [Default: true]' | ||
type: boolean | ||
prefixAdvertisements: | ||
description: PrefixAdvertisements contains per-prefix advertisement | ||
configuration. | ||
items: | ||
description: PrefixAdvertisement configures advertisement properties | ||
for the specified CIDR. | ||
properties: | ||
cidr: | ||
description: CIDR for which properties should be advertised. | ||
type: string | ||
communities: | ||
description: Communities can be list of either community names | ||
already defined in `Specs.Communities` or community value | ||
of format `aa:nn` or `aa:nn:mm`. For standard community use | ||
`aa:nn` format, where `aa` and `nn` are 16 bit number. For | ||
large community use `aa:nn:mm` format, where `aa`, `nn` and | ||
`mm` are 32 bit number. Where,`aa` is an AS Number, `nn` and | ||
`mm` are per-AS identifier. | ||
items: | ||
type: string | ||
type: array | ||
type: object | ||
type: array | ||
serviceClusterIPs: | ||
description: ServiceClusterIPs are the CIDR blocks from which service | ||
cluster IPs are allocated. If specified, Calico will advertise these | ||
blocks, as well as any cluster IPs within them. | ||
items: | ||
description: ServiceClusterIPBlock represents a single allowed ClusterIP | ||
CIDR block. | ||
properties: | ||
cidr: | ||
type: string | ||
type: object | ||
type: array | ||
serviceExternalIPs: | ||
description: ServiceExternalIPs are the CIDR blocks for Kubernetes | ||
Service External IPs. Kubernetes Service ExternalIPs will only be | ||
advertised if they are within one of these blocks. | ||
items: | ||
description: ServiceExternalIPBlock represents a single allowed | ||
External IP CIDR block. | ||
properties: | ||
cidr: | ||
type: string | ||
type: object | ||
type: array | ||
serviceLoadBalancerIPs: | ||
description: ServiceLoadBalancerIPs are the CIDR blocks for Kubernetes | ||
Service LoadBalancer IPs. Kubernetes Service status.LoadBalancer.Ingress | ||
IPs will only be advertised if they are within one of these blocks. | ||
items: | ||
description: ServiceLoadBalancerIPBlock represents a single allowed | ||
LoadBalancer IP CIDR block. | ||
properties: | ||
cidr: | ||
type: string | ||
type: object | ||
type: array | ||
type: object | ||
type: object | ||
served: true | ||
storage: true | ||
status: | ||
acceptedNames: | ||
kind: "" | ||
plural: "" | ||
conditions: [] | ||
storedVersions: [] |
115 changes: 115 additions & 0 deletions
115
charts/rke2-canal/rke2-canal/v3.20.1-build2021111905/templates/crds/bgppeers.crd.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,115 @@ | ||
--- | ||
# Source: calico/_includes/charts/calico/crds/kdd/crd.projectcalico.org_bgppeers.yaml | ||
|
||
apiVersion: apiextensions.k8s.io/v1 | ||
kind: CustomResourceDefinition | ||
metadata: | ||
name: bgppeers.crd.projectcalico.org | ||
spec: | ||
group: crd.projectcalico.org | ||
names: | ||
kind: BGPPeer | ||
listKind: BGPPeerList | ||
plural: bgppeers | ||
singular: bgppeer | ||
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: BGPPeerSpec contains the specification for a BGPPeer resource. | ||
properties: | ||
asNumber: | ||
description: The AS Number of the peer. | ||
format: int32 | ||
type: integer | ||
keepOriginalNextHop: | ||
description: Option to keep the original nexthop field when routes | ||
are sent to a BGP Peer. Setting "true" configures the selected BGP | ||
Peers node to use the "next hop keep;" instead of "next hop self;"(default) | ||
in the specific branch of the Node on "bird.cfg". | ||
type: boolean | ||
maxRestartTime: | ||
description: Time to allow for software restart. When specified, this | ||
is configured as the graceful restart timeout. When not specified, | ||
the BIRD default of 120s is used. | ||
type: string | ||
node: | ||
description: The node name identifying the Calico node instance that | ||
is targeted by this peer. If this is not set, and no nodeSelector | ||
is specified, then this BGP peer selects all nodes in the cluster. | ||
type: string | ||
nodeSelector: | ||
description: Selector for the nodes that should have this peering. When | ||
this is set, the Node field must be empty. | ||
type: string | ||
password: | ||
description: Optional BGP password for the peerings generated by this | ||
BGPPeer resource. | ||
properties: | ||
secretKeyRef: | ||
description: Selects a key of a secret in the node pod's namespace. | ||
properties: | ||
key: | ||
description: The key of the secret to select from. Must be | ||
a valid secret key. | ||
type: string | ||
name: | ||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | ||
TODO: Add other useful fields. apiVersion, kind, uid?' | ||
type: string | ||
optional: | ||
description: Specify whether the Secret or its key must be | ||
defined | ||
type: boolean | ||
required: | ||
- key | ||
type: object | ||
type: object | ||
peerIP: | ||
description: The IP address of the peer followed by an optional port | ||
number to peer with. If port number is given, format should be `[<IPv6>]:port` | ||
or `<IPv4>:<port>` for IPv4. If optional port number is not set, | ||
and this peer IP and ASNumber belongs to a calico/node with ListenPort | ||
set in BGPConfiguration, then we use that port to peer. | ||
type: string | ||
peerSelector: | ||
description: Selector for the remote nodes to peer with. When this | ||
is set, the PeerIP and ASNumber fields must be empty. For each | ||
peering between the local node and selected remote nodes, we configure | ||
an IPv4 peering if both ends have NodeBGPSpec.IPv4Address specified, | ||
and an IPv6 peering if both ends have NodeBGPSpec.IPv6Address specified. The | ||
remote AS number comes from the remote node's NodeBGPSpec.ASNumber, | ||
or the global default if that is not set. | ||
type: string | ||
sourceAddress: | ||
description: Specifies whether and how to configure a source address | ||
for the peerings generated by this BGPPeer resource. Default value | ||
"UseNodeIP" means to configure the node IP as the source address. "None" | ||
means not to configure a source address. | ||
type: string | ||
type: object | ||
type: object | ||
served: true | ||
storage: true | ||
status: | ||
acceptedNames: | ||
kind: "" | ||
plural: "" | ||
conditions: [] | ||
storedVersions: [] | ||
|
Oops, something went wrong.