溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Kubernetes搭建部署K8S1.13的詳細過程

發(fā)布時間:2021-09-17 10:52:16 來源:億速云 閱讀:125 作者:chen 欄目:云計算

這篇文章主要講解了“Kubernetes搭建部署K8S1.13的詳細過程”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Kubernetes搭建部署K8S1.13的詳細過程”吧!

首先我準備了3臺CentOS 7 x64的虛擬機,分別對應的角色和IP地址如下:

KS8             10.20.30.63      master

Dcoker01   10.20.30.64     node01

Docker02   10.20.30.55     node02

每一臺為了實驗的順利,我都關(guān)閉了防火墻和SELinux

Systemctl stop firewalld

Systemctl disable firewalld

Vi /etc/SELinux/config

Kubernetes搭建部署K8S1.13的詳細過程

并且安裝了vim

yum install -y vim

以及關(guān)閉所有服務器的swap分區(qū):

vim /etc/fstab

把swap這行刪除掉后保存

Kubernetes搭建部署K8S1.13的詳細過程

重啟虛擬機reboot

接下來需要對每一臺添加Host記錄,實現(xiàn)主機和IP對應關(guān)系,如果您有DNS解析,這一步可以忽略

vim /etc/hosts

Kubernetes搭建部署K8S1.13的詳細過程

接下來為每一臺開啟網(wǎng)絡轉(zhuǎn)發(fā)功能

vim /etc/sysctl.conf #插入以下內(nèi)容

net.ipv4.ip_forward = 1

Kubernetes搭建部署K8S1.13的詳細過程

sysctl -p #生效

Kubernetes搭建部署K8S1.13的詳細過程

cat > /etc/sysctl.d/k8s.conf << EOF

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

EOF

Kubernetes搭建部署K8S1.13的詳細過程

使配置生效

sysctl --system

接下來再所有服務器上安裝Docker,Kubeadm,kubelet

第一個先裝docker

yum install -y docker

systemctl start docker

systemctl enable docker

Kubernetes搭建部署K8S1.13的詳細過程

第二個安裝kubeadm,kubelet,kybectl

先更新下yum源

yum update -y

設置kubernetes YUM倉庫

https://mirrors.aliyun.com/kubernetes/yum/repos/

Kubernetes搭建部署K8S1.13的詳細過程Kubernetes搭建部署K8S1.13的詳細過程

vim /etc/yum.repos.d/kubernetes.repo

編輯內(nèi)容如下:

[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

Kubernetes搭建部署K8S1.13的詳細過程

查看kubernetes可以安裝的版本清單

yum list --showduplicates | grep 'kubeadm\|kubectl\|kubelet'

Kubernetes搭建部署K8S1.13的詳細過程

在這里安裝1.13.3

yum install -y kubelet-1.13.3 kubeadm-1.13.3 kubectl-1.13.3 kubernetes-cni-0.6.0-0

Kubernetes搭建部署K8S1.13的詳細過程

所有服務器只設置kubelet開機啟動

systemctl enable kubelet

接下來初始化Kubernetes Master(只在K8S服務器上執(zhí)行)

kubeadm init \

--apiserver-advertise-address=10.20.30.63 \ #master監(jiān)聽的IP地址

--image-repository registry.aliyuncs.com/google_containers \ #指定一個倉庫

--kubernetes-version v1.13.3 \ #指定版本

--service-cidr=10.30.0.0/16 \ #指定service網(wǎng)絡IP地址段,負載均衡的虛擬IP

--pod-network-cidr=10.244.0.0/16 #指定pod網(wǎng)絡,容器用到的IP地址,這個需要和后面用到的yml匹配一致,如下圖

++++++++++++++++++++++++++++++++

Kubernetes搭建部署K8S1.13的詳細過程

+++++++++++++++++++++++++++++++

Kubernetes搭建部署K8S1.13的詳細過程

完成后注意執(zhí)行結(jié)果的這段kubeadm join,這是其他節(jié)點加入需要的Token

Kubernetes搭建部署K8S1.13的詳細過程

kubeadm join 10.20.30.63:6443 --token mf9dfj.0zaovbosaselcsmq --discovery-token-ca-cert-hash sha256:e06a5190af0a754bed99053eeaac1f419c426b3b9c41d28c187baf08f6ebc19e

生成的證書保存在

Kubernetes搭建部署K8S1.13的詳細過程

然后配置 kubectl

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown $(id -u):$(id -g) $HOME/.kube/config

Kubernetes搭建部署K8S1.13的詳細過程

可以先看看下載下來的鏡像kube-apiserver,kue-controller-manager,kube-proxy,kube-scheduler都是1.13.3版本

Docker images

Kubernetes搭建部署K8S1.13的詳細過程

接下來安裝Pod網(wǎng)絡插件

++++++++++++++++++++++++

建議先執(zhí)行這部避免出現(xiàn)下面的問題

docker pull quay.io/coreos/flannel:v0.11.0-amd64

Kubernetes搭建部署K8S1.13的詳細過程

+++++++++++++++++++++++

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml

Kubernetes搭建部署K8S1.13的詳細過程

再檢查下kubectl get pods -n kube-system

Kubernetes搭建部署K8S1.13的詳細過程

再檢查下節(jié)點狀態(tài)

kubectl get node

Kubernetes搭建部署K8S1.13的詳細過程

再檢查下命名空間

kubectl get pods --all-namespaces或kubectl get pods --all-namespaces -o wide

Kubernetes搭建部署K8S1.13的詳細過程

接下來就是將Node節(jié)點加入到集群中

利用上面的這段在每一臺node去執(zhí)行(Docker01和Docker02)

kubeadm join 10.20.30.63:6443 --token mf9dfj.0zaovbosaselcsmq --discovery-token-ca-cert-hash sha256:e06a5190af0a754bed99053eeaac1f419c426b3b9c41d28c187baf08f6ebc19e

Kubernetes搭建部署K8S1.13的詳細過程

加入成功后可以在K8S(master)看到新Node加入

Kubernetes搭建部署K8S1.13的詳細過程

但需要多等下讓他們2個節(jié)點準備好

Kubernetes搭建部署K8S1.13的詳細過程

其實在等待節(jié)點準備好的期間也就是節(jié)點也在拉取docker pull quay.io/coreos/flannel:v0.11.0-amd64

接下來測試下集群,創(chuàng)建一個Nginx的image

kubectl create deployment nginx --image=nginx

可以看到也是在拉取nginx的image到運行起來

Kubernetes搭建部署K8S1.13的詳細過程

接下來發(fā)布這個Nginx可以讓外部訪問

kubectl expose deployment nginx --port=80 --type=NodePort

Kubernetes搭建部署K8S1.13的詳細過程

可以通過kubectl get pods,svc -o wide查看更為詳細的信息

Kubernetes搭建部署K8S1.13的詳細過程

通過訪問任意一個Node都是可以打開http://10.20.30.6x:32109訪問到

Kubernetes搭建部署K8S1.13的詳細過程

最后部署一個Dashboard實現(xiàn)儀表板的功能來監(jiān)控K8S的運維

在K8S上線下載https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml文件

yum install -y wget

wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

Kubernetes搭建部署K8S1.13的詳細過程

vim kubernetes-dashboard.yaml

把框柱的部分由我們無法訪問的Google源改成阿里的源

Kubernetes搭建部署K8S1.13的詳細過程

改成如下:

registry.aliyuncs.com/google_containers/kubernetes-dashboard-amd64:v1.10.1

Kubernetes搭建部署K8S1.13的詳細過程

接下來再修改Service部分

Kubernetes搭建部署K8S1.13的詳細過程

保存退出

然后應用kubectl apply -f kubernetes-dashboard.yaml

Kubernetes搭建部署K8S1.13的詳細過程

查看運行狀態(tài)

kubectl get pods -n kube-system

Kubernetes搭建部署K8S1.13的詳細過程

查看訪問端口kubectl get pods,svc -n kube-system

Kubernetes搭建部署K8S1.13的詳細過程

在外部通過https訪問

Kubernetes搭建部署K8S1.13的詳細過程

在這里使用令牌登錄,因此需要先創(chuàng)建SA并綁定默認cluster-admins管理員集群角色,在K8S執(zhí)行

kubectl create serviceaccount dashboard-admin -n kube-system

kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin

kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')

創(chuàng)建一個服務賬戶dashboard-admin隸屬于K8S的最高權(quán)限cluster-admin組

Kubernetes搭建部署K8S1.13的詳細過程

創(chuàng)建的dashboard-admin賬戶在kubectl get secret -n kube-system下可用查看到

Kubernetes搭建部署K8S1.13的詳細過程

以后查看這個賬戶的令牌token也可以執(zhí)行kubectl describe secret dashboard-admin-token-6j4ln -n kube-system再次獲取

Kubernetes搭建部署K8S1.13的詳細過程

復制Token到令牌進行登錄

Kubernetes搭建部署K8S1.13的詳細過程

登錄成功,看到儀表板

Kubernetes搭建部署K8S1.13的詳細過程

到這里,搭建部署K8S就告一個段落了。

感謝各位的閱讀,以上就是“Kubernetes搭建部署K8S1.13的詳細過程”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對Kubernetes搭建部署K8S1.13的詳細過程這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI