微服务 - 搭建k8s(kubeadm)模拟复杂的生产环境(下篇) 热点在线
概述
在之前的k8s实践中,我们使用minikube搭建了k8s环境,为了更真实的展示生产级别的k8s,本节课采用kubeadm来搭建master+worker集群,实现k8s集群,master、worker在虚拟机上来执行,中间遇到了超级多的坑,在这里系统的总结一下,分上下两篇进行讲解。
一共有3台虚拟服务器主机,上篇主要介绍,kubeadm安装前的准备,kubeadm安装,下篇主要介绍使用Flannel 把Master、worker节点链接在k8s的同一个网络中,安装k8s的模拟环境是一切实践k8s的基础条件。
master IP: 192.168.88.134worker IP: 192.168.88.139console IP: 192.168.88.136
安装 Master 节点
pod-network-cidr 可以给定默认的10.244.0.0,这样安装flannel网络插件的时候就会方便了。 image-repository registry.aliyuncs.com/google_containers 这句是自动安装kubernetes需要的指定的docker镜像。
【资料图】
sudo kubeadm init \ --pod-network-cidr=10.244.0.0/16 \ --apiserver-advertise-address=192.168.88.134 \ --kubernetes-version=v1.23.3
kubeadm versionkubectl version --client
或者你可以先执行一下下载镜像的脚本:
#!/bin/bash# stark @ 2022-04# kubeadm config images list --kubernetes-version v1.23.3# k8s.gcr.io/kube-apiserver:v1.23.3# k8s.gcr.io/kube-controller-manager:v1.23.3# k8s.gcr.io/kube-scheduler:v1.23.3# k8s.gcr.io/kube-proxy:v1.23.3# k8s.gcr.io/pause:3.6# k8s.gcr.io/etcd:3.5.1-0# k8s.gcr.io/coredns/coredns:v1.8.6# use ali registry to speed uprepo=registry.aliyuncs.com/google_containersfor name in `kubeadm config images list --kubernetes-version v1.23.3`;do # remove prefix src_name=${name#k8s.gcr.io/} src_name=${src_name#coredns/} docker pull $repo/$src_name # rename to fit k8s docker tag $repo/$src_name $name docker rmi $repo/$src_namedone# flannel imagesfor name in `grep image flannel.yml |grep -v "#image" | sed "s/image://g" -`;do docker pull $namedone# checkdocker images
如果初始化失败,可以使用 sudo kubeadm reset -f
进行重置:
安装完成以后这个才是最最最重要的地方!!!!
我解释一下提示的意思,这个地方在加入worker节点的时候也是重点需要理解的地方,非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
有的时候就会遇见 The connection to the server localhost:8080 was refused - did you specify the right host or port? 这个傻逼问题,这个可能是初始化准备的时候有问题,就得重试!用 sudo kubeadm reset
进行重试,如果你没有遇到,恭喜你那你是幸福的!
这个问题我回头会专门回答这个问题,已经知道原因了,我们先安装。
sudo rm $HOME/.kubesudo rm -rf /etc/cni/net.dsudo ipvsadm --clear
安装 Flannel 网络插件
git 网址 https://github.com/flannel-io/flannel/,底下有提示:
# For Kubernetes v1.17+# If you use custom podCIDR (not 10.244.0.0/16) you first need to download the above manifest and modify the network to match your one.kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/v0.20.2/Documentation/kube-flannel.yml
到此,master节点已经安装好了
stark@master:~$ kubectl get nodeNAME STATUS ROLES AGE VERSIONmaster Ready control-plane,master 35m v1.23.3
安装 Worker 节点
Worker 节点的准备工作和Master的一样,可以把Worker上准备好的sh脚本,在worker的服务器上在执行一遍:
把在master上kubeadm初始化成功的 kubeadm join 找到,在worker上执行,这个意思是加入到master的k8s集群中,如果找不到了,就执行kubeadm token create --print-join-command
kubeadm join 192.168.88.134:6443 --token k0yau8.mimrb35spiho0whw \--discovery-token-ca-cert-hash sha256:a26bf3d3da3cd4b09fc35cc29bf2170ea8fe43f99f7c2c18ad4634f011bb2c61
scp -r stark@192.168.88.134:~/sh ~
复制k8s文件,执行之前的命令:
sudo scp -r stark@192.168.88.134:/etc/kubernetes/admin.conf /etc/kubernetes/admin.confmkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config
执行kubectl get nodes
命令,worker节点安装完毕:
worker@worker:~$ kubectl get nodesNAME STATUS ROLES AGE VERSIONmaster Ready control-plane,master 67m v1.23.3worker Ready 4m41s v1.23.3
添加一个pod,测试,已经ok了。
kubectl run ngx --image=nginx:alpinekubectl get pod -o wideworker@worker:~$ kubectl get pod -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESngx 1/1 Running 0 49s 10.244.1.2 worker
Console
Console就非常简单了,把文件直接从Master主机上scp过来就好了。做一个补充,先下载kubectl的文件:
#下载:curl -LO https://dl.k8s.io/release/v1.23.3/bin/linux/arm64/kubectl# 安装sudo install kubectl /usr/local/bin/kubectl# 从master节点复制文件sudo scp stark@192.168.88.134:/etc/kubernetes/admin.conf /etc/kubernetes/admin.conf
执行一下刚才执行的:
mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config
至此,kubeadm的,master + worker + console 的环境搭建完成了。
标签:
相关文章
微服务 - 搭建k8s(kubeadm)模拟复杂的生产环境(下篇) 热点在线
在之前的k8s实践中,我们使用minikube搭建了k8s环境,为了更真实的展示生产级别的k8s,本节课采用kubeadm来搭建master+worker集群,
12.22正式服调整:百里玄策、李元芳乐了,孙策成为天美新儿子 环球通讯
大家好,我是猪奇菌,今天是正式服调整资讯!在12 22号,正式服迎来了新一轮的英雄调整,涉及到的英雄有李元芳、孙策、百里玄策、周瑜、达摩和
撑伞歌词原文(韩庚撑伞完整歌词)-热讯
欢迎观看本篇文章,小富来为大家解答以上问题。撑伞歌词原文,韩庚撑伞完整歌词很多人还不知道,现在让我们一起来看看吧!1、055-79000完整歌
《中国奇谭》要来A股 收购方强势涨停!这些影视股机构扎堆关注
【《中国奇谭》要来A股收购方强势涨停!这些影视股机构扎堆关注】3月8日,上海电影平开高走,早盘持续拉升,午后涨停,收盘仍有1 5万手买单封
清朝历史简介
1、清朝历史(1616年—1912年)是中国清朝时期的历史。本词条介绍的是从1616年努尔哈赤建立后金算起,到1912年宣统帝下诏退位为止,共296年的历史。2
手机产业链今日普跌,截至发稿,丘钛科技(01478.HK)跌5.87%,报4.65港元_环球消息
手机产业链今日普跌,截至发稿,丘钛科技(01478 HK)跌5 87%,报4 65港元;舜宇光学(02382 HK)跌4 3%,报89 05港元;比亚迪电子(00285 HK)跌3 9
两度易主后,东三环网红盘迎来白衣骑士
原持股55%的大股东环球融创退出,股权由泰康人寿信托接手,项目也改由国贸地产操盘,更名为国贸锦原。产品优势:游艇式立面,并且由国贸重新设
搭载英特尔酷睿i51240P的三星GalaxyBook2Pro在亚马逊上跌至30天内的最低价
配备英特尔酷睿i5-1240P处理器、全高清AMOLED显示屏、8 256GB内存 存储和Windows11家庭版的15
当前焦点!CNG双燃料汽车是什么意思
汽车现在已经越来越普及,基本上都快实现每家每户都有汽车了,那么汽车这么多的情况之下,我们在用车的过程当中肯定也就会遇到各
qq空间如何加密 当前聚焦
1、在设置里加密。步骤:进入QQ主界面,点击上方的星星图标进入QQ空间。点击QQ空间上方设置选项。选择“权限设置”,点击“自定义”选项。2...
壁挂炉尺寸规格是多少 热资讯
1、壁挂炉尺寸的规格是需要根据不同品牌而定的,不同的品牌,大小和型号都有一定的差异。2、是差异也并不是很大,一般情况下,壁挂炉的尺寸在7
国际油价依然看涨,受益于两大利好,且OPEC+料延续现政 当前讯息
周二(3月7日),国际油价震荡回落,但后市依然看涨。行业高管表达了对市场闲置产能有限和俄罗斯供应不确定性的担忧,且最大原油进口国中国的需
环球速讯:门票售罄,场馆排满 演出市场火热复苏
事实上,春节后的一两个月通常是演出市场的淡季,而目前,包括演唱会、话剧、音乐节、脱口秀等多种线下演出接连上演,演出市场迎来“开门红...
天天日报丨巴基斯坦清真寺爆炸已致100人死 警方:自杀式爆炸事故!
巴基斯坦清真寺爆炸已致100人死警方:自杀式爆炸事故!今天的关注度非常高,直接上了热搜榜,那么具体的是什么情况呢,大家
重庆交通建设今年计划完成投资1100亿元 未来五年有望实现北上广高铁6小时通达
证券时报网讯,据重庆日报从2023年全市交通工作会上获悉,重庆将加快建设高水平交通强市和国际性综合交通枢纽城市,今年投向交通建设的资金将
全球微速讯:福州有哪些大学院校名单及排名
2017年最新福州的大学及其排名:1、福州大学,本科。2、福建农林大学,本科。3、福建医科大学,本科。4、福建中医药大学,本科。5、福建师范大
各大直播间切翡翠原石都是坑人的,大家警惕陷阱! 环球通讯
前言:各大直播间切翡翠原石都是坑人的,大家警惕陷阱!翡翠原石具有非常神秘的诱惑力,很多的千万富豪的收藏家都喜欢去挖掘它的背后价值,但
沂蒙山_说一说沂蒙山的简介 每日关注
夏弥来为大家解答以下的问题,沂蒙山,说一说沂蒙山的简介,现在让我们一起来看看吧!1、沂蒙山作为人文地理概念指“沂蒙山区”