Create ccm-example.yaml
parent
20cd32fe34
commit
910bb33ff9
|
@ -0,0 +1,73 @@
|
||||||
|
# This is an example of how to set up cloud-controller-manager as a Daemonset in your cluster.
|
||||||
|
# It assumes that your masters can run pods and has the role node-role.kubernetes.io/master
|
||||||
|
# Note that this Daemonset will not work straight out of the box for your cloud, this is
|
||||||
|
# meant to be a guideline.
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: cloud-controller-manager
|
||||||
|
namespace: kube-system
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
name: system:cloud-controller-manager
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: cluster-admin
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: cloud-controller-manager
|
||||||
|
namespace: kube-system
|
||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: DaemonSet
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
k8s-app: cloud-controller-manager
|
||||||
|
name: cloud-controller-manager
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
k8s-app: cloud-controller-manager
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
k8s-app: cloud-controller-manager
|
||||||
|
spec:
|
||||||
|
serviceAccountName: cloud-controller-manager
|
||||||
|
containers:
|
||||||
|
- name: cloud-controller-manager
|
||||||
|
# for in-tree providers we use registry.k8s.io/cloud-controller-manager
|
||||||
|
# this can be replaced with any other image for out-of-tree providers
|
||||||
|
image: registry.k8s.io/cloud-controller-manager:v1.8.0
|
||||||
|
command:
|
||||||
|
- /usr/local/bin/cloud-controller-manager
|
||||||
|
- --cloud-provider=[YOUR_CLOUD_PROVIDER] # Add your own cloud provider here!
|
||||||
|
- --leader-elect=true
|
||||||
|
- --use-service-account-credentials
|
||||||
|
# these flags will vary for every cloud provider
|
||||||
|
- --allocate-node-cidrs=true
|
||||||
|
- --configure-cloud-routes=true
|
||||||
|
- --cluster-cidr=172.17.0.0/16
|
||||||
|
tolerations:
|
||||||
|
# this is required so CCM can bootstrap itself
|
||||||
|
- key: node.cloudprovider.kubernetes.io/uninitialized
|
||||||
|
value: "true"
|
||||||
|
effect: NoSchedule
|
||||||
|
# these tolerations are to have the daemonset runnable on control plane nodes
|
||||||
|
# remove them if your control plane nodes should not run pods
|
||||||
|
- key: node-role.kubernetes.io/control-plane
|
||||||
|
operator: Exists
|
||||||
|
effect: NoSchedule
|
||||||
|
- key: node-role.kubernetes.io/master
|
||||||
|
operator: Exists
|
||||||
|
effect: NoSchedule
|
||||||
|
# this is to restrict CCM to only run on master nodes
|
||||||
|
# the node selector may vary depending on your cluster setup
|
||||||
|
nodeSelector:
|
||||||
|
node-role.kubernetes.io/master: ""
|
Loading…
Reference in New Issue