基于Linux自己初步搭建Kubernetes(k8s)集群基础,简要教程

旌德娱乐新闻网 2025-08-13

:用来与协同互联的军令行工具。sudo apt-get updatesudo apt-get install -y kubelet kubeadm kubectlsudo apt-mark hold kubelet kubeadm kubectl 四:模板合而为一结点master

只只能在master上操作者方可。

kubeadm init ---apiserver-advertise-address=192.168.152.100 ---pod-network-cidr=172.16.0.0/16 apiserver-advertise-address:度量API免费器将公布其监听素材的IP地址。如果未增设,将应用于选项网络免费接口。 Pod-network-cidr:指定Pod网络免费的IP地址范围。如果增设,控制平面将则会为每个结点分配CIDR。 如果您的网络免费JavaScript的首选Pod网络免费与某些合而为一机网络免费错综复杂发生冲突,则可以应用于它来度量首选的网络免费范围

1,模板错误克服(没有报错的可以省去这条)

错误定时1:

[kubelet-check] It seems like the kubelet isn't running or healthy.[kubelet-check] The HTTP call equal to 'curl -sSL ' failed with error: Get "": dial tcp 127.0.0.1:10248: connect: connection refused.

情况:kubectl没有人开启,journalctl -xe查询开启错误信息。

journalctl -xe#信息标示出docker和kubectel动力不保持一致kubelet cgroup driver: "systemd" is different from docker cgroup driver: "cgroupfs""

克服方案:k8s建议systemd动力,所以改以docker动力方可,总编辑 /etc/docker/daemon.json (没有就新建一个),移除如下开启项变量方可:

#总编辑创建副本sudo vim /etc/docker/daemon.json#移除素材{"exec-opts": ["native.cgroupdriver=systemd"]}

启动docker和kubectel

#启动dockersudo systemctl restart docker.service#重载kubectlsudo systemctl daemon-reload#启动kubectlsudo systemctl restart kubelet.service#查询kubectl免费长整整恢复正常sudo systemctl status kubelet.service

错误定时2:

error execution phase preflight: [preflight] Some fatal errors occurred:[ERROR FileAvailable---etc-kubernetes-manifests-kube-apiserver.yaml]: /etc/kubernetes/manifests/kube-apiserver.yaml already exists[ERROR FileAvailable---etc-kubernetes-manifests-kube-controller-manager.yaml]: /etc/kubernetes/manifests/kube-controller-manager.yaml already exists[ERROR FileAvailable---etc-kubernetes-manifests-kube-scheduler.yaml]: /etc/kubernetes/manifests/kube-scheduler.yaml already exists[ERROR FileAvailable---etc-kubernetes-manifests-etcd.yaml]: /etc/kubernetes/manifests/etcd.yaml already exists[preflight] If you know what you are doing, you can make a check non-fatal with `---ignore-preflight-errors=...`

情况:模板生产的副本,原先模板,只能删除方可

rm -fr /etc/kubernetes/manifests/*

错误定时3:

error execution phase preflight: [preflight] Some fatal errors occurred:[ERROR Port-10250]: Port 10250 is in use

克服法则:移除配置

sudo kubeadm reset

2,模板收尾

无报错,最终再次出现不限,表示模板收尾,根据定时还只能操作者。

[addons] Applied essential addon: CoreDNS[addons] Applied essential addon: kube-proxyYour Kubernetes control-plane has initialized successfully!To start using your cluster, you need to run the following as a regular user:mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/configAlternatively, if you are the root user, you can run:export KUBECONFIG=/etc/kubernetes/admin.confYou should now deploy a pod network to the cluster.Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:Then you can join any number of worker nodes by running the following on each as root:kubeadm join 192.168.152.100:6443 ---token tojkw9.v4nageqhftd7v2vc ---discovery-token-ca-cert-hash sha256:6a5b372144d6cc2a12f8e41853554549f1290e665381f48fdd92bbf92de7b884

根据免费器是root或者普通免费器操作者,由于大多环境不不会是root免费器,我也是普通免费器,所以选择普通免费器操作者军令:

mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config

如果是root免费器,监督不限军令:

export KUBECONFIG=/etc/kubernetes/admin.conf

模板收尾,用最终的定时军令kubeadm join....在node机器上投身于协同方可。

3,合而为一结点pod网络免费增设

合而为一结点支持网络免费JavaScript:

这里加装Calico网络免费JavaScript:

Calico官网共享三种加装形式,1)小于50个结点,2)高于50个结点,3)etcd datastore(官方不建议此法则)。

这里选择第一种:

curl -Okubectl apply -f calico.yaml

加装收尾后,kubectl get node 可查询结点长整整,由NotReady变回Ready则正常,只能等几分钟收尾。

#未加装网络免费JavaScriptubuntu@k8s-master:~$ kubectl get nodeNAME STATUS ROLES AGE VERSIONk8s-master NotReady control-plane,master 80m v1.22.3#已加装网络免费JavaScriptubuntu@k8s-master:~$ kubectl get nodeNAME STATUS ROLES AGE VERSIONk8s-master Ready control-plane,master 83m v1.22.3 五:投身于node结点

1,node投身于master结点

在所有node结点机器操作者,统一已加装收尾 kubelet、kubeadm 和 kubectl,用master模板收尾后最终定时军令投身于,切记要用root免费器。

kubeadm join 192.168.152.100:6443 ---token tojkw9.v4nageqhftd7v2vc ---discovery-token-ca-cert-hash sha256:6a5b372144d6cc2a12f8e41853554549f1290e665381f48fdd92bbf92de7b884

投身于最终后,定时如下:

[preflight] Running pre-flight checks[preflight] Reading configuration from the cluster...[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"[kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env"[kubelet-start] Starting the kubelet[kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap...This node has joined the cluster:* Certificate signing request was sent to apiserver and a response was received.* The Kubelet was informed of the new secure connection details.Run 'kubectl get nodes' on the control-plane to see this node join the cluster.

再次查询kubelet免费已正常开启。

2,需注意的坑

1:投身于合而为一结点,只能root免费器监督字典军令,才可以投身于master合而为一结点。

node在没有投身于合而为一结点master之前,kubelet免费是没有人开启的,是正常情况,不会报错如下:

"Failed to load kubelet config file" err="failed to load Kubelet config file /var/lib/kubelet/config.yaml,error failed to read kubelet config file "/var/lib/kubelet/config.yaml,error: open /var/lib/kubelet/config.yaml: no such file or directory" path="/var/lib/kubelet/config.yaml"

情况是缺失副本,合而为一结点master模板 `kubeadm init`填充。

node结点是不只能模板的,所以只只能用root免费器`kubeadm join`投身于master方可填充。

2:如果投身于定时某些副本已实际上,如:

[ERROR FileAvailable---etc-kubernetes-pki-ca.crt]: /etc/kubernetes/pki/ca.crt already exists

情况是投身于过合而为一结点,即使没最终投身于,副本也不会创建,所以只能移除结点,原先投身于方可,移除军令:

kubeadm reset

3,在master查询结点

投身于收尾后,在master结点kubectl get node可查询已投身于的所有结点:

ubuntu@k8s-master:~$ kubectl get nodeNAME STATUS ROLES AGE VERSIONk8s-master Ready control-plane,master 16h v1.22.3k8s-node01 Ready 24m v1.22.3k8s-node02 Ready 6m54s v1.22.3

这里k8s协同创建收尾,下一步应用于可参考我的下一篇篇文章:k8s初步熟悉应用于介绍,实践围住nginx协同

信阳妇科最好医院是哪个
泉州白癜风医院排行榜
吉林牛皮癣医院哪家好
厦门白癜风医院专家预约挂号
南京男科医院哪家看的好
这么多年过去了,为什么新冠还没有“消失”?
一直咳嗽怎么办用什么方法止咳
长新冠会破坏人们的运动能力?真相往往更残酷!
安全用药
癫痫
相关阅读

广州这公园是市民义务劳动建造,为解决城市水患,曾获评羊城八景

音乐 2025-10-24

劳动的每一位义务北京市民呢?追捧大家留言分享哦!本文是发行商作品,未经富家女三薰书面授权,严禁搬运、登载、洗稿。如需登载,叮嘱与著者富家女三薰直接联系,谢谢。。a href="htt

2021年营收微涨净利下滑 万科称有决心2022企稳回升

视频 2025-10-24

3月30日晚,万达发布2021年报,意味着营业收入4528亿元,不属于上市Corporation控股公司的净利润225.2亿元;意味着销售金额6277.8亿元。2021年,在金融业前所未有的震荡

暖心!张馨予的网站询问如何领养退役搜救犬康康

资讯 2025-10-24

张馨予曾举行《奇兵神犬》 新浪娱乐公司讯 3月初30日,张馨予转发了《去野吧毛孩子》主持人组的微博,暗示自己看到其中搜救犬郑中基的讲述,深受感动,这让她不禁想起都曾参与

千万别吃发物,会促进癌细胞扩散?医生告诉你怎么吃,务必便是

视频 2025-10-24

患者过份忌口,回事这大可并不所需!肺癌病患者只有进食得多样既有、新一轮既有,才能让自己微量元素充足,有充足的身躯去对抗细胞,大家一定要解释这一点!#有益2022##谣零零计划案#

本公司A:2021年归属股东净利润225.2亿元

资讯 2025-10-24

里国网长江实业讯 3月30日,本公司A发布2021年年度报告。报告据悉,合资公司实现营收4528.0亿元,营业收入增长8.0%;归属于上市公司股东的销售收入225.2亿元。

友情链接