Kubeadm: وثائق / مثال لتكوين Kubeadm؟

تم إنشاؤها على ٢٤ يناير ٢٠١٧  ·  12تعليقات  ·  مصدر: kubernetes/kubeadm

أحاول إعطاء kubeadm تهيئة عندما أقوم بتشغيل kubeadm init
لاحظت أن لدي التكوين بالتنسيق الصحيح تمامًا ، على سبيل المثال ، قم بتغيير الرمز المميز

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

إنه يعمل فقط. وفي الإخراج kubeadm

التحقق من صحة الرمز المقدم
تم قبول الرمز المقدم

ومع ذلك ، إذا استخدمت yaml آخر. في الأساس ، أريد تحديد ملفات 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

لا ينتج حتىالتحقق من صحة الرمز المقدم
يبدو أن kubeadm لم يتعرف على التكوين (؟)

هل هناك طريقة لتصحيح هذا؟
أين هو توثيق بناء الجملة لتكوين kubeadm؟
لا يوجد سوى نموذج تكوين رئيسي في نهاية https://kubernetes.io/docs/admin/kubeadm/
إذا كنت أرغب في تحديد قيم سطر أوامر أخرى لخوادم api المدعومة في https://kubernetes.io/docs/admin/kube-apiserver/ ، فما هو الاسم المقابل؟

على سبيل المثال ، إذا أردت تحديد ملف --tls-private-key-file لخادم api في kubeadm init config.yaml ، فما الاسم المقابل؟ هل هو tlsPrivateKeyFile؟

التعليق الأكثر فائدة

تمت إضافة مثال تهيئة إلى المستندات هنا:

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

ال 12 كومينتر

Lokicity مما أفهمه ، لا يمكنك تغيير التكوينات ديناميكيًا في خطة التحكم أثناء تشغيلها. سيكون عليك إعادة تشغيل هذا المكون.

بالنسبة لمسألة الرمز المميز ، إذا لم تقم بتمرير أي رمز مميز ، فسيتم إنشاء رمز واحد لك.

نعم. لكن يحتوي kubeadm init على تكوين يسمح للمستخدم بتمرير بياناته الافتراضية. هل يمكنني تمرير بعض البيانات التي أريدها لخوادم api؟ على سبيل المثال ، أريد استخدام ملف --tls-private-key-file الخاص بي لخادم api بخلاف الملف الافتراضي الذي تم إنشاؤه بواسطة kubeadm.
أريد أن أكون قادرًا على القيام بذلك في وقت البدء kubeadm

تمت إضافة مثال تهيئة إلى المستندات هنا:

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

jistr اتبع الرابط العلوي الخاص بك ، لقد استخدمت ملف yaml أدناه

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

كملف تكوين ولكنه لا يعكس نقطة النهاية etcd (ما زال لا شيء).

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"}

أتساءل أين قد أخطأت أم أنها خطأ في الكود؟

أهلا،

نواجه نفس المشكلة مثل @ WIZARD-CXY.
هل هناك أي تحديث بخصوص هذا؟

شكرا!

ccjamiehannaford
ربما يمكنك إلقاء نظرة ومعرفة ما إذا لم يتم تحليل شريحة إلخ بشكل صحيح؟

@ WIZARD- CXYakarasik ما هو إصدار kubeadm و etcd الذي تستخدمه؟ لقد جربت للتو ما يلي وقد نجحت معي:

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

أيضًا من أين يمكنك الوصول إلى kubeadm.MasterConfiguration ؟ هل تم إلغاؤه تلقائيًا أم أضفت منطق تصحيح الأخطاء إلى ملف؟

jamiehannaford kubeadm 1.6.1 etcd 3.0.17
حصلت على هيكل kubeadm.MasterConfiguration من خلال طباعة تصحيح أخطاء بسيطة. ربما سأقوم بترقية kubeadm وأجرّبها مرة أخرى اليوم وسوف أقوم بتحديث النتيجة هنا. شكرا لمساعدتك

jamiehannaford kubeadm 1.6.3 يعمل مثل السحر.

Lokicity هل ما زلت تواجه مشكلات مع الإصدارات الأحدث من kubeadm؟

الإغلاق كما تم إصلاحه ...: +1:

انظر مثال v1.14 في 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
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات