問題一、unable to fetch the kubeadm-config ConfigMap: failed to get config map: Unauthorized
寧洱網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)從2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
[root@k8s-store01 ~]# kubeadm join 10.0.0.31:6443 --token 1euadv.48cjve19biy33b9m --discovery-token-ca-cert-hash sha256:295acb22b65296410968d040cfbb326642d2e3b177ccbc3626765a0ada6fa9ff
[preflight] Running pre-flight checks
[WARNING SystemVerification]: this Docker version is not on the list of validated versions: 19.03.5. Latest validated version: 18.09
[preflight] Reading configuration from the cluster...
[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'
error execution phase preflight: unable to fetch the kubeadm-config ConfigMap: failed to get config map: Unauthorized
解決辦法是: token已經(jīng)過期了,該token默認(rèn)是24小時內(nèi)有效果的,所以需要在master節(jié)點重新生成token
[root@k8s-master01 ~]# kubeadm token create
ottwfk.al3ksj32yeqogk9y
[root@k8s-master01 ~]# kubeadm token list
TOKEN TTL EXPIRES USAGES DESCRIPTION EXTRA GROUPS
1euadv.48cjve19biy33b9m 2019-12-08T16:17:03+08:00 authentication,signing system:bootstrappers:kubeadm:default-node-token
ottwfk.al3ksj32yeqogk9y 23h 2019-12-10T13:20:57+08:00 authentication,signing system:bootstrappers:kubeadm:default-node-token
問題二:repository does not exist or may require 'docker login': denied: requested access to the resource is denied
[root@k8s-master01 ~]# kubectl describe pod nginx-demo
Normal Scheduled 15m default-scheduler Successfully assigned default/nginx-demo to k8s-node03
Normal BackOff 14m (x6 over 15m) kubelet, k8s-node03 Back-off pulling image "10.0.0.33/base_images/nginx:1.13"
Normal Pulling 13m (x4 over 15m) kubelet, k8s-node03 Pulling image "10.0.0.33/base_images/nginx:1.13"
Warning Failed 13m (x4 over 15m) kubelet, k8s-node03 Failed to pull image "10.0.0.33/base_images/nginx:1.13": rpc error: code = Unknown desc = Error response from daemon: pull access denied for 10.0.0.33/base_images/nginx, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
Warning Failed 13m (x4 over 15m) kubelet, k8s-node03 Error: ErrImagePull
Warning Failed 4m56s (x43 over 15m) kubelet, k8s-node03 Error: ImagePullBackOff
解決方法是:node節(jié)點沒有權(quán)限從harbor拉取鏡像,所以需要在master節(jié)點進(jìn)行授權(quán)
[root@k8s-master01 ~]# kubectl create secret docker-registry harbor-secret --namespace=default --docker-server=10.0.0.33 --docker-username=admin --docker-password=Harbor12345
// 添加授權(quán)
[root@k8s-master01 ~]# cat web-demo.yaml
apiVersion: v1
kind: Pod
metadata:
name: nginx-demo
labels:
env: test
spec:
containers:
- name: nginx
image: 10.0.0.33/base_images/nginx:1.13
imagePullPolicy: Always
imagePullSecrets:
- name: harbor-secret
nodeSelector:
app: k8s-node03