kubeadm搭建过程错误记录


1.Kubelet的任何命令卡住

是因为 $HOME/.kube/config有问题

将/etc/kubernetes/admin.conf 粘贴复制过去

mkdir -p $HOME/.kube

cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

chown $(id -u):$(id -g) $HOME/.kube/config

要是还不行,查看集群信息

kubectl cluster-info

是$HOME/.kube/config的IP错了


2.在this might take a minute or longer if the control plane images have to be pulled

这里卡住肯定是有几个镜像拉取不下来,

一些是在/etc/kubernetes/manifests/下,查看每一个yaml文件的镜像地址

如果修改了私有仓库的地址,那这里的镜像地址就会修改

直接docker pull 拉取一下试一试,

A.如果不行说明是docker的配置问题,查看修改/etc/docker/daemon.json,配置成私有仓库的地址,或者阿里云,网易云之类的国内开源网站,文件具体内容在最下面。

B.如果生成的地址不是你想要的私有仓库的地址,或者国内源的地址。说明是kubeadm的配置问题,他其中有一个。

imageRepository: 172.25.0.112/library

这样在kubeadm生成的yaml文件的镜像地址,会修改成相应的仓库地址

C.如果还是失败,那就是有一个隐藏的镜像pause的问题,因为他的地址是另外生成的,上面的修改不能影响到他。他的修改是在

vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

最后加上,文件完整在最后

--pod-infra-container-image=172.25.0.112/library/pause-amd64:3.0


3.这个问题是上一个的延深

Unfortunately, an error has occurred:timed out waiting for the condition

This error is likely caused by:

- The kubelet is not running

- The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)

- Either there is no internet connection, or imagePullPolicy is set to "Never",

  so the kubelet cannot pull or find the following control plane images:

- k8s.gcr.io/kube-apiserver-amd64:v1.10.2

- k8s.gcr.io/kube-controller-manager-amd64:v1.10.2

- k8s.gcr.io/kube-scheduler-amd64:v1.10.2

- k8s.gcr.io/etcd-amd64:3.1.12 (only if no external etcd endpoints are configured)

If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:

- 'systemctl status kubelet'

- 'journalctl -xeu kubelet'

couldn't initialize a Kubernetes cluster

Apr 20 20:14:49 sz-pg-oam-k8stest-007.tendcloud.com kubelet[67016]: W0420 20:14:49.167886  67016 status_manager.go:461] Failed to get status for pod "kube-apiserver-sz-pg-oam-k8stest-007.tendcloud.com_kube-system(4ab323b863d89dbe339bace4f59a9674)": Get https://172.23.5.255:6443/api/v1/namespaces/kube-system/pods/kube-apiserver-sz-pg-oam-k8stest-007.tendcloud.com: dial tcp 172.23.5.255:6443: getsockopt: connection refused

Apr 20 20:14:49 sz-pg-oam-k8stest-007.tendcloud.com kubelet[67016]: I0420 20:14:49.175971  67016 kubelet_node_status.go:271] Setting node annotation to enable volume controller attach/detach

Apr 20 20:14:49 sz-pg-oam-k8stest-007.tendcloud.com kubelet[67016]: I0420 20:14:49.176384  67016 kubelet_node_status.go:271] Setting node annotation to enable volume controller attach/detach

Apr 20 20:14:49 sz-pg-oam-k8stest-007.tendcloud.com kubelet[67016]: W0420 20:14:49.179894  67016 status_manager.go:461] Failed to get status for pod "kube-controller-manager-sz-pg-oam-k8stest-007.tendcloud.com_kube-system(015b3a6b417294ccf28ff1f53295ec79)": Get https://172.23.5.255:6443/api/v1/namespaces/kube-system/pods/kube-controller-manager-sz-pg-oam-k8stest-007.tendcloud.com: dial tcp 172.23.5.255:6443: getsockopt: connection refused

表面上看着是kubelet除了问题

但是从端口上,可以看到是请求6443,出了问题。

6443是kube-api的端口,所以是kube-api除了问题

kubeadm的kube-api是镜像部署,dokcer images查看镜像,发现kube-apiserver-amd64这个镜像不存在

cd /etc/kubernetes/manifests

kubectl create -f kube-apiserver.yaml

输出:

sUnable to connect to the server: dial tcp 192.168.61.11:6443: i/o timeout

vi kube-apiserver.yaml

查看这一行 

image: k8s.gcr.io/kube-apiserver-amd64:v1.10.2

所以确定是镜像拉不下来导致一直报错

创建配置文件 kubeadm.yaml

imageRepository: "172.20.0.112/library"

这个地方写入私有仓库的路径,

则从新启动后

kube-apiserver.yaml文件的image就变成了

image: 172.20.0.112/library/kube-apiserver-amd64:v1.10.2

总之这个路径,docker pull 172.20.0.112/library/kube-apiserver-amd64:v1.10.2

可以拉去下来,则就没有问题

对了 如果还是失败,查看镜像发现没有pause的镜像

就根据下面的进行修改

布置私有仓库

https://www.itnotebooks.com/?p=302


4.etcd只能访问localhost和127.0.0.1 不能请求ip地址

是因为配置文件的问题

etcd安装,找到合适的版本下载

https://github.com/coreos/etcd/releases

解压,加上配置文件

创建相应的配置文件目录,目录看配置文件

(单是etcd启动只能访问127.0.0.1和localhost)

配置文件启动

etcd --config-file etcd.yaml &

测试

curl -v -X PUT  http://172.27.64.3:2379/v2/keys/test?value="test"


5.启动kubeadm后,查看/etc/log/message报错

Apr 20 20:15:43 sz-pg-oam-k8stest-007.tendcloud.com kubelet[67016]: W0420 20:15:43.244788  67016 cni.go:171] Unable to update cni config: No networks found in /etc/cni/net.d

Apr 20 20:15:43 sz-pg-oam-k8stest-007.tendcloud.com kubelet[67016]: E0420 20:15:43.244889  67016 kubelet.go:2125] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized

这里是cni网络插件的还没有成功启动,所以报错

可以选择macvlan,fannel等方案

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

文件内容

Daemon.json(172.0.0.1是私有仓库的地址)

-------------------------------------------------------------------------

{

  "bridge": "none",

  "graph": "/data1/docker",

  "log-level": "warn",

  "insecure-registries": ["172.0.0.1","172.0.0.2","bj-yh-oam-docker-hub-001.tendcloud.com"],

  "registry-mirror": "172.0.0.1",

  "exec-opts": ["native.cgroupdriver=systemd"],

  "storage-driver": "overlay2",

  "storage-opts": [

  "overlay2.override_kernel_check=true"

  ]

}

-------------------------------------------------------------------------


Kubeadm-config.yaml

-------------------------------------------------------------------------

api:

  advertiseAddress: 172.66.66.66

  bindPort: 6443

  controlPlaneEndpoint: ""

apiServerCertSANs:

- 172.66.66.16

- 172.66.66.15

- 172.66.66.14

auditPolicy:

  logDir: /var/log/kubernetes/audit

  logMaxAge: 2

  path: ""

authorizationModes:

- Node

- RBAC

certificatesDir: /etc/kubernetes/pki

cloudProvider: ""

criSocket: /var/run/dockershim.sock

etcd:

  caFile: ""

  certFile: ""

  dataDir: /var/lib/etcd

  endpoints: null

  image: ""

  keyFile: ""

featureGates:

  CoreDNS: true

imageRepository: 172.66.66.112/library

kubeProxy:

  config:

    bindAddress: 0.0.0.0

    clientConnection:

      acceptContentTypes: ""

      burst: 10

      contentType: application/vnd.kubernetes.protobuf

      kubeconfig: /var/lib/kube-proxy/kubeconfig.conf

      qps: 5

    clusterCIDR: ""

    configSyncPeriod: 15m0s

    conntrack:

      max: null

      maxPerCore: 32768

      min: 131072

      tcpCloseWaitTimeout: 1h0m0s

      tcpEstablishedTimeout: 24h0m0s

    enableProfiling: false

    featureGates:

      SupportIPVSProxyMode: true

    healthzBindAddress: 0.0.0.0:10256

    hostnameOverride: ""

    iptables:

      masqueradeAll: true

      masqueradeBit: 14

      minSyncPeriod: 0s

      syncPeriod: 30s

    ipvs:

      minSyncPeriod: 0s

      scheduler: rr

      syncPeriod: 30s

    metricsBindAddress: 127.0.0.1:10249

    mode: ipvs

    nodePortAddresses: null

    oomScoreAdj: -999

    portRange: ""

    resourceContainer: /kube-proxy

    udpIdleTimeout: 250ms

kubeletConfiguration: {}

kubernetesVersion: v1.10.2

networking:

  dnsDomain: jdtest.tendcloud.com

  podSubnet: ""

  serviceSubnet: 172.66.66.1/24

nodeName: bj-jd-dc-datanode-1

privilegedPods: false

token: ""

tokenGroups:

- system:bootstrappers:kubeadm:default-node-token

tokenTTL: 24h0m0s

tokenUsages:

- signing

- authentication

unifiedControlPlaneImage: ""

-------------------------------------------------------------------------


10-kubeadm.conf

-------------------------------------------------------------------------

[Service]

Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"

Environment="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true"

Environment="KUBELET_NETWORK_ARGS=--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin"

Environment="KUBELET_DNS_ARGS=--cluster-dns=172.88.28.19 --cluster-domain=yhk8s.tendcloud.com"

Environment="KUBELET_AUTHZ_ARGS=--authorization-mode=Webhook --client-ca-file=/etc/kubernetes/pki/ca.crt"

Environment="KUBELET_CADVISOR_ARGS=--cadvisor-port=0"

Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd"

Environment="KUBELET_CERTIFICATE_ARGS=--rotate-certificates=true --cert-dir=/var/lib/kubelet/pki"

Environment="KUBELET_CONFIG_ARGS=--config=/etc/kubernetes/start-kubelet.conf"

Environment="KUBELET_EXTRA_ARGS=--pod-infra-container-image=172.66.66.61/library/pause-amd64:3.1"

ExecStart=

ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_SYSTEM_PODS_ARGS $KUBELET_NETWORK_ARGS $KUBELET_DNS_ARGS $KUBELET_AUTHZ_ARGS $KUBELET_CADVISOR_ARGS $KUBELET_CGROUP_ARGS $KUBELET_CERTIFICATE_ARGS $KUBELET_EXTRA_ARGS $KUBELET_CONFIG_ARGS

-------------------------------------------------------------------------

Etcd-config.yaml

-------------------------------------------------------------------------

name: etcd-1

data-dir: /opt/etcd-v3.2.6/data

listen-client-urls: http://172.66.66.3:2379,http://127.0.0.1:2379

advertise-client-urls: http://172.66.66.3:2379,http://127.0.0.1:2379

listen-peer-urls: http://172.66.66.3:2380

initial-advertise-peer-urls: http://172.66.66.3:2380

initial-cluster: etcd-1=http://172.66.66.3:2380

initial-cluster-token: etcd-cluster-token

initial-cluster-state: new

-------------------------------------------------------------------------

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342