1. 程式人生 > >在Centos 7 上 搭建 K8S --坑a)

在Centos 7 上 搭建 K8S --坑a)

在node 上建立etcd, 將其加入master 中,發現pod 狀態是:CrashLoopBackOff

Debug steps:

step 1)在master 上check 新加的etcd pod 狀態

[[email protected] kubernetes]# kubectl get pods --namespace=kube-system -o wide
NAME                                  READY     STATUS             RESTARTS   AGE       IP              NODE
coredns-77d4bbc998-4rmpg              1/1       Running            0          23h       10.244.0.5      k8s-master
etcd-huleib.eng.platformlab.ibm.com   0/1       CrashLoopBackOff 

  9          23m       9.111.252.241   huleib.eng.platformlab.ibm.com
etcd-k8s-master                       1/1       Running            0          23h       9.111.252.196   k8s-master
kube-apiserver-k8s-master             1/1       Running            0          23h       9.111.252.196   k8s-master
kube-controller-manager-k8s-master    1/1       Running            0          23h       9.111.252.196   k8s-master
kube-flannel-ds-wrktv                 1/1       Running            0          22h       9.111.252.241   huleib.eng.platformlab.ibm.com
kube-flannel-ds-xd52v                 1/1       Running            0          22h       9.111.252.196   k8s-master
kube-proxy-2nwpw                      1/1       Running            0          23h       9.111.252.241   huleib.eng.platformlab.ibm.com
kube-proxy-9kvb4                      1/1       Running            0          23h       9.111.252.196   k8s-master
kube-scheduler-k8s-master             1/1       Running            0          23h       9.111.252.196   k8s-master

step 2)進一步驗證阻塞情況

[[email protected] kubernetes]# kubectl get events --namespace=kube-system -o wide
LAST SEEN   FIRST SEEN   COUNT     NAME                                                   KIND      SUBOBJECT               TYPE      REASON                  SOURCE                                    MESSAGE
15m         15m          1         etcd-huleib.eng.platformlab.ibm.com.14f4bb15ddf09e42   Pod                               Normal    SuccessfulMountVolume   kubelet, huleib.eng.platformlab.ibm.com   MountVolume.SetUp succeeded for volume "etcd"
15m         15m          1         etcd-huleib.eng.platformlab.ibm.com.14f4bb15e6a4bf79   Pod       spec.containers{etcd}   Normal    Pulling                 kubelet, huleib.eng.platformlab.ibm.com   pulling image "gcr.io/google_containers/etcd-amd64:3.0.17"
14m         14m          1         etcd-huleib.eng.platformlab.ibm.com.14f4bb2c84316077   Pod       spec.containers{etcd}   Normal    Pulled                  kubelet, huleib.eng.platformlab.ibm.com   Successfully pulled image "gcr.io/google_containers/etcd-amd64:3.0.17"
13m         14m          4         etcd-huleib.eng.platformlab.ibm.com.14f4bb2c84cd0412   Pod       spec.containers{etcd}   Normal    Created                 kubelet, huleib.eng.platformlab.ibm.com   Created container
13m         14m          3         etcd-huleib.eng.platformlab.ibm.com.14f4bb2c8a9c15ab   Pod       spec.containers{etcd}   Normal    Started                 kubelet, huleib.eng.platformlab.ibm.com   Started container
13m         14m          3         etcd-huleib.eng.platformlab.ibm.com.14f4bb2cacf5e68d   Pod       spec.containers{etcd}   Normal    Pulled                  kubelet, huleib.eng.platformlab.ibm.com   Container image "gcr.io/google_containers/etcd-amd64:3.0.17" already present on machine
13m         14m          6         etcd-huleib.eng.platformlab.ibm.com.14f4bb2ce912e87f   Pod       spec.containers{etcd}   Warning   BackOff                 kubelet, huleib.eng.platformlab.ibm.com   Back-off restarting failed container
35s         14m          67        etcd-huleib.eng.platformlab.ibm.com.14f4bb2ce914473e   Pod                               Warning   FailedSync              kubelet, huleib.eng.platformlab.ibm.com   Error syncing pod

step 3)嘗試驗證是不是網路問題 : master 和node 通訊

[[email protected] kubernetes]# ping  9.111.252.241
PING 9.111.252.241 (9.111.252.241) 56(84) bytes of data.
64 bytes from 9.111.252.241: icmp_seq=1 ttl=64 time=0.268 ms
64 bytes from 9.111.252.241: icmp_seq=2 ttl=64 time=0.266 ms
64 bytes from 9.111.252.241: icmp_seq=3 ttl=64 time=0.239 ms
64 bytes from 9.111.252.241: icmp_seq=4 ttl=64 time=0.264 ms
64 bytes from 9.111.252.241: icmp_seq=5 ttl=64 time=0.291 ms
64 bytes from 9.111.252.241: icmp_seq=6 ttl=64 time=0.277 ms
^C
--- 9.111.252.241 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 4999ms
rtt min/avg/max/mdev = 0.239/0.267/0.291/0.022 ms

step 4) 檢查log,定位error

[[email protected] kubernetes]# kubectl logs etcd-huleib.eng.platformlab.ibm.com --namespace=kube-system
2017-11-07 07:18:56.817661 I | etcdmain: etcd Version: 3.0.17
2017-11-07 07:18:56.817706 I | etcdmain: Git SHA: cc198e2
2017-11-07 07:18:56.817710 I | etcdmain: Go Version: go1.6.4
2017-11-07 07:18:56.817713 I | etcdmain: Go OS/Arch: linux/amd64
2017-11-07 07:18:56.817717 I | etcdmain: setting maximum number of CPUs to 1, total number of available CPUs is 1
2017-11-07 07:18:56.817743 W | etcdmain: found invalid file/dir default.etcd under data dir /var/lib/etcd (Ignore this if you are upgrading etcd)
2017-11-07 07:18:56.817750 N | etcdmain: the server is already initialized as member before, starting as etcd member...
2017-11-07 07:18:56.817818 I | etcdmain: listening for peers on http://9.111.252.241:2380
2017-11-07 07:18:56.817840 I | etcdmain: listening for client requests on 127.0.0.1:2379
2017-11-07 07:18:56.817858 I | etcdmain: listening for client requests on 9.111.252.241:2379
2017-11-07 07:18:56.823349 I | etcdmain: stopping listening for client requests on 9.111.252.241:2379
2017-11-07 07:18:56.823365 I | etcdmain: stopping listening for client requests on 9.111.252.241:2379
2017-11-07 07:18:56.823373 I | etcdmain: stopping listening for peers on http://9.111.252.241:2380
2017-11-07 07:18:56.823382 I | etcdmain: --initial-cluster must include etcd-huleib=http://9.111.252.241:2380 given --initial-advertise-peer-urls=http://9.111.252.241:2380
2017-11-07 07:18:56.823387 I | etcdmain: forgot to set --initial-cluster flag?
2017-11-07 07:18:56.823393 I | etcdmain: if you want to use discovery service, please set --discovery flag.

Solution在node上將該參量加入configure file

 [[email protected] ~]# grep initial-cluster  /etc/kubernetes/manifests/etcd.yaml
    - --initial-cluster="etcd-huleib=http://9.111.252.241:2380"

最終測試:

在node上檢查狀態:

[[[email protected] pki]# etcdctl cluster-health
member 3411c12055f5c575 is healthy: got healthy result from http://9.111.252.241:2379

在master 上檢查狀態:

[[email protected] net.d]# etcdctl --endpoints "http://9.111.252.241:2379" cluster-health
member 3411c12055f5c575 is healthy: got healthy result from http://9.111.252.241:2379
cluster is healthy

相關推薦

Centos 7 搭建 K8S --a)

在node 上建立etcd, 將其加入master 中,發現pod 狀態是:CrashLoopBackOff Debug steps: step 1)在master 上check 新加的etcd pod 狀態 [[email protected] kuberne

Redis實戰(二)CentOS 7搭建redis-3.0.2

str 進程 ps 禁用 安裝redis 結果 redis 啟動服務 pro bin 1.安裝redis wget http://download.redis.io/releases/redis-3.0.2.tar.gz tar zxvf redis-3.0.2.tar

centos 7搭建web常用軟件和優化

web運維 web代理WEB搭建及優化本文主要是針對web服務的,生產環境會使用的一些軟件,只是簡單陳述,如果有什麽不正確的地方,請指教,謝謝! Web搭建的軟件:httpd,nginx,tomcat代理軟件:squid,varnish數據庫軟件:mariadb,redis,mencache驗證瀏覽方式:el

CentOS 7 搭建nginx 1.6

elinks kcon %d 年月日 日期結尾 bmp 就會 XP c-c 準備要素,編譯環境,創建組,創建被service所管理的腳本,兩種隱藏版本方法,實現主進程用root創建 子進程有nginx 創建,圖片緩存時間 在最新的centos7.3上搭建nginx 1.6

CentOS 7 搭建 KVM 虛擬化平臺

create 采購 sha 安裝工具 work 文件格式 磁盤 ces 進程調度 KVM 簡介 Kernel-based Virtual Machine的簡稱,是一個開源的系統虛擬化模塊,自Linux 2.6.20之後集成在Linux的各個主要發行版本中。它使用Linu

CentOS 7搭建Zabbix

先最小安裝CentOS7 安裝源:http://mirrors.163.com/centos/7/os/x86_64/ 軟體選擇:最小安裝基本功能   新增epel源 yum install epel-release   命令自動補全 yum in

CentOS 7搭建安全、容災、高可用的etcd叢集_Kubernetes中文社群

【編者的話】etcd 是 CoreOS 團隊發起的開源專案,基於 Go 語言實現,做為一個分散式鍵值對儲存,通過分散式鎖,leader選舉和寫屏障(write barriers)來實現可靠的分散式協作。 本文目標是部署一個基於TLS(Self-signed certificates)的安全、快

CentOS 7 搭建 Cisco AnyConnect VPN

因為最近的干擾力度變大,考慮到 AnyConnect 是思科的安全遠端接入解決方案,隱蔽性要好一些,所以決定在伺服器上搭建 AnyConnect 以提供給 iOS 裝置使用,原來的 Cisco IPSec VPN 廢棄,Shadowsocks 保留用於安卓和PC的連線。

經驗分享之在CentOS 7搭建SVN伺服器

背景:上一篇文章中介紹瞭如何搭建虛擬機器《經驗分享之使用vagrant安裝linux虛擬機器》,我們的最終目的是搭建SVN伺服器,所以本篇將重點介紹一下如何搭建SVN伺服器。 安裝步驟 這一系列的操

一步步在 Centos 7 搭建 vim C++ IDE

安裝 vim , 安裝外掛, 目錄外掛, buffer 外掛, 括號自動成對的外掛,程式碼自動補全外掛(還支援 STL 的補全)。 在安裝過程中,每個人遇到的問題都會不一樣,所以只能一個個解決問題。可以通過 Google + stackoverflow

CentOS 7搭建WordPress

環境(ECS阿里雲伺服器) 伺服器作業系統:CentOS 7.4 ; 部落格部署伺服器:Apache HTTP; 資料庫:MySql; 框架:WordPress; 步驟 一、安裝 Apache HTTP 安裝 Apache HTTP 很簡單,

Centos 7KVM虛擬化平臺搭建及管理,圖文並茂,詳細易懂~~

machine err vnc 上傳 ng- list ESS 自己 nag 何為虛擬化: 虛擬化是雲計算的基礎。簡單的說,虛擬化使得在一臺物理的服務器上可以跑多臺虛擬機,虛擬機共享物理機的 CPU、內存、IO 硬件資源,但邏輯上虛擬機之間是相互隔離的。物理機我們一般稱為宿

基於centOS 7的FTP伺服器搭建詳解

基於Spring boot的FTP工具類Demo詳見Github 安裝(在root使用者下) 首先查詢本機是否裝有FTP伺服器;命令如下:         rpm -qa | grep vsftpd         如果沒有,則執行:yum -y install vs

【Redis】2、CentOS 7 安裝 redis3.2.3安裝與配置

sync 倉庫 ace /var/ 發現 wan sudo base str 一、redis源碼安裝 【更正】現在最新穩定的版本已經到了3.2.8 截至到2016.8.11,redis最新穩定版本為3.2.3.本篇文章我們就以此版本為基礎,進行相關的講解。 下載redis源

CentOS 7安裝Jenkins

在centos 7上安裝jenkins在CentOS 7上安裝Jenkins安裝添加yum repos,然後安裝sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/RedHat/jenkins.repo sudo rpm -

CentOS 7源碼編譯安裝MySQL 5.7

mysql source cmake 1.系統環境[[email protected]/* */ ~]# uname -r3.10.0-514.el7.x86_64 [[email protected]/* */ ~]# cat /etc/redhat-release

CentOS 7使用Yum源安裝 Zabbix 3.2

zabbix mysql centos 在CentOS 7上使用Yum源安裝 Zabbix 3.2 1. 環境準備[[email protected]/* */ ~]# setenforce 0 [[email protected]/* */ ~]# sed -i "s/S

CentOS 7使用Yum源安裝和卸載 MongoDB 3.4

enabled 1.配置Yum源1vim /etc/yum.repos.d/mongodb-org-3.4.repo[mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$relea

CentOS 7 設置返回一級目錄的快捷鍵為 Backspace

logs fff ext color con 重啟 line n-n 文件 參考這裏。 編輯文件: $ vi ~/.config/nautilus/accels 找到這一行: ; (gtk_accel_path "<Actions>/ShellAction

Centos 7 安裝Samba的詳細步驟

samba 為了實現Windows主機與Linux服務器之間的資源共享,Linux操作系統提供了Samba服務,Samba服務為兩種不同的操作系統架起了一座橋梁,使Linux系統和Windows系統之間能夠實現互相通信,為廣泛的Linux愛好者提供了極大方便。本文簡要介紹如何在Linux操作系統上搭建S