أحاول إعطاء 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؟
Lokicity مما أفهمه ، لا يمكنك تغيير التكوينات ديناميكيًا في خطة التحكم أثناء تشغيلها. سيكون عليك إعادة تشغيل هذا المكون.
بالنسبة لمسألة الرمز المميز ، إذا لم تقم بتمرير أي رمز مميز ، فسيتم إنشاء رمز واحد لك.
نعم. لكن يحتوي kubeadm init على تكوين يسمح للمستخدم بتمرير بياناته الافتراضية. هل يمكنني تمرير بعض البيانات التي أريدها لخوادم api؟ على سبيل المثال ، أريد استخدام ملف --tls-private-key-file الخاص بي لخادم api بخلاف الملف الافتراضي الذي تم إنشاؤه بواسطة kubeadm.
أريد أن أكون قادرًا على القيام بذلك في وقت البدء kubeadm
تمت إضافة مثال تهيئة إلى المستندات هنا:
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
التعليق الأكثر فائدة
تمت إضافة مثال تهيئة إلى المستندات هنا:
https://kubernetes.io/docs/admin/kubeadm/#config -file