摘要:先移除集群的節(jié)點(diǎn)然后重置狀態(tài)我完全按照官方文檔安裝執(zhí)行,沒有遇到問題如果你在安裝過程中遇到問題,請參考下面官方的故障排除文檔和安裝文檔。
節(jié)點(diǎn)規(guī)劃
本次選用一個master節(jié)點(diǎn),三個node節(jié)點(diǎn)來安裝k8s集群。
節(jié)點(diǎn) | IP |
---|---|
M0 | 10.xx.xx.xx |
N0 | 10.xx.xx.xx |
N1 | 10.xx.xx.xx |
N2 | 10.xx.xx.xx |
包括修改主機(jī)名,關(guān)閉防火墻等操作。
k8s集群會識別主機(jī)名字,確保每個主機(jī)名設(shè)為不同值。
關(guān)閉防火墻是為了避免不必要的網(wǎng)絡(luò)問題。
# ${hostname}變量請?zhí)鎿Q成規(guī)劃的主機(jī)名,比如M0, N0, N1 sudo hostnamectl set-hostname ${hostname} systemctl stop firewalld systemctl disable firewalld setenforce 0 sed -i -re "/^s*SELINUX=/s/^/#/" -e "$iSELINUX=disabled" /etc/selinux/config
然后建立ssh的相互連接,方便后面?zhèn)魑募裁吹摹?梢允褂?b>ssh-copy-id命令,也可以自己添加認(rèn)證。這個網(wǎng)上教程很多,自己搜一下
安裝docker(在每臺機(jī)器上執(zhí)行)yum install docker -y systemctl enable docker && systemctl start docker安裝kubeadm, kubelet, kubectl(每臺機(jī)器上執(zhí)行)
kubeadm: 快速創(chuàng)建k8s集群的工具
kubelet: k8s的基礎(chǔ)組件,負(fù)責(zé)對pod和container的創(chuàng)建和管理,與k8s集群master建立聯(lián)系
kubectl: k8s的客戶端工具,用來像集群發(fā)送命名
cat </etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF yum install -y kubelet kubeadm kubectl
官網(wǎng)文檔上寫一些用戶在RHEL/Centos7系統(tǒng)上安裝時,由于iptables被繞過導(dǎo)致路由錯誤,需要在
sysctl的config文件中將net.bridge.bridge-nf-call-iptables設(shè)置為1.
cat </etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sysctl --system
啟動kubelet:
systemctl enable kubelet && systemctl start kubelet
至此,準(zhǔn)備工作就做好了。目前每隔幾秒kubelet就會重啟,直到收到kubeadm的命令。
所以用systemctl status kubelet看到kubelet沒有啟動是正常現(xiàn)象,可以多執(zhí)行幾次查看,就會發(fā)現(xiàn)kubelet處于不斷停止和重啟的狀態(tài).
kubeadm是k8s官方提供的工具,可以簡單的創(chuàng)建一個安全可擴(kuò)展的k8s集群。
在執(zhí)行下面的操作之前,請確保前面的準(zhǔn)備工作已經(jīng)做完。特別是kubelet已經(jīng)安裝和啟動,kubeadm已經(jīng)安裝完成
啟動master
在master節(jié)點(diǎn)執(zhí)行以下操作,并導(dǎo)出KUBECONFIG配置文件到環(huán)境變量:
記錄下kubeadm init的輸出信息,后面將會用到
# --pod-network-cidr=192.168.0.0/1參數(shù)是為了后面啟動networ的Calico pod做準(zhǔn)備 kubeadm init --pod-network-cidr=192.168.0.0/16 export KUBECONFIG=/etc/kubernetes/admin.conf
安裝啟動一個network的pod,這里選用Calico.
在啟動任何pod之前,必須先啟動一個network的pod, 用于pod之間的通信
kubectl apply -f https://docs.projectcalico.org/v2.6/getting- started/kubernetes/installation/hosted/kubeadm/1.6/calico.yaml
添加node節(jié)點(diǎn)到master(在每臺node上執(zhí)行以下命令)
當(dāng)執(zhí)行玩kubeadm init后會輸出以下信息,直接復(fù)制執(zhí)行就可以了
kubeadm join --token: --discovery-token-ca-cert- hash sha256:
至此為止k8s集群就建好了,可以在master節(jié)點(diǎn)輸出kubectl get nodes查看
在非master節(jié)點(diǎn)管理集群(可選)
如果不執(zhí)行這個操作,只能在master節(jié)點(diǎn)來管理集群。
把master節(jié)點(diǎn)的admin.conf配置文件復(fù)制到nodes節(jié)點(diǎn)當(dāng)中去,就能在node節(jié)點(diǎn)來管理集群了。
scp /etc/kubernetes/admin.conf root@10.5.30.82:/etc/kubernetes/ export KUBECONFIG=/etc/kubernetes/admin.conf
將API服務(wù)代理到localhost(可選)
這個很好理解,執(zhí)行 kubectl --kubeconfig proxy命令,也是要使用admin.conf的權(quán)限,直接復(fù)
制官方文檔:
if you want to connect to the API Server from outside the cluster you can use
kubectl proxy:
scp root@:/etc/kubernetes/admin.conf . kubectl --kubeconfig ./admin.conf proxy
You can now access the API Server locally at http://localhost:8001/api/v1
刪除集群在我們安裝k8s集群時,可能會出現(xiàn)問題,需要重新安裝。
在我們重新執(zhí)行安裝步驟之前,必須要先銷毀我們建立好的k8s集群,在master節(jié)點(diǎn)下執(zhí)行以下命令。
# 先移除集群的node節(jié)點(diǎn) kubectl drain--delete-local-data --force --ignore-daemonsets kubectl delete node # 然后重置kubeadm狀態(tài) kubeadm reset
我完全按照官方文檔安裝執(zhí)行,沒有遇到問題. 如果你在安裝過程中遇到問題,請參考下面官方的故障排除文檔和安裝文檔。
故障排除:Troubleshooting Kubeadm
安裝文檔:Using kubeadm to create a cluster
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/32632.html
摘要:先移除集群的節(jié)點(diǎn)然后重置狀態(tài)我完全按照官方文檔安裝執(zhí)行,沒有遇到問題如果你在安裝過程中遇到問題,請參考下面官方的故障排除文檔和安裝文檔。 節(jié)點(diǎn)規(guī)劃 本次選用一個master節(jié)點(diǎn),三個node節(jié)點(diǎn)來安裝k8s集群。 節(jié)點(diǎn) IP M0 10.xx.xx.xx N0 10.xx.xx.xx N1 10.xx.xx.xx N2 10.xx.xx.xx 集群啟...
摘要:集群安裝在節(jié)點(diǎn)上并準(zhǔn)備一個虛擬來做。節(jié)點(diǎn)集群啟動前的準(zhǔn)備請用用戶執(zhí)行節(jié)點(diǎn)準(zhǔn)備工作在每臺機(jī)器上執(zhí)行包括修改主機(jī)名,關(guān)閉防火墻等操作。關(guān)閉防火墻是為了避免不必要的網(wǎng)絡(luò)問題。完了可以使用查看集群是否安裝完成。 前面我們安裝了一個簡單的kubernetes集群,選用了1個master節(jié)點(diǎn)和三個node節(jié)點(diǎn)。etcd也沒有安裝成集群. 這次我們安裝一個3個master節(jié)點(diǎn)+etcd集群的kub...
摘要:集群安裝在節(jié)點(diǎn)上并準(zhǔn)備一個虛擬來做。節(jié)點(diǎn)集群啟動前的準(zhǔn)備請用用戶執(zhí)行節(jié)點(diǎn)準(zhǔn)備工作在每臺機(jī)器上執(zhí)行包括修改主機(jī)名,關(guān)閉防火墻等操作。關(guān)閉防火墻是為了避免不必要的網(wǎng)絡(luò)問題。完了可以使用查看集群是否安裝完成。 前面我們安裝了一個簡單的kubernetes集群,選用了1個master節(jié)點(diǎn)和三個node節(jié)點(diǎn)。etcd也沒有安裝成集群. 這次我們安裝一個3個master節(jié)點(diǎn)+etcd集群的kub...
摘要:使用安裝安全高可用集群安裝包地址如非高可用安裝請忽略此教程,直接看產(chǎn)品頁的三步安裝。 使用kubeadm安裝安全高可用kubernetes集群 安裝包地址 如非高可用安裝請忽略此教程,直接看產(chǎn)品頁的三步安裝。 單個master流程: 單master視頻教程 解壓后在master 上 cd shell && sh init.sh ,然后sh master.sh(注意因?yàn)槟_本用的相...
摘要:使用安裝安全高可用集群安裝包地址如非高可用安裝請忽略此教程,直接看產(chǎn)品頁的三步安裝。 使用kubeadm安裝安全高可用kubernetes集群 安裝包地址 如非高可用安裝請忽略此教程,直接看產(chǎn)品頁的三步安裝。 單個master流程: 單master視頻教程 解壓后在master 上 cd shell && sh init.sh ,然后sh master.sh(注意因?yàn)槟_本用的相...
閱讀 2061·2023-04-25 17:48
閱讀 3578·2021-09-22 15:37
閱讀 2932·2021-09-22 15:36
閱讀 5864·2021-09-22 15:06
閱讀 1634·2019-08-30 15:53
閱讀 1422·2019-08-30 15:52
閱讀 706·2019-08-30 13:48
閱讀 1116·2019-08-30 12:44