5.7.4 - etcd

I think it'd be handy showing in the lab how to create the etcd-cp that is used here, presuming it's a copy of etcd that has been created for debugging?
If I run the command as it is shown I get:Error from server (NotFound): pods "etcd-cp" not found
I'm pretty sure I've seen at some point how to do this, but I cannot remember it.
If I substitute for the etcd master I'm running, I get an error regarding the CA Cert:
kubectl -n kube-system exec -it etcd-k8smaster -- sh -c "ECTCDCTL_API=3 ETCDCTL_CACERT=/etc/kubernetes/pki/etcd/ca.crt ETCDCTL_CERT=/etc/kubernetes/pki/apiserver-etcd-client.crt ETCDCTL_KEY=/etc/kubernetes/pki/apiserver-etcd-client.key etcdctl --endpoints=https://127.0.0.1:2379 get /registry/secrets/default/first"
{"level":"warn","ts":"2021-10-15T06:26:54.179Z","caller":"clientv3/retry_interceptor.go:62","msg":"retrying of unary invoker failed","target":"endpoint://client-7bd8bf03-173b-48ff-9305-0a65281c1900/127.0.0.1:2379","attempt":0,"error":"rpc error: code = DeadlineExceeded desc = latest balancer error: all SubConns are in TransientFailure, latest connection error: connection error: desc = \"transport: authentication handshake failed: x509: certificate signed by unknown authority\""} Error: context deadline exceeded command terminated with exit code 1
Comments
-
Hi @dnx,
The name of the etcd pod includes the hostname of the control-plane node
etcd-hostname
. In the example, the hostname iscp
.Regards,
-Chris0 -
Thanks Chris, I wondered that after I posted it,
cp
threw me off the track haha, guess that's named after youAny hint on the error I received?
0 -
Hi @dnx,
The error may be caused by unexpected key and cert files. Did you try running the command with the key and cert shown in the lab guide?
The multi-line command itself may not be parsed correctly by the command line client especially when copy/pasted from PDF; converting it into a single-line command may also help.
This is assuming that your etcd pod is named
etcd-k8smaster
wherek8smaster
is your control-plane node hostname and not just an alias.Regards,
-CP
0 -
Here is the output I based that on:
$ k get po --all-namespaces |grep etcd kube-system etcd-k8smaster 1/1 Running 0 2d11h $ sudo grep etcd /etc/kubernetes/manifests/kube-apiserver.yaml - --etcd-cafile=/etc/kubernetes/pki/etcd/ca.crt - --etcd-certfile=/etc/kubernetes/pki/apiserver-etcd-client.crt - --etcd-keyfile=/etc/kubernetes/pki/apiserver-etcd-client.key - --etcd-servers=https://127.0.0.1:2379
I did manage to get it working:
$ kubectl -n kube-system exec -it etcd-k8smaster -- sh -c "ECTCDCTL_API=3 ETCDCTL_CACERT=/etc/kubernetes/pki/etcd/ca.crt ETCDCTL_CERT=/etc/kubernetes/pki/etcd/server.crt ETCDCTL_KEY=/etc/kubernetes/pki/etcd/server.key etcdctl --endpoints=https://127.0.0.1:2379 get /registry/secrets/default/first" /registry/secrets/default/first k8s v1Secret firstdefault"*$c02f5f24-a877-4b6a-ab03-8d5ba8fc36de2ȶzb kubectl-createUpdatevȶFieldsV1:0 .{"f:data":{".":{},"f:somekey":{}},"f:type":{}} somekeyfindmeOpaque"
I got the cert details from the following. I'm not sure how
/etc/kubernetes/pki/apiserver-etcd-client.crt
becomes/etc/kubernetes/pki/etcd/server.crt
:$ k describe po etcd-k8smaster -n kube-system |grep pki --cert-file=/etc/kubernetes/pki/etcd/server.crt --key-file=/etc/kubernetes/pki/etcd/server.key --peer-cert-file=/etc/kubernetes/pki/etcd/peer.crt --peer-key-file=/etc/kubernetes/pki/etcd/peer.key --peer-trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt --trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt /etc/kubernetes/pki/etcd from etcd-certs (rw) Path: /etc/kubernetes/pki/etcd
2
Categories
- All Categories
- 50 LFX Mentorship
- 103 LFX Mentorship: Linux Kernel
- 553 Linux Foundation Boot Camps
- 296 Cloud Engineer Boot Camp
- 119 Advanced Cloud Engineer Boot Camp
- 52 DevOps Engineer Boot Camp
- 53 Cloud Native Developer Boot Camp
- 4 Express Training Courses
- 4 Express Courses - Discussion Forum
- 1.9K Training Courses
- 18 LFC110 Class Forum
- 6 LFC131 Class Forum
- 25 LFD102 Class Forum
- 150 LFD103 Class Forum
- 17 LFD121 Class Forum
- LFD137 Class Forum
- 61 LFD201 Class Forum
- LFD210 Class Forum
- LFD210-CN Class Forum
- 1 LFD213 Class Forum - Discontinued
- 128 LFD232 Class Forum
- LFD237 Class Forum
- 23 LFD254 Class Forum
- 598 LFD259 Class Forum
- 102 LFD272 Class Forum
- 1 LFD272-JP クラス フォーラム
- LFD273 Class Forum
- 2 LFS145 Class Forum
- 24 LFS200 Class Forum
- 739 LFS201 Class Forum
- 1 LFS201-JP クラス フォーラム
- 3 LFS203 Class Forum
- 69 LFS207 Class Forum
- 300 LFS211 Class Forum
- 54 LFS216 Class Forum
- 47 LFS241 Class Forum
- 41 LFS242 Class Forum
- 37 LFS243 Class Forum
- 11 LFS244 Class Forum
- 34 LFS250 Class Forum
- 1 LFS250-JP クラス フォーラム
- LFS251 Class Forum
- 140 LFS253 Class Forum
- LFS254 Class Forum
- 1K LFS258 Class Forum
- 10 LFS258-JP クラス フォーラム
- 92 LFS260 Class Forum
- 130 LFS261 Class Forum
- 32 LFS262 Class Forum
- 79 LFS263 Class Forum
- 15 LFS264 Class Forum
- 11 LFS266 Class Forum
- 17 LFS267 Class Forum
- 17 LFS268 Class Forum
- 23 LFS269 Class Forum
- 203 LFS272 Class Forum
- 1 LFS272-JP クラス フォーラム
- LFS281 Class Forum
- 221 LFW211 Class Forum
- 167 LFW212 Class Forum
- SKF100 Class Forum
- 902 Hardware
- 219 Drivers
- 74 I/O Devices
- 44 Monitors
- 115 Multimedia
- 209 Networking
- 101 Printers & Scanners
- 85 Storage
- 761 Linux Distributions
- 88 Debian
- 66 Fedora
- 15 Linux Mint
- 13 Mageia
- 24 openSUSE
- 141 Red Hat Enterprise
- 33 Slackware
- 13 SUSE Enterprise
- 356 Ubuntu
- 477 Linux System Administration
- 41 Cloud Computing
- 69 Command Line/Scripting
- Github systems admin projects
- 95 Linux Security
- 77 Network Management
- 108 System Management
- 49 Web Management
- 66 Mobile Computing
- 23 Android
- 29 Development
- 1.2K New to Linux
- 1.1K Getting Started with Linux
- 536 Off Topic
- 131 Introductions
- 216 Small Talk
- 21 Study Material
- 817 Programming and Development
- 275 Kernel Development
- 508 Software Development
- 928 Software
- 260 Applications
- 184 Command Line
- 3 Compiling/Installing
- 76 Games
- 316 Installation
- 59 All In Program
- 59 All In Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)