1.安裝docker
(1)首先更新apt包資源索引
apt-get update
(2)安裝軟件包
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
(3)添加Docker官方的GPG
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
(4)添加Docker源
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
(5)因網(wǎng)站服務(wù)器在境外,故須使用代理或換源,下面首先演示如何添加代理洒闸。
編輯代理文件
vim /etc/apt/apt.conf
做如下修改
Acquire::http::proxy "http://username:password@server_ip:port/";
Acquire::https::proxy "https://username:password@server_ip:port/";
Acquire::ftp::proxy "ftp://username:password@server_ip:port/";
Acquire::socks::proxy "socks://username:password@server_ip:port/";
其中username和password是代理賬號(hào)和密碼染坯,server_ip是代理服務(wù)器地址,port是代理服務(wù)器端口丘逸。根據(jù)自己情況填寫单鹿。
如果沒有條件使用代理,可以進(jìn)行換源深纲。
備份原有的軟件源配置文件sources.list:
cp /etc/apt/sources.list /etc/apt/sources.list.bk
修改sources.list文件
sudo vim /ect/apt/sources.list
換成阿里的鏡像源(也可自行尋找其他國內(nèi)源)
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
更新軟件源
sudo apt-get update
(6)安裝docker
sudo apt-get update
sudo apt-get install docker-ce=18.06.0~ce~3-0~ubuntu
2.搭建k8s集群
(1)添加GPG
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
若該命令不成功或者執(zhí)行時(shí)間太長則進(jìn)入其中的鏈接仲锄,下載apt-key.gpg, 然后執(zhí)行如下命令:
apt-key add apt-key.gpg
(2)添加源
cat </etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF
(3)下載kubelet kubeadm kubectl組件
apt-get update
apt-get install -y kubelet kubeadm kubectl
(4)使用虛擬機(jī)再完整克隆兩個(gè)Ubuntu系統(tǒng)劲妙,共計(jì)3個(gè)節(jié)點(diǎn)。
(5)配置IP
編輯/etc/network/interfaces
sudo vim /etc/network/interfaces
將文件改為如下內(nèi)容(IP地址等內(nèi)容自行編輯)
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto ens33
iface ens33 inet static
address 192.168.222.22
netmask 255.255.255.0
gateway 192.168.222.222
nameserver 8.8.8.8
ens33為連接名儒喊,可以通過ifconfig命令查看镣奋。
(6)三個(gè)節(jié)點(diǎn)選擇一個(gè)為master,其他分別為node1和node2怀愧。
在master上執(zhí)行初始化命令
kubeadm init --kubernetes-version=v1.15.0 --pod-network-cidr=10.244.0.0/16
如提示鏡像無法下載侨颈,則需要手動(dòng)下載鏡像。
通過下列命令拉取相關(guān)鏡像
docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.15.0
docker pull mirrorgooglecontainers/kube-controller-manager-amd64:v1.15.0
docker pull mirrorgooglecontainers/kube-scheduler-amd64:v1.15.0
docker pull mirrorgooglecontainers/kube-proxy-amd64:v1.15.0
docker pull mirrorgooglecontainers/pause:3.1
docker pull mirrorgooglecontainers/etcd-amd64:3.2.18
docker pull coredns/coredns:1.3.0
通過docker tag命令來修改鏡像的標(biāo)簽
docker tag docker.io/mirrorgooglecontainers/kube-proxy-amd64:v1.15.0 k8s.gcr.io/kube-proxy-amd64:v1.15.0
docker tag docker.io/mirrorgooglecontainers/kube-scheduler-amd64:v1.15.0 k8s.gcr.io/kube-scheduler-amd64:v1.15.0
docker tag docker.io/mirrorgooglecontainers/kube-apiserver-amd64:v1.15.0 k8s.gcr.io/kube-apiserver-amd64:v1.15.0
docker tag docker.io/mirrorgooglecontainers/kube-controller-manager-amd64:v1.15.0 k8s.gcr.io/kube-controller-manager-amd64:v1.15.0
docker tag docker.io/mirrorgooglecontainers/etcd-amd64:3.2.18 k8s.gcr.io/etcd-amd64:3.2.18
docker tag docker.io/mirrorgooglecontainers/pause:3.1 k8s.gcr.io/pause:3.1
docker tag docker.io/coredns/coredns:1.3.0 k8s.gcr.io/coredns:1.3.0
具體版本及標(biāo)簽信息根據(jù)之前的報(bào)錯(cuò)提示修改芯义。
(7)根據(jù)初始化成功信息提示的命令在master上執(zhí)行部分操作哈垢。
注意,此時(shí)應(yīng)切換到普通用戶扛拨。
(8)添加 k8s-node1 和 k8s-node2
在 k8s-node1 和 k8s-node2 上分別執(zhí)行如下命令耘分,將其注冊(cè)到 Cluster 中
kubeadm join --token d38a01.13sd654sdf546d80 192.168.56.105:6443
這里的 --token 來自前面 kubeadm init 輸出初始化成功后的提示,如果當(dāng)時(shí)沒有記錄下來可以通過 kubeadm token list 查看绑警。
(9)查看節(jié)點(diǎn)的狀態(tài)
kubectl get nodes
無論這里node1求泰,node2是Ready,還是NotReady待秃,都是節(jié)點(diǎn)加入成功了拜秧。
(10)節(jié)點(diǎn)ready
節(jié)點(diǎn)的NotReady,是因?yàn)楣?jié)點(diǎn)需要啟動(dòng)若干組件章郁,這些組件是在 Pod 中運(yùn)行枉氮,需要首先從 google 下載鏡像,我們可以通過命令查看 Pod 的狀態(tài)
kubectl get pod --all-namespaces
Pending暖庄、ContainerCreating聊替、ImagePullBackOff 都表明 Pod 沒有就緒,Running 才是就緒狀態(tài)培廓。
查看 Pod 具體情況
kubectl describe pod kube-flannel-ds-v0p3x --namespace=kube-system
根據(jù)所提示的錯(cuò)誤具體解決惹悄。比如在下載 image 時(shí)失敗,可以自己手動(dòng)執(zhí)行 docker pull 去下載這個(gè)鏡像肩钠。
問題解決后泣港,所有 Pod 會(huì)處于 Running 狀態(tài)。
此時(shí)价匠,所有的節(jié)點(diǎn)都已經(jīng) Ready当纱,Kubernetes Cluster 創(chuàng)建成功。
最新免費(fèi)java踩窖,架構(gòu)坡氯,大數(shù)據(jù)AI編程資料獲取添加
薇信:18410263200
通過驗(yàn)證填寫“111”(備注必填)