Unable to connect to the server: x509: certificate has expired or is not yet valid
#!/bin/bash
[ -f "$1" ] || exit
if [[ $1 =~ \.(crt|pem)$ ]]; then
openssl x509 -in "$1" -text -noout
fi
if [[ $1 =~ \.conf$ ]]; then
certfile=$(mktemp)
grep 'client-certificate-data:' "$1"| awk '{ print $2}' | base64 -d > "$certfile"
openssl x509 -in "$certfile" -text -noout
rm -f "$certfile"
fi
kubeadm alpha certs renew all
kubeadm alpha kubeconfig user --client-name system:node:kube.slurm.io --org system:nodes > /etc/kubernetes/kubelet.conf
shcert /etc/kubernetes/kubelet.conf
curl -L -o /tmp/kubeadm https://dl.k8s.io/release/v1.17.4/bin/linux/amd64/kubeadm
[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req
[v3_req]
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
extendedKeyUsage = clientAuth
[client]
keyUsage = critical,digitalSignature, keyEncipherment
extendedKeyUsage = clientAuth
[apiproxyclient]
keyUsage = critical,digitalSignature, keyEncipherment
extendedKeyUsage = clientAuth, serverAuth
[etcd]
keyUsage = critical,digitalSignature, keyEncipherment
extendedKeyUsage = clientAuth, serverAuth
subjectAltName = @alt_names
[api]
keyUsage = critical,digitalSignature, keyEncipherment
extendedKeyUsage = clientAuth, serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = ec2-us-east-1-1a-c1-master-2
DNS.2 = ec2-us-east-1-1a-c1-master-3
DNS.3 = ec2-us-east-1-1a-c1-master-1
DNS.4 = localhost
DNS.5 = kubernetes
DNS.6 = kubernetes.default
DNS.7 = kubernetes.default.svc
DNS.8 = kubernetes.default.svc.cluster.local
IP.1 = 10.0.0.109
IP.2 = 10.0.0.159
IP.3 = 10.0.0.236
IP.4 = 127.0.0.1
IP.5 = 10.43.0.1
openssl x509 -in cert.crt -text
yum install libfaketime
LD_PRELOAD=/usr/lib64/faketime/libfaketime.so.1 FAKETIME="-365d" openssl x509 -req ...
openssl x509 -x509toreq -in "node.cert" -out "node.csr" -signkey "node.key" -extfile "openssl.cnf" -extensions client
LD_PRELOAD=/usr/lib64/faketime/libfaketime.so.1 FAKETIME="-365d" openssl x509 -req -days 36500 -in "node.csr" -CA "kube-ca.pem" -CAkey "kube-ca-key.pem" -CAcreateserial -out "node.new.cert" -extfile "openssl.cnf" -extensions client