前提摘要:
1、各節(jié)點時間同步;
2、各節(jié)點主機名稱解析:dns OR hosts 3 /etc/hosts
3、各節(jié)點iptables及firewalld服務(wù)被disable
https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
創(chuàng)新互聯(lián)專注于靈川企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城系統(tǒng)網(wǎng)站開發(fā)。靈川網(wǎng)站建設(shè)公司,為靈川等地區(qū)提供建站服務(wù)。全流程定制開發(fā),專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)配置yum倉庫導(dǎo)入docker 下載docker-ce.repo
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
cd /etc/yum.repos.d/
vim k8s.repo #配置kubetnetes倉庫
[k8s]
name=K8s Repo
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
enabled=1
yum repolist 查看兩個倉庫是否能用
yum install docker-ce kubelet kubeadm kubectl -y
如果有報錯 手動下載密鑰執(zhí)行下面命令
wget https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
rpm --import yum-key.gpg
systemctl daemon-reload #重新加載文件
systemctl start docker.service #啟動docker
systemctl enable docker.service #設(shè)置開機自啟動
systemctl enable kubelet.service
docker需要自動到docker倉庫去下載鏡像或者通過本地倉庫下載所依賴的每個鏡像文件
1、通過docker自動下載依賴鏡像
cd /usr/lib/systemd/system/docker.service
在 # for containers run by docker 底下加入環(huán)境變量
Environment="HTTPS_PROXY=http://www.ik8s.io:10080" 通過代理去訪問需要加載的鏡像文件
Environment="NO_PROXY=127.0.0.0/8,172.20.0.0/16"
2、手動下載依賴鏡像用
kubeadm config images list
k8s.gcr.io/kube-apiserver:v1.13.1
k8s.gcr.io/kube-controller-manager:v1.13.1
k8s.gcr.io/kube-scheduler:v1.13.1
k8s.gcr.io/kube-proxy:v1.13.1
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.2.24
k8s.gcr.io/coredns:1.2.6
下載命令
docker pull docker.io/mirrorgooglecontainers/kube-apiserver:v1.13.1 下載鏡像
docker tag docker.io/mirrorgooglecontainers/kube-apiserver:v1.13.1 k8s.gcr.io/kube-apiserver:v1.13.1 給鏡像打標(biāo)簽
docker pull docker.io/mirrorgooglecontainers/kube-controller-manager:v1.13.1
docker tag docker.io/mirrorgooglecontainers/kube-controller-manager:v1.13.1 k8s.gcr.io/kube-controller-manager:v1.13.1
docker pull docker.io/mirrorgooglecontainers/kube-scheduler:v1.13.1
docker tag docker.io/mirrorgooglecontainers/kube-scheduler:v1.13.1 k8s.gcr.io/kube-scheduler:v1.13.1
docker pull docker.io/mirrorgooglecontainers/kube-proxy:v1.13.1
docker tag docker.io/mirrorgooglecontainers/kube-proxy:v1.13.1 k8s.gcr.io/kube-proxy:v1.13.1
docker pull docker.io/mirrorgooglecontainers/pause:3.1
docker tag docker.io/mirrorgooglecontainers/pause:3.1 k8s.gcr.io/pause:3.1
docker pull docker.io/mirrorgooglecontainers/etcd:3.2.24
docker tag docker.io/mirrorgooglecontainers/etcd:3.2.24 k8s.gcr.io/etcd:3.2.24
docker pull docker.io/coredns/coredns:1.2.6
docker tag docker.io/coredns/coredns:1.2.6 k8s.gcr.io/coredns:1.2.6
-----------------------------------------------------------------------------
編輯kubelet的配置文件/etc/sysconfig/kubelet,設(shè)置其忽略Swap啟用的狀態(tài)錯誤,內(nèi)容如下:
KUBELET_EXTRA_ARGS="--fail-swap-on=false"
設(shè)置kubelet開機自啟動
systemctl enable kubelet.service
初始化
kubeadm init --kubernetes-version=v1.13.1 --pod-network-cidr=192.168.0.0/6 --service.cidr=192.168.1.0/12 --ignore-preflight-errors=Swap
--kubernetes-version=v1.11.1 #被初始化的k8s版本
--pod-network-cidr=10.244.0.0/16 #pod使用的網(wǎng)絡(luò)
--service.cidr=10.96.0.0/12 #service使用的網(wǎng)絡(luò)地址
--ignore-preflight-errors=Swap #雙重否定部屬用用交換配置
如果在初始化過程中有error報錯那么就查看是什么錯誤一般會報錯鏡像tag標(biāo)簽錯誤找不到該鏡像 可以把鏡像重新打標(biāo)簽
Your Kubernetes master has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir ~/.kube #創(chuàng)建.kube文件一般會提示用普通用戶創(chuàng)建要有sudo權(quán)限這邊我直接用root用戶創(chuàng)建
sudo cp /etc/kubernetes/admin.conf ~/.kube/ #復(fù)制admin.conf到./kube文件中
sudo chown $(id -u):$(id -g) $HOME/.kube/config #把./kube的屬組屬主改為創(chuàng)建用戶的屬組屬主
You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/
You can now join any number of machines by running the following on each node
as root:
#用下列命令把node加入集群中來(建議把下列命令保存起來)
kubeadm join 192.168.1.179:6443 --token 5m7gg1.czd5td6itn9g2fhz --discovery-token-ca-cert-hash sha256:50c64cac88defae6beecf7bdde9b212094d7cc937b709b94f0baaeaaa4246e7e
用root用戶創(chuàng)建:
mkdir ~/.kube
cp /etc/kubernetes/admin.conf ~/.kube/
因為應(yīng)root用戶創(chuàng)建的就不用重新指定屬組屬主
kubectl get cs #查看組件健康狀態(tài)
kubectl get nodes #查看個節(jié)點信息
NAME STATUS ROLES AGE VERSION
master NotReady master 19h v1.13.1 #這邊顯示未開啟狀態(tài)因為這邊少一個flannel插件
安裝flannel插件
https://github.com/coreos/flannel #flannel地址和幫助信息
圖片
#如果你要受用安裝就執(zhí)行下面的命令就會自動執(zhí)行安裝
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
#部署完之后再查看節(jié)點信息
NAME STATUS ROLES AGE VERSION
master Ready master 19h v1.13.1
#查看組件狀態(tài)信息(當(dāng)前master運行的所有pod組件)
kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-86c58d9df4-4frfz 1/1 Running 0 19h
coredns-86c58d9df4-hlr72 1/1 Running 0 19h
etcd-master 1/1 Running 0 19h
kube-apiserver-master 1/1 Running 0 19h
kube-controller-manager-master 1/1 Running 0 19h
kube-flannel-ds-amd64-4c7jx 1/1 Running 0 19h
kube-flannel-ds-amd64-89m8l 1/1 Running 0 17h
kube-flannel-ds-amd64-rmxj9 1/1 Running 0 19h
kube-proxy-8pnqs 1/1 Running 0 17h
kube-proxy-b4hlj 1/1 Running 0 19h
kube-proxy-fzp2m 1/1 Running 0 19h
kube-scheduler-master 1/1 Running 0 19h
#默認如果不指定名名稱空間則名稱空間kube-system
kubectl get ns
NAME STATUS AGE
default Active 19h
kube-public Active 19h
kube-system Active 19h
#主節(jié)點初始化完成
如果用第一種方法讓docker自動下載依賴鏡像則復(fù)制master中docker.service文件到node01中
把master中的k8s.repo和下載的docker-ce的yum倉庫配置起來如果在yum過程中有報錯則按照master中的方法執(zhí)行
yum install docker-ce kubelet kubeadm -y
1、開啟docker服務(wù)
2、把docker 、 kubelet設(shè)置開機自啟動
systemctl start docker.service #啟動docker
systemctl enable docker.service #設(shè)置開機自啟動
systemctl enable kubelet.service
手動下載
kube-proxy 、 pause 鏡像并打標(biāo)簽通master中的下載鏡像配置
把node01節(jié)點加入集群中去
用剛剛保存的kubeadm job命令
kubeadm join 192.168.1.179:6443 --token 5m7gg1.czd5td6itn9g2fhz --discovery-token-ca-cert-hash sha256:50c64cac88defae6beecf7bdde9b212094d7cc937b709b94f0baaeaaa4246e7e --ignore-preflight-errors=Swap #后面加入這句話
kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready master 20h v1.13.1
node01 Ready <none> 19h v1.13.1 #已經(jīng)加入進來了
# node02跟node01做同樣步驟加入集群
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站名稱:運維之k8s集群搭建-創(chuàng)新互聯(lián)
本文鏈接:http://aaarwkj.com/article6/jsjig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、小程序開發(fā)、響應(yīng)式網(wǎng)站、面包屑導(dǎo)航、品牌網(wǎng)站設(shè)計、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容