68 lines
2.4 KiB
YAML
68 lines
2.4 KiB
YAML
# Voici un exemple de configuration de cloud-controller-manager en tant que Daemonset dans votre cluster.
|
||
# Il suppose que vos masters peuvent executer des pods et ont le role node-role.kubernetes.io/master
|
||
# Notez que ce Daemonset ne fonctionnera pas directement pour votre cloud, c’est juste un exemple.
|
||
|
||
---
|
||
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
|
||
# pour les fournisseurs in-tree, nous utilisons k8s.gcr.io/cloud-controller-manager
|
||
# cela peut être remplacé par n'importe quelle autre image pour les fournisseurs out-of-tree
|
||
image: k8s.gcr.io/cloud-controller-manager:v1.8.0
|
||
command:
|
||
- /usr/local/bin/cloud-controller-manager
|
||
- --cloud-provider=<YOUR_CLOUD_PROVIDER> # Ajoutez votre propre fournisseur de cloud ici!
|
||
- --leader-elect=true
|
||
- --use-service-account-credentials
|
||
# ces drapeaux varient pour chaque fournisseur de cloud
|
||
- --allocate-node-cidrs=true
|
||
- --configure-cloud-routes=true
|
||
- --cluster-cidr=172.17.0.0/16
|
||
tolerations:
|
||
# cela est nécessaire pour que CCM puisse s'initialiser
|
||
- key: node.cloudprovider.kubernetes.io/uninitialized
|
||
value: "true"
|
||
effect: NoSchedule
|
||
# le daemonset doit pouvoir être exécuté sur les nœuds master. Le marquage peut varier en fonction de la configuration de votre cluster.
|
||
- key: node-role.kubernetes.io/master
|
||
effect: NoSchedule
|
||
# ceci limite le fonctionnement du CCM sur des nœuds master
|
||
# le sélecteur de nœud peut varier en fonction de la configuration de votre cluster
|
||
nodeSelector:
|
||
node-role.kubernetes.io/master: ""
|