詳解kubernetes(k8s)安裝及常見坑

kubernetes-install

秉承著爛筆頭不如好記性的的歪門邪道,特此系統(tǒng)的記錄kubernetes的安裝全流程淮椰,及踩坑記錄镜遣。默默說一句真多。
來吧衫哥,我們一起來快速拿下它并且有意識的規(guī)避各種坑茎刚,請指教
@[toc]

操作系統(tǒng)初始化

  • 關(guān)閉防火墻(all)
# 臨時關(guān)閉防火墻
systemctl stop firewalld
# 永久關(guān)閉防火墻
systemctl disable firewalld
# 驗證 
systemctl status firewalld 
  • 關(guān)閉selinux(all)
# 臨時關(guān)閉
setenforce 0
# 永久
sed -i 's/enforcing/disabled/' /etc/selinux/config
  • 關(guān)閉swap(all)
# 臨時
 swapoff -a 
# 永久
sed  -ri 's/.*swap.*/#&/' /etc/fstab
  • 設(shè)置主機名稱(all)
# 設(shè)置名稱(k8s-m-1)忽略大寫字母
hostnamectl set-hostname k8s-m-1
# 驗證
hostname
  • Master添加Hostname(master)
# 設(shè)置
cat >> /etc/hosts << EOF
masterIp master
node1Ip node1
node2Ip node2
EOF
# eg
cat >> /etc/hosts << EOF
192.168.50.212 k8s-m-1
192.168.50.87 k8s-n-1
192.168.50.85 k8s-n-2
EOF
  • 將橋接的IPV4 流量傳遞到iptables的鏈(all)
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF
# 生效
sysctl --system
  • 時間同步(All)
yum install -y ntpdate 
ntpdate time.windows.com
# 三臺機子輸出如下則成功(相差幾秒或幾分為正常現(xiàn)象)
image

安裝Docker

官方文檔-安裝

  • Docker安裝sh Script:(All)
# You can use scripts for one click installation撤逢,You may need to type enter at the end
# remove docker 
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
# Set up repository
sudo yum install -y yum-utils
# Use Aliyun Docker
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# install docker from yum
yum install  -y docker-ce docker-ce-cli containerd.io
# restart docker
systemctl restart docker
# cat version 
docker --version
image
  • 配置加速(all)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://etdea28s.mirror.aliyuncs.com"]
}
EOF

# reload
sudo systemctl daemon-reload
sudo systemctl restart docker

# 檢查阿里云加速
image

kubernetes安裝

  • 配置kubernetes源(all)
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

由于官網(wǎng)kubernetes源在國外有墻膛锭,直接使用官方源會導(dǎo)致安裝失敗。所以我們配置國內(nèi)的阿里源

  • 安裝 kubectl kubelet kubeadm(all)
# install kubectl kubelet kubeadm
yum install -y kubectl kubelet kubeadm
# set boot on opening computer
systemctl enable kubelet
  • 初始化k8s部署(Master)
kubeadm init \
--apiserver-advertise-address=youselfIp of Master   \
--image-repository registry.aliyuncs.com/google_containers  \
# 不沖突即可
--service-cidr=10.10.0.0/16 \
--pod-network-cidr=10.122.0.0/16

# eg  
kubeadm init \
--apiserver-advertise-address=192.168.50.212   \
--image-repository registry.aliyuncs.com/google_containers  \
--service-cidr=10.10.0.0/16 \
--pod-network-cidr=10.122.0.0/16

常見錯誤:running with swap on is not supported. Please disable swap

[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-

errors=...`

原因:系統(tǒng)自動進行分區(qū)

解決:

# 臨時
 swapoff -a 
# 永久
sed  -ri 's/.*swap.*/#&/' /etc/fstab
  • following as a regular user(Master)
 mkdir -p $HOME/.kube
 sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
 sudo chown $(id -u):$(id -g) $HOME/.kube/config
  • join master node(node)
kubeadm join 172.16.164.136:6443 --token 9oilao.bpbxcm5zkk0jjcgm --discovery-token-ca-cert-hash sha256:609794bd03915be382bdb130c4c180e89cdc863d35cf99be79cf4ddcbfacee24

加入成功蚊荣,如下圖

image

此時我們在Master節(jié)點上使用命令kubectl get nodes查看節(jié)點信息:如下圖所示

image

此時的kubectl get nodes的status都是NotNotReady:

查看kubernetes運行狀態(tài):

kubectl get pods -n kube-system

如圖:

image

果然初狰,兩個Pending猶豫未決

此時我們部署CNI網(wǎng)絡(luò),配置如下

# 根據(jù)官方文檔提示配置CNI網(wǎng)絡(luò)
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
# 報錯:The connection to the server raw.githubusercontent.com was refused - did you specify the right host or port? 原因:外網(wǎng)不可訪問 -> 在https://www.ipaddress.com/查詢raw.githubusercontent.com的真實IP互例。
sudo vi /etc/hosts
199.232.28.133 raw.githubusercontent.com
# 如下
image
# 開啟IPVS奢入,修改ConfigMap的kube-system/kube-proxy中的模式為ipvs

kubectl edit cm kube-proxy -n kube-system 
# 將空的data -> ipvs -> mode中替換如下
mode: "ipvs"
image

在此運行kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml成功,如圖

image

此時運行kubectl get nodes效果圖如下->成功。(肯能并不一定會立馬成功媳叨,上面??確定沒問題腥光,請稍等片刻即可)

image

測試kubernetes

# 創(chuàng)建nginx鏡像 Create a deployment with the specified name
# kubectl create deployment NAME --image=image -- [COMMAND] [args...] [options]
kubectl create deployment nginx --image=nginx
# 對外暴露端口
kubectl expose deployment nginx --port=80 --type=NodePort
# 查看pod服務(wù)
kubectl get pod,svc

成功

image
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末关顷,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子武福,更是在濱河造成了極大的恐慌议双,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件艘儒,死亡現(xiàn)場離奇詭異聋伦,居然都是意外死亡夫偶,警方通過查閱死者的電腦和手機界睁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來兵拢,“玉大人翻斟,你說我怎么就攤上這事∷盗澹” “怎么了访惜?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長腻扇。 經(jīng)常有香客問我债热,道長,這世上最難降的妖魔是什么幼苛? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任窒篱,我火速辦了婚禮,結(jié)果婚禮上舶沿,老公的妹妹穿的比我還像新娘墙杯。我一直安慰自己,他們只是感情好括荡,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布高镐。 她就那樣靜靜地躺著,像睡著了一般畸冲。 火紅的嫁衣襯著肌膚如雪嫉髓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天邑闲,我揣著相機與錄音岩喷,去河邊找鬼。 笑死监憎,一個胖子當著我的面吹牛纱意,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鲸阔,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼偷霉,長吁一口氣:“原來是場噩夢啊……” “哼迄委!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起类少,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤叙身,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后硫狞,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體信轿,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年残吩,在試婚紗的時候發(fā)現(xiàn)自己被綠了财忽。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡泣侮,死狀恐怖即彪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情活尊,我是刑警寧澤隶校,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站蛹锰,受9級特大地震影響深胳,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜铜犬,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一舞终、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧翎苫,春花似錦权埠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至呐粘,卻和暖如春满俗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背作岖。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工唆垃, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人痘儡。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓辕万,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子渐尿,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355