Saya mencoba memberikan konfigurasi kubeadm ketika saya menjalankan kubeadm init
Saya perhatikan bahwa saya memiliki konfigurasi dalam format yang tepat, katakanlah, ubah token
apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
kubernetesVersion: v1.4.4
secrets:
givenToken: 123456.3123fe2e098799f3
Ini hanya bekerja. Dan di keluaran kubeadm
Namun, jika saya menggunakan yaml lain. Pada dasarnya saya ingin menentukan file crt saya sendiri
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
Itu bahkan tidak keluar
sepertinya kubeadm tidak mengenali konfigurasi (?)
Apakah ada cara untuk men-debug ini?
Di mana dokumentasi sintaks untuk konfigurasi kubeadm?
Hanya ada contoh konfigurasi master di akhir https://kubernetes.io/docs/admin/kubeadm/
Jika saya ingin menentukan nilai baris perintah lain untuk server api yang didukung di https://kubernetes.io/docs/admin/kube-apiserver/ , apa nama yang sesuai?
Misalnya, jika saya ingin menentukan --tls-private-key-file untuk server api di kubeadm init config.yaml, apa nama yang sesuai? apakah itu tlsPrivateKeyFile?
@Lokicity Dari apa yang saya pahami, Anda tidak dapat secara dinamis mengubah konfigurasi pada rencana kontrol saat sedang berjalan. Anda harus memulai ulang komponen itu.
Adapun masalah token, jika Anda tidak memberikan token apa pun, itu akan menghasilkan satu untuk Anda.
Ya. Tetapi kubeadm init memiliki --config yang memungkinkan pengguna untuk memasukkan data default mereka. Bisakah saya meneruskan data tertentu yang saya inginkan untuk server api? Sebagai contoh, saya ingin menggunakan --tls-private-key-file saya sendiri untuk server api selain yang default yang dihasilkan oleh kubeadm.
Saya ingin dapat melakukannya pada waktu kubeadm ini
Contoh konfigurasi telah ditambahkan ke dokumen di sini:
@jistr ikuti tautan atas Anda, saya menggunakan file yaml di bawah ini
apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
etcd:
endpoints:
- http://127.0.0.1:2379
sebagai file konfigurasi tetapi tidak mencerminkan Endpoint etcd (masih nihil).
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"}
Saya bertanya-tanya di mana saya mungkin membuat kesalahan atau apakah itu bug kode?
Halo,
Kami mengalami masalah yang sama dengan @WIZARD-CXY.
Apakah ada pembaruan mengenai hal ini?
Terima kasih!
cc @jamiehannaford
Mungkin Anda bisa melihat dan melihat apakah irisan etcd tidak diurai dengan benar?
@WIZARD-CXY @akarasik Apa versi kubeadm
dan etcd
yang Anda gunakan? Saya baru saja mencoba dengan yang berikut ini dan itu berhasil untuk saya:
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
Juga di mana Anda mengakses struct kubeadm.MasterConfiguration
? Apakah itu dibuang secara otomatis atau apakah Anda menambahkan logika debug ke file?
@jamiehannaford kubeadm 1.6.1 dll 3.0.17
Saya mendapatkan struct kubeadm.MasterConfiguration melalui cetakan debug sederhana. Mungkin saya akan mengupgrade kubeadm dan mencobanya lagi hari ini dan hasilnya akan saya update disini. Terima kasih atas bantuan Anda
@jamiehannaford kubeadm 1.6.3 bekerja seperti pesona.
@Lokicity Apakah Anda masih mengalami masalah dengan versi kubeadm yang lebih baru?
Penutupan sebagai tetap... :+1:
lihat contoh untuk v1.14 di 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
Komentar yang paling membantu
Contoh konfigurasi telah ditambahkan ke dokumen di sini:
https://kubernetes.io/docs/admin/kubeadm/#config -file