第03讲:使用kubeadm搭建k8s单master集群方案

news/2023/6/9 20:10:54

一、安装前的准备工作

本实验使用1个master节点和2个node节点。
硬件配置(必要):2GB 或更多 RAM,2 个 CPU 或更多 CPU,硬盘 30GB 或更多

在这里插入图片描述
开始本实验之前请先按照 使用kubeadm搭建k8s集群的准备工作 进行实验前的准备工作

1.1、修改主机名

修改master主机名为:k8smaster

hostnamectl set-hostname k8smaster

修改node1主机名为:k8snode1

hostnamectl set-hostname k8snode1

修改node2主机名为:k8snode2

hostnamectl set-hostname k8snode2

1.2、在 master 添加 hosts

cat >> /etc/hosts << EOF
192.168.0.16 k8smaster
192.168.0.17 k8snode1
192.168.0.18 k8snode2
EOF

Ps:三台主机的ip地址按照自己电脑的情况而定

1.3、将桥接的 IPv4 流量传递到 iptables 的链

所有主机都需要设置

cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system  # 生效

运行效果:

在这里插入图片描述

1.4、时间同步

所有主机都需要设置

yum install ntpdate -y
ntpdate time.windows.com

运行效果:

在这里插入图片描述

二、所有节点安装 Docker/kubeadm/kubelet

Kubernetes默认CRI(容器运行时)为Docker,因此先安装Docker。

友情提示:在 二、所有节点安装 Docker/kubeadm/kubelet三、部署 Kubernetes Master 的所有步骤必须一气呵成,中途不能断电或者断网,并且虚拟机的配置一定要使用本文推荐的配置,或更高配置

2.1、安装Docker

$ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
$ yum -y install docker-ce-18.06.1.ce-3.el7 #设置要安装docker版本
$ systemctl enable docker && systemctl start docker #讲docker设置为开机启动
$ docker --version

运行效果:
当看到docker的版本时说明以上操作均成功

在这里插入图片描述

将docker仓库设置为阿里云的仓库

cat > /etc/docker/daemon.json << EOF
{"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
EOF
$ systemctl restart docker #设置好阿里云仓库之后需要重启docker

使用命令查看阿里云仓库是否设置成功

docker info

运行效果:

在这里插入图片描述

2.2、添加阿里云YUM软件源

所有主机均需添加

cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

2.3、安装kubeadm,kubelet和kubectl

所有主机均需安装

$ yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
$ systemctl enable kubelet #设置为开机启动

三、部署 Kubernetes Master

第1步:在Master主机上执行

kubeadm init \--apiserver-advertise-address=192.168.0.11 \--image-repository registry.aliyuncs.com/google_containers \--kubernetes-version v1.18.0 \--service-cidr=10.96.0.0/12 \--pod-network-cidr=10.244.0.0/16

参数说明:

  • apiserver:当前节点的ip地址,也就是master主机的ip,需要手动设置一下
  • image-repository:使用阿里云的镜像
  • service-cidr和pod-network-cidr:只要和当前节点的ip地址不冲突就行,随意

Tip:由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址。

运行效果:

在这里插入图片描述

拉取完成之后使用命令查看拉取的镜像

第2步:使用kubectl工具:

kubectl get nodes

运行效果:

在这里插入图片描述

四、加入Kubernetes Node

第1步:master主机获取join地址

kubeadm token create --print-join-command

运行效果:
在这里插入图片描述

第2步:在node主机运行上图红框命令加入Kubernetes Node

kubeadm join 192.168.0.16:6443 --token aglo62.gtx74iz9hzymplle     --discovery-token-ca-cert-hash sha256:75c5d9ddaf48cd3bc23718d2ac38fd122eff91f564b7efea6c6cfae79e594538

运行效果:

在这里插入图片描述

第3步:在master主机查看node主机是否加入Kubernetes

kubectl get nodes

运行效果:

在这里插入图片描述

五、安装pod网络插件flanne

在master主机部署CNI网络插件

第1步:下载flanne

wget https://github.com/flannel-io/flannel/blob/master/Documentation/kube-flannel.yml

运行效果:

在这里插入图片描述

第2步:安装flanne

kubectl apply -f kube-flannel.yml

运行效果:

在这里插入图片描述
Ps:如果执行报错如下,是文件问题,使用我的kube-falannel.yml文件

error: error parsing kube-flannel.yml: error converting YAML to JSON: yaml: line 123: mapping values are not allowed in this context

kube-falannel.yml下载

第3步:查看flanne是否安装

kubectl get pods -n kube-system

运行效果:

在这里插入图片描述

六、测试k8s集群

在 Kubernetes 集群中创建一个 pod,验证是否正常运行,当前实验是在master中安装一个nginx,测试在node节点中是否可以成功访问这个nginx,如果可以则说明集群搭建成功
第1步:下载一个nginx

kubectl create deployment nginx --image=nginx

运行效果:

在这里插入图片描述
第2步:查看ngin是否pull成功

kubectl get pod

运行效果:

第3步:对外暴露80端口

kubectl get pod
$ kubectl create deployment nginx --image=nginx
$ kubectl expose deployment nginx --port=80 --type=NodePort 
$ kubectl get pod,svc

访问地址:http://NodeIP:Port

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4557301.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

HTML5自助微站 借问平台何处有?

HTML5语言的逐渐成熟&#xff0c;适配移动端的HTML5微页面、小游戏等如雨后春笋般刷爆 微博、微信等社交平台&#xff0c;仿佛一夜之间进入了“H5”的时代&#xff0c;HTML5 微站也成为了 移动营销的标配。于是各大中小企业开始火拼创意&#xff0c;只为“争分夺秒”地占据更多…

安卓包在真机上安装时的“风险提示”问题

1&#xff09;安卓包在真机上安装时的“风险提示”问题 ​2&#xff09;iOS下AssetBundle的加载疑问 3&#xff09;特效用粒子系统&#xff0c;模拟器里出现花屏问题 4&#xff09;IL2CPP编译的Protobuf&#xff0c;反射类运行时报空 这是第321篇UWA技术知识分享的推送&#xf…

风铃驾到站长是否要转换战场

写这些都是个人见解&#xff0c;仅供大家茶余饭后消遣&#xff0c;请勿乱喷&#xff01;谢谢&#xff01;好切换正题。 腾讯无线建站产品风铃之前饱受争议&#xff0c;曾一度被传关闭。但是昨天风铃却低调上线&#xff0c;这次也印证了腾讯对无线产品商业化的布局。那就谈谈站长…

做建站平台,蓝色光标不务正业?

最近笔者收到一封“出人意料”的邀请函&#xff1a;蓝色光标将在4月21日发布BlueMP——综合性一站式微站自助服务平台公众版&#xff0c;并且特意强调这是“自主研发”&#xff0c;蓝标不是公关公司吗怎么做起移动建站了&#xff1f;它是唯一一家上市的中国公关公司&#xff0c…

腾讯风铃

腾讯最近曝光的“风铃”无比吸睛&#xff0c;毕竟这是腾讯官方的首款微信开发工具&#xff0c;但这款产品到底是神马?据搜狐IT了解&#xff0c;风铃本来是腾讯网络媒体事业群(OMG)为广告客户做的销售服务&#xff0c;主打卖点就是基于微信的网站建设。有趣的是&#xff0c;整套…

聊聊手机建站软件有哪些?

手机网站作为移动端的标配&#xff0c;我们该如何搭建呢?随着移动互联网的快速发展&#xff0c;越来越多的小伙伴选择布局移动端抢占端流量。下面老铁SEO就为大家推荐几款无需懂编程&#xff0c;即使是小白也能搭建手机网站的工具! 一、搜狐快站 搜狐快站是搜狐推出的一款可视…

我们是这样使用腾讯风铃的!

昨天写了一篇文章《请问下如何做微信营销?》主要是针对对微信营销感兴趣或是从事微信营销的朋友们的&#xff0c;解决了最基本的问题&#xff0c;也有朋友在微信公众号上留言说&#xff0c;太不实用了。是啊&#xff0c;基础理论怎么可能实用呢?但是基础是又是最重要的!昨天写…

开发者揭秘腾讯风铃:边缘产品难堪智能

【编者按】腾讯风铃终于在被关闭的传言消停一段时间后正式亮相&#xff0c;而对这一产品最敏感的除了要建无线站点的企业&#xff0c;就是依托于微信的第三方开发者了。对于这一被外界视为“抢开发者饭碗”的产品&#xff0c;微信开发者是什么态度&#xff1f;国内微信公众智能…