diff --git a/cluster/gce/addons/loadbalancing/cloud-provider-binding.yaml b/cluster/gce/addons/loadbalancing/cloud-provider-binding.yaml new file mode 100644 index 00000000000..09b8ebf34bc --- /dev/null +++ b/cluster/gce/addons/loadbalancing/cloud-provider-binding.yaml @@ -0,0 +1,30 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + labels: + addonmanager.kubernetes.io/mode: Reconcile + name: cloud-provider + namespace: kube-system +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: cloud-provider +subjects: +- kind: ServiceAccount + name: cloud-provider + namespace: kube-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + labels: + addonmanager.kubernetes.io/mode: Reconcile + name: cloud-provider +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: cloud-provider +subjects: +- kind: ServiceAccount + name: cloud-provider + namespace: kube-system diff --git a/cluster/gce/addons/loadbalancing/cloud-provider-role.yaml b/cluster/gce/addons/loadbalancing/cloud-provider-role.yaml new file mode 100644 index 00000000000..64198859754 --- /dev/null +++ b/cluster/gce/addons/loadbalancing/cloud-provider-role.yaml @@ -0,0 +1,35 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + labels: + addonmanager.kubernetes.io/mode: Reconcile + name: cloud-provider + namespace: kube-system +rules: +- apiGroups: + - "" + resources: + - configmaps + verbs: + - create + - get + - patch + - update + - list + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + addonmanager.kubernetes.io/mode: Reconcile + name: cloud-provider +rules: +- apiGroups: + - "" + resources: + - events + verbs: + - create + - patch + - update diff --git a/cluster/gce/gci/configure-helper.sh b/cluster/gce/gci/configure-helper.sh index b80d868f261..b44eb227ea6 100644 --- a/cluster/gce/gci/configure-helper.sh +++ b/cluster/gce/gci/configure-helper.sh @@ -120,7 +120,7 @@ function get-local-disk-num() { function safe-block-symlink(){ local device="${1}" local symdir="${2}" - + mkdir -p "${symdir}" get-or-generate-uuid "${device}" @@ -194,11 +194,11 @@ function unique-uuid-bind-mount(){ # Trigger udev refresh so that newly formatted devices are propagated in by-uuid udevadm control --reload-rules udevadm trigger - udevadm settle + udevadm settle # grep the exact match of actual device, prevents substring matching local myuuid=$(ls -l /dev/disk/by-uuid/ | grep "/${actual_device}$" | tr -s ' ' | cut -d ' ' -f 9) - # myuuid should be the uuid of the device as found in /dev/disk/by-uuid/ + # myuuid should be the uuid of the device as found in /dev/disk/by-uuid/ if [[ -z "${myuuid}" ]]; then echo "Failed to get a uuid for device ${actual_device} when mounting." >&2 exit 2 @@ -230,7 +230,7 @@ function mount-ext(){ local devicenum="${2}" local interface="${3}" local format="${4}" - + if [[ -z "${devicenum}" ]]; then echo "Failed to get the local disk number for device ${ssd}" >&2 @@ -2230,8 +2230,11 @@ function start-image-puller { /etc/kubernetes/manifests/ } -# Starts a l7 loadbalancing controller for ingress. +# Setups manifests for ingress controller and gce-specific policies for service controller. function start-lb-controller { + setup-addon-manifests "addons" "loadbalancing" + + # Starts a l7 loadbalancing controller for ingress. if [[ "${ENABLE_L7_LOADBALANCING:-}" == "glbc" ]]; then echo "Start GCE L7 pod" prepare-log-file /var/log/glbc.log