1. 程式人生 > >centos7實戰k8s

centos7實戰k8s

vm14+CentOS-7-x86_64-DVD-1804.iso,安裝的sh時候注意選項,最後選帶個桌面感覺稍微好些,不然都是命令列。

/var/run/yum.pid 已被鎖定sha'殺了那個pid完事

先裝vmtools把安裝包從虛擬磁碟拷貝到當前目錄,解壓執行

想先裝vmtools的,後面發現它要求裝gcc/g++

使用yum安裝gccyum install gcc即可。

使用:which gcc 檢視是否安裝成功

使用yum安裝g++:yum install gcc-c++   即可。

使用:which g++  檢視是否安裝成功

gdb安裝 使用yum安裝:yum install gdb即可。

使用:which gdb  檢視是否安裝成功

Searching for GCC...
Detected GCC binary at "/bin/gcc".
The path "/bin/gcc" appears to be a valid path to the gcc binary.
Would you like to change it? [no] 
這個安裝gcc就行
Searching for a valid kernel header path...
Detected the kernel headers at 
"/lib/modules/3.10.0-229.4.2.el7.x86_64/build/include".
The path "/lib/modules/3.10.0-229.4.2.el7.x86_64/build/include" appears to be a
valid path to the 3.10.0-229.4.2.el7.x86_64 kernel headers.
Would you like to change it? [no] 

這個我先

我裝時INPUT: [/usr/src/kernels/3.10.0-957.1.3.el7.x86_64]要求這個路徑

uname -r 顯示3.10.0-862.el7.x86_64,第一次執行是空,不知道怎麼回事

[email protected] ~]$ rpm -qa|grep kernel
kernel-tools-3.10.0-957.1.3.el7.x86_64
abrt-addon-kerneloops-2.1.11-52.el7.centos.x86_64
kernel-3.10.0-862.el7.x86_64
kernel-headers-3.10.0-957.1.3.el7.x86_64
kernel-devel-3.10.0-957.1.3.el7.x86_64
kernel-3.10.0-957.1.3.el7.x86_64
kernel-tools-libs-3.10.0-957.1.3.el7.x86_64

https://jingyan.baidu.com/article/e8cdb32b136ad637052bad26.html

https://www.cnblogs.com/liximomo/p/4446229.html

https://blog.csdn.net/hahawhyha/article/details/77169679

https://blog.csdn.net/sirchenhua/article/details/49719659

https://blog.csdn.net/u012820996/article/details/81463535

綜合上面幾位來講確保Kernel、Kernel-devel、Kernel-headers版本一致

檢查/usr/src/kernel確實是yum是空就yum -y install kernel-devel 

yum -y update比較靠譜,reboot完

uname -r
3.10.0-957.1.3.el7.x86_64

Searching for a valid kernel header path...
Detected the kernel headers at 
"/lib/modules/3.10.0-957.1.3.el7.x86_64/build/include".
The path "/lib/modules/3.10.0-957.1.3.el7.x86_64/build/include" appears to be a
valid path to the 3.10.0-957.1.3.el7.x86_64 kernel headers.

終於提示ok

開始實踐書上的簡單示例,

docker也是剛學習兩天,不是很很熟悉

按照書上搞mysql-rc.yaml,啟動後就發現只有rc沒有pods

順帶講一下對k8s的簡單理解,

kubernetes角色組成:

1)Pod

Pod是kubernetes的最小操作單元,一個Pod可以由一個或多個容器組成;

同一個Pod只能執行在同一個主機上,共享相同的volumes、network、namespace;

2)ReplicationController(RC)

RC用來管理Pod,一個RC可以由一個或多個Pod組成,在RC被建立後,系統會根據定義好的副本數來建立Pod數量。在執行過程中,如果Pod數量小於定義的,就會重啟停止的或重新分配Pod,反之則殺死多餘的。當然,也可以動態伸縮執行的Pods規模。

RC通過label關聯對應的Pods,在滾動升級中,RC採用一個一個替換要更新的整個Pods中的Pod。

3)Service

Service定義了一個Pod邏輯集合的抽象資源,Pod集合中的容器提供相同的功能。集合根據定義的Label和selector完成,當建立一個Service後,會分配一個Cluster IP,這個IP與定義的埠提供這個集合一個統一的訪問介面,並且實現負載均衡。

4)Label

Label是用於區分Pod、Service、RC的key/value鍵值對; 

Pod、Service、RC可以有多個label,但是每個label的key只能對應一個;

主要是將Service的請求通過lable轉發給後端提供服務的Pod集合;

xxx-rc.yaml就是一個資源叢集提供某種功能或者服務,由rc管制

https://blog.csdn.net/hahaxu/article/details/79772296

改配置主要是禁網什麼的pods也是一個docker下載出點問題

image: docker.io/mysql:5.7

imagePullPolicy: IfNotPresent

主要講這裡 image就是docker的庫加tag

https://blog.csdn.net/yinanmo5569/article/details/81352578

https://www.cnblogs.com/neutronman/p/8047547.html

https://www.jianshu.com/p/ca4de9f10daf

jdbc錯誤,就是換mysql  

firewall-cmd --zone=public --add-port=80/tcp --permanent

iptables -P FORWARD ACCEPT