Kubeadm: Documentation/exemple de configuration Kubeadm ?

Créé le 24 janv. 2017  ·  12Commentaires  ·  Source: kubernetes/kubeadm

J'essaie de donner à kubeadm une configuration lorsque j'exécute kubeadm init
Je remarque que j'ai la configuration exactement au bon format, disons, changez le jeton

apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
kubernetesVersion: v1.4.4
secrets:
  givenToken: 123456.3123fe2e098799f3

Cela fonctionne. Et dans la sortie kubeadm

validation du jeton fourni
jeton fourni accepté

Cependant, si j'utilise un autre yaml. Fondamentalement, je veux spécifier mes propres fichiers crt

apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
kubernetesVersion: v1.4.4
etcd:
  caFile : /root/easy-rsa-master/easyrsa3/pki/ca.crt
  certFile : /root/easy-rsa-master/easyrsa3/pki/issued/kubernetes-master.crt
  keyFile : /root/easy-rsa-master/easyrsa3/pki/private/kubernetes-master.key

Il ne sort même pasvalidation du jeton fourni
il semble que kubeadm n'ait pas reconnu la configuration (?)

Existe-t-il un moyen de déboguer cela?
Où est la documentation pour la syntaxe de kubeadm config ?
Il n'y a qu'un exemple de configuration principale à la fin de https://kubernetes.io/docs/admin/kubeadm/
Si je veux spécifier d'autres valeurs de ligne de commande pour les serveurs api pris en charge dans https://kubernetes.io/docs/admin/kube-apiserver/ , quel est le nom correspondant ?

Par exemple, si je veux spécifier le --tls-private-key-file pour le serveur api dans kubeadm init config.yaml, quel est le nom correspondant ? est-ce tlsPrivateKeyFile ?

Commentaire le plus utile

Un exemple de configuration a été ajouté à la documentation ici :

https://kubernetes.io/docs/admin/kubeadm/#config-file

Tous les 12 commentaires

@Lokicity D'après ce que j'ai compris, vous ne pouvez pas modifier dynamiquement les configurations du plan de contrôle pendant son exécution. Vous devrez redémarrer ce composant.

En ce qui concerne le problème du jeton, si vous ne transmettez aucun jeton, il en générera un pour vous.

Oui. Mais kubeadm init a un --config qui permet à l'utilisateur de transmettre ses données par défaut. Puis-je transmettre certaines données que je souhaite pour les serveurs API ? Par exemple, je veux utiliser mon propre --tls-private-key-file pour le serveur api autre que celui par défaut généré par kubeadm.
Je veux pouvoir le faire au moment de l'initialisation de kubeadm

Un exemple de configuration a été ajouté à la documentation ici :

https://kubernetes.io/docs/admin/kubeadm/#config-file

@jistr suivez votre lien supérieur, j'ai utilisé le fichier yaml ci-dessous

apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
etcd:
  endpoints:
  - http://127.0.0.1:2379

en tant que fichier de configuration mais il ne reflète pas le point de terminaison etcd (toujours nul).

kubeadm.MasterConfiguration{TypeMeta:v1.TypeMeta{Kind:"", APIVersion:""}, API:kubeadm.API{AdvertiseAddress:"192.168.180.53", BindPort:6443}, Etcd:kubeadm.Etcd{Endpoints:[]string(nil), CAFil
e:"", CertFile:"", KeyFile:""}, Networking:kubeadm.Networking{ServiceSubnet:"10.96.0.0/12", PodSubnet:"", DNSDomain:"cluster.local"}, KubernetesVersion:"v1.6.0", CloudProvider:"", AuthorizationM
ode:"RBAC", Token:"8f6cc5.9fdf609145758fbd", TokenTTL:0, SelfHosted:false, APIServerExtraArgs:map[string]string(nil), ControllerManagerExtraArgs:map[string]string(nil), SchedulerExtraArgs:map[st
ring]string(nil), APIServerCertSANs:[]string(nil), CertificatesDir:"/etc/kubernetes/pki"}

Je me demande où j'ai peut-être fait une erreur ou est-ce un bogue de code?

Bonjour,

Nous avons le même problème que @WIZARD-CXY.
Y a-t-il une mise à jour à ce sujet ?

Merci!

cc @jamiehannaford
Peut-être pourriez-vous jeter un coup d'œil et voir si la tranche etcd n'est pas analysée correctement?

@WIZARD-CXY @akarasik Quelle version de kubeadm et etcd utilisez-vous ? Je viens d'essayer avec ce qui suit et cela a fonctionné pour moi:

root<strong i="9">@c1</strong>: kubeadm version
kubeadm version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.3", GitCommit:"0480917b552be33e2dba47386e51decb1a211df6", GitTreeState:"clean", BuildDate:"2017-05-10T15:38:08Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"}

root<strong i="10">@c1</strong>: curl 127.0.0.1:2379/version
{"etcdserver":"3.1.7","etcdcluster":"3.1.0"}

root<strong i="11">@c1</strong>: cat config.yaml
apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
etcd:
  endpoints:
  - http://127.0.0.1:2379

root<strong i="12">@c1</strong>: kubectl get pods --all-namespaces
NAMESPACE     NAME                         READY     STATUS    RESTARTS   AGE
kube-system   kube-controller-manager-c1   1/1       Running   0          49s
kube-system   kube-dns-3913472980-vxldm    0/3       Pending   0          45s
kube-system   kube-proxy-2d3q4             1/1       Running   0          45s
kube-system   kube-scheduler-c1            1/1       Running   0          56s

Où avez-vous également accédé à la structure kubeadm.MasterConfiguration ? A-t-il été vidé automatiquement ou avez-vous ajouté une logique de débogage à un fichier ?

@jamiehannaford kubeadm 1.6.1 etcd 3.0.17
J'ai obtenu la structure kubeadm.MasterConfiguration via une simple impression de débogage. Je vais peut-être mettre à jour kubeadm et réessayer aujourd'hui et je mettrai à jour le résultat ici. Merci pour ton aide

@jamiehannaford kubeadm 1.6.3 fonctionne comme un charme.

@Lokicity Rencontrez -vous toujours des problèmes avec les nouvelles versions de kubeadm ?

Fermeture comme prévu... :+1:

voir l'exemple pour la v1.14 dans https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta1

apiVersion: kubeadm.k8s.io/v1beta1
kind: InitConfiguration
bootstrapTokens:
- token: "9a08jv.c0izixklcxtmnze7"
  description: "kubeadm bootstrap token"
  ttl: "24h"
- token: "783bde.3f89s0fje9f38fhf"
  description: "another bootstrap token"
  usages:
  - authentication
  - signing
  groups:
  - system:bootstrappers:kubeadm:default-node-token
nodeRegistration:
  name: "ec2-10-100-0-1"
  criSocket: "/var/run/dockershim.sock"
  taints:
  - key: "kubeadmNode"
    value: "master"
    effect: "NoSchedule"
  kubeletExtraArgs:
    cgroup-driver: "cgroupfs"
localAPIEndpoint:
  advertiseAddress: "10.100.0.1"
  bindPort: 6443
---
apiVersion: kubeadm.k8s.io/v1beta1
kind: ClusterConfiguration
etcd:
  # one of local or external
  local:
    imageRepository: "k8s.gcr.io"
    imageTag: "3.2.24"
    dataDir: "/var/lib/etcd"
    extraArgs:
      listen-client-urls: "http://10.100.0.1:2379"
    serverCertSANs:
    -  "ec2-10-100-0-1.compute-1.amazonaws.com"
    peerCertSANs:
    - "10.100.0.1"
  # external:
    # endpoints:
    # - "10.100.0.1:2379"
    # - "10.100.0.2:2379"
    # caFile: "/etcd/kubernetes/pki/etcd/etcd-ca.crt"
    # certFile: "/etcd/kubernetes/pki/etcd/etcd.crt"
    # keyFile: "/etcd/kubernetes/pki/etcd/etcd.key"
networking:
  serviceSubnet: "10.96.0.0/12"
  podSubnet: "10.100.0.1/24"
  dnsDomain: "cluster.local"
kubernetesVersion: "v1.12.0"
controlPlaneEndpoint: "10.100.0.1:6443"
apiServer:
  extraArgs:
    authorization-mode: "Node,RBAC"
  extraVolumes:
  - name: "some-volume"
    hostPath: "/etc/some-path"
    mountPath: "/etc/some-pod-path"
    readOnly: false
    pathType: File
  certSANs:
  - "10.100.1.1"
  - "ec2-10-100-0-1.compute-1.amazonaws.com"
  timeoutForControlPlane: 4m0s
controllerManager:
  extraArgs:
    "node-cidr-mask-size": "20"
  extraVolumes:
  - name: "some-volume"
    hostPath: "/etc/some-path"
    mountPath: "/etc/some-pod-path"
    readOnly: false
    pathType: File
scheduler:
  extraArgs:
    address: "10.100.0.1"
extraVolumes:
- name: "some-volume"
  hostPath: "/etc/some-path"
  mountPath: "/etc/some-pod-path"
  readOnly: false
  pathType: File
certificatesDir: "/etc/kubernetes/pki"
imageRepository: "k8s.gcr.io"
useHyperKubeImage: false
clusterName: "example-cluster"
---
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
# kubelet specific options here
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
# kube-proxy specific options here
Cette page vous a été utile?
0 / 5 - 0 notes