Canal manifest updates for k8s v1.12+

This commit is contained in:
Kashif Saadat 2019-04-24 17:37:28 +01:00
parent bea86cb4d9
commit 4b40a24695
12 changed files with 54 additions and 12 deletions

View File

@ -110,6 +110,8 @@ type CanalNetworkingSpec struct {
// LogSeveritySys the severity to set for logs which are sent to syslog
// Default: INFO (other options: DEBUG, WARNING, ERROR, CRITICAL, NONE)
LogSeveritySys string `json:"logSeveritySys,omitempty"`
// MTU to be set in the cni-network-config (default: 1500)
MTU *int32 `json:"mtu,omitempty"`
// PrometheusGoMetricsEnabled enables Prometheus Go runtime metrics collection
PrometheusGoMetricsEnabled bool `json:"prometheusGoMetricsEnabled,omitempty"`
// PrometheusMetricsEnabled can be set to enable the experimental Prometheus

View File

@ -110,6 +110,8 @@ type CanalNetworkingSpec struct {
// LogSeveritySys the severity to set for logs which are sent to syslog
// Default: INFO (other options: DEBUG, WARNING, ERROR, CRITICAL, NONE)
LogSeveritySys string `json:"logSeveritySys,omitempty"`
// MTU to be set in the cni-network-config (default: 1500)
MTU *int32 `json:"mtu,omitempty"`
// PrometheusGoMetricsEnabled enables Prometheus Go runtime metrics collection
PrometheusGoMetricsEnabled bool `json:"prometheusGoMetricsEnabled,omitempty"`
// PrometheusMetricsEnabled can be set to enable the experimental Prometheus

View File

@ -1129,6 +1129,7 @@ func autoConvert_v1alpha1_CanalNetworkingSpec_To_kops_CanalNetworkingSpec(in *Ca
out.DefaultEndpointToHostAction = in.DefaultEndpointToHostAction
out.DisableFlannelForwardRules = in.DisableFlannelForwardRules
out.LogSeveritySys = in.LogSeveritySys
out.MTU = in.MTU
out.PrometheusGoMetricsEnabled = in.PrometheusGoMetricsEnabled
out.PrometheusMetricsEnabled = in.PrometheusMetricsEnabled
out.PrometheusMetricsPort = in.PrometheusMetricsPort
@ -1146,6 +1147,7 @@ func autoConvert_kops_CanalNetworkingSpec_To_v1alpha1_CanalNetworkingSpec(in *ko
out.DefaultEndpointToHostAction = in.DefaultEndpointToHostAction
out.DisableFlannelForwardRules = in.DisableFlannelForwardRules
out.LogSeveritySys = in.LogSeveritySys
out.MTU = in.MTU
out.PrometheusGoMetricsEnabled = in.PrometheusGoMetricsEnabled
out.PrometheusMetricsEnabled = in.PrometheusMetricsEnabled
out.PrometheusMetricsPort = in.PrometheusMetricsPort

View File

@ -285,6 +285,11 @@ func (in *CalicoNetworkingSpec) DeepCopy() *CalicoNetworkingSpec {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CanalNetworkingSpec) DeepCopyInto(out *CanalNetworkingSpec) {
*out = *in
if in.MTU != nil {
in, out := &in.MTU, &out.MTU
*out = new(int32)
**out = **in
}
return
}
@ -2563,7 +2568,7 @@ func (in *NetworkingSpec) DeepCopyInto(out *NetworkingSpec) {
if in.Canal != nil {
in, out := &in.Canal, &out.Canal
*out = new(CanalNetworkingSpec)
**out = **in
(*in).DeepCopyInto(*out)
}
if in.Kuberouter != nil {
in, out := &in.Kuberouter, &out.Kuberouter

View File

@ -110,6 +110,8 @@ type CanalNetworkingSpec struct {
// LogSeveritySys the severity to set for logs which are sent to syslog
// Default: INFO (other options: DEBUG, WARNING, ERROR, CRITICAL, NONE)
LogSeveritySys string `json:"logSeveritySys,omitempty"`
// MTU to be set in the cni-network-config (default: 1500)
MTU *int32 `json:"mtu,omitempty"`
// PrometheusGoMetricsEnabled enables Prometheus Go runtime metrics collection
PrometheusGoMetricsEnabled bool `json:"prometheusGoMetricsEnabled,omitempty"`
// PrometheusMetricsEnabled can be set to enable the experimental Prometheus

View File

@ -1171,6 +1171,7 @@ func autoConvert_v1alpha2_CanalNetworkingSpec_To_kops_CanalNetworkingSpec(in *Ca
out.DefaultEndpointToHostAction = in.DefaultEndpointToHostAction
out.DisableFlannelForwardRules = in.DisableFlannelForwardRules
out.LogSeveritySys = in.LogSeveritySys
out.MTU = in.MTU
out.PrometheusGoMetricsEnabled = in.PrometheusGoMetricsEnabled
out.PrometheusMetricsEnabled = in.PrometheusMetricsEnabled
out.PrometheusMetricsPort = in.PrometheusMetricsPort
@ -1188,6 +1189,7 @@ func autoConvert_kops_CanalNetworkingSpec_To_v1alpha2_CanalNetworkingSpec(in *ko
out.DefaultEndpointToHostAction = in.DefaultEndpointToHostAction
out.DisableFlannelForwardRules = in.DisableFlannelForwardRules
out.LogSeveritySys = in.LogSeveritySys
out.MTU = in.MTU
out.PrometheusGoMetricsEnabled = in.PrometheusGoMetricsEnabled
out.PrometheusMetricsEnabled = in.PrometheusMetricsEnabled
out.PrometheusMetricsPort = in.PrometheusMetricsPort

View File

@ -259,6 +259,11 @@ func (in *CalicoNetworkingSpec) DeepCopy() *CalicoNetworkingSpec {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CanalNetworkingSpec) DeepCopyInto(out *CanalNetworkingSpec) {
*out = *in
if in.MTU != nil {
in, out := &in.MTU, &out.MTU
*out = new(int32)
**out = **in
}
return
}
@ -2634,7 +2639,7 @@ func (in *NetworkingSpec) DeepCopyInto(out *NetworkingSpec) {
if in.Canal != nil {
in, out := &in.Canal, &out.Canal
*out = new(CanalNetworkingSpec)
**out = **in
(*in).DeepCopyInto(*out)
}
if in.Kuberouter != nil {
in, out := &in.Kuberouter, &out.Kuberouter

View File

@ -275,6 +275,11 @@ func (in *CalicoNetworkingSpec) DeepCopy() *CalicoNetworkingSpec {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CanalNetworkingSpec) DeepCopyInto(out *CanalNetworkingSpec) {
*out = *in
if in.MTU != nil {
in, out := &in.MTU, &out.MTU
*out = new(int32)
**out = **in
}
return
}
@ -2832,7 +2837,7 @@ func (in *NetworkingSpec) DeepCopyInto(out *NetworkingSpec) {
if in.Canal != nil {
in, out := &in.Canal, &out.Canal
*out = new(CanalNetworkingSpec)
**out = **in
(*in).DeepCopyInto(*out)
}
if in.Kuberouter != nil {
in, out := &in.Kuberouter, &out.Kuberouter

View File

@ -21,6 +21,7 @@ import (
"k8s.io/kops/pkg/apis/kops"
"k8s.io/kops/upup/pkg/fi"
"k8s.io/kops/upup/pkg/fi/cloudup/openstacktasks"
//TODO: Replace with klog
"github.com/golang/glog"
"k8s.io/kops/pkg/dns"

View File

@ -1,8 +1,8 @@
# Canal Version v3.5.0
# https://docs.projectcalico.org/v3.5/releases#v3.5.0
# Canal Version v3.6.1
# https://docs.projectcalico.org/v3.6/release-notes/#v361
# This manifest includes the following component versions:
# calico/node:v3.5.0
# calico/cni:v3.5.0
# calico/node:v3.6.1
# calico/cni:v3.6.1
# coreos/flannel:v0.11.0
# This ConfigMap is used to configure a self-hosted Canal installation.
@ -23,6 +23,9 @@ data:
# the pod network.
masquerade: "true"
# MTU default is 1500, can be overridden
veth_mtu: "{{- or .Networking.Canal.MTU "1500" }}"
# The CNI network configuration to install on each node. The special
# values in this config will be automatically populated.
cni_network_config: |-
@ -34,6 +37,7 @@ data:
"type": "calico",
"log_level": "info",
"datastore_type": "kubernetes",
"mtu": __CNI_MTU__,
"nodename": "__KUBERNETES_NODE_NAME__",
"ipam": {
"type": "host-local",
@ -115,12 +119,18 @@ spec:
# This container installs the Calico CNI binaries
# and CNI network config file on each node.
- name: install-cni
image: calico/cni:v3.5.0
image: calico/cni:v3.6.1
command: ["/install-cni.sh"]
env:
# Name of the CNI config file to create.
- name: CNI_CONF_NAME
value: "10-canal.conflist"
# CNI MTU Config variable
- name: CNI_MTU
valueFrom:
configMapKeyRef:
name: canal-config
key: veth_mtu
# The CNI network config to install on each node.
- name: CNI_NETWORK_CONFIG
valueFrom:
@ -145,7 +155,7 @@ spec:
# container programs network policy and routes on each
# host.
- name: calico-node
image: calico/node:v3.5.0
image: calico/node:v3.6.1
env:
# Use Kubernetes API as the backing datastore.
- name: DATASTORE_TYPE
@ -173,6 +183,11 @@ spec:
# Disable file logging so `kubectl logs` works.
- name: CALICO_DISABLE_FILE_LOGGING
value: "true"
- name: FELIX_IPINIPMTU
valueFrom:
configMapKeyRef:
name: canal-config
key: veth_mtu
# Disable IPv6 on Kubernetes.
- name: FELIX_IPV6SUPPORT
value: "false"
@ -367,6 +382,7 @@ rules:
- globalbgpconfigs
- bgpconfigurations
- ippools
- ipamblocks
- globalnetworkpolicies
- globalnetworksets
- networkpolicies

View File

@ -893,13 +893,12 @@ func (b *BootstrapChannelBuilder) buildManifest() (*channelsapi.Addons, map[stri
if b.cluster.Spec.Networking.Canal != nil {
key := "networking.projectcalico.org.canal"
// 2.6.3-kops.1 = 2.6.2 with kops manifest tweaks. This should go away with the next version bump.
versions := map[string]string{
"pre-k8s-1.6": "2.4.2-kops.2",
"k8s-1.6": "2.4.2-kops.2",
"k8s-1.8": "2.6.7-kops.3",
"k8s-1.9": "3.2.3-kops.1",
"k8s-1.12": "3.5.0",
"k8s-1.12": "3.6.1",
}
{
id := "pre-k8s-1.6"

View File

@ -18,9 +18,10 @@ package openstacktasks
import (
"fmt"
"github.com/gophercloud/gophercloud/openstack/networking/v2/ports"
"time"
"github.com/gophercloud/gophercloud/openstack/networking/v2/ports"
"github.com/golang/glog"
"github.com/gophercloud/gophercloud"
"github.com/gophercloud/gophercloud/openstack/loadbalancer/v2/loadbalancers"