如何低成本的搭建一个真实的Kubernetes集群

这篇具有很好参考价值的文章主要介绍了如何低成本的搭建一个真实的Kubernetes集群。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引言:kubernetes作为当前事实上的容器编排标准,其势头可谓是如日中天,然而,kubernetes一直以来被人诟病的就是其复杂的搭建成本,作为个人,除了用miniKube等工具在个人电脑上模拟一个集群,或者通过虚拟机模拟一个集群,但终归,真实集群和虚拟集群是不同的。我一直在想,如今云服务器已经十分成熟,难道就不能作为搭建kubernetes平台的基础设施吗?

一、架构规划

其实对于现在的云服务来说,各家竞争激烈,价格也打得比较低,但是存在一个问题:为了吸引新用户,云服务厂商一般都对产品首单、新用户首次下单时进行特别大的折扣,入坑后才发现,续费或者购买新服务器动辄上千元💰!实在不是我等普通程序员愿意支出的一笔消费😭。好在我了解到,各云厂商现在在主推一种新的云服务器(可以称之为云服务器的阉割版),比如腾讯云叫“轻量应用服务器”,阿里云肯定也有对应的产品。这种阉割过的服务器,价格实惠,正适合购买来做个人集群。
那么假如我们是新用户(新用户其实很简单,以前注册过的,换个手机号注册就是了,反正一个身份证一般都能绑多个账号,各个云厂商都差不多政策的。),我们以首单优惠买个阉割版服务器,再通过首单优惠买个云服务器,有两个服务器不就能搭一个真正的Kubernetes集群吗?😏
为了方便选择,我也做了一个价格表,目前阿里云、腾讯云都在搞活动,正是入手的好时机:

云厂商 轻量服务器最低配置 云服务器最低配置 活动链接
腾讯云 2核2G 200/3年 2核2G 298/3年 点击查看
阿里云 2核2G 99/年 1核2G 261/3年 点击查看
华为云 - 1核2G 158 /1年 (新用户可买3台) 点击查看

以上这个表格应该对比的很清晰了,都是各厂商活动页首推的配置,应该是最便宜的了。个人感觉华为云最不实惠,不推荐。
腾讯云别看总价是498,点击这个连接领取新人优惠券,我算下来,差不多373元拿下两个云服务器,3年呐,!简直是买不了吃亏,买不了上当,感觉厂商都要亏本!
贴上我以前做活动时买的,都是1核2G的配置,轻量买了1年(我那时候怕轻量和云服务器不可以在kubernetes集群中互联互通),云服务器买了3年,都要269元,这样一算,2核2G两个3年才373,我简直血亏😭。

如何低成本的搭建一个真实的Kubernetes集群

回归主题!当我们以低成本拿到两个服务器后,就可以规划准备搭建集群了,这里我先放个架构图:

如何低成本的搭建一个真实的Kubernetes集群

假设 Node1 是我们买的CVM云服务器, Light Node1 是我们买的轻量应用服务器,它们位于不同的网段,我们需要做好网络规划,让两个网段能互联互通即可。

搭建步骤

1. 各服务器上安装docker、kubelet kubectl kubeadm

要搭建kubernetes集群,首先集群中的每个节点都需要安装好以上这些软件,docker怎么安装网络上教程一大把,我这里就不多介绍了,只是要注意修改/etc/docker/daemon.json的配置:

{
    "registry-mirrors": [
        "https://mirror.ccs.tencentyun.com"
    ],
    "bip": "10.47.0.1/16",
    "exec-opts": ["native.cgroupdriver=systemd"]
}

这里我修改了docker的网段地址,把cgroupdriver改成了systemd(kubernetes要求)。修改docker网段地址是因为:我们要保证节点网络、docker内部网络、kubernetes网络地址CIDR段不要冲突,冲突不好搞的,在规划时就要区别开。这里你要根据你的节点的实际网络地址,配置一个网段,不要从我的示例json中直接复制。

这里给出kubelet kubectl kubeadm的安装方法:

 cat <<EOF > /etc/yum.repos.d/kubernetes.repo
 [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
 EOF
 setenforce 0
 yum install -y kubelet-1.22.0 kubeadm-1.22.0 kubectl-1.22.0

yum安装好了以后,systemctl enable kubelet && systemctl start kubelet命令设置成开机启动即可。
同时,我们把两个云服务器的hostname设置成k8s-masterk8s-node1

2. 保证CVM和轻量应用服务器可以互联互通

参考腾讯云文档
配置完成后,CVM和轻量应用服务器应该就可以相互ping通。

3. 使用 kubeadm 安装集群的master节点
kubeadm init \ 
--apiserver-advertise-address=172.17.0.3 \
--image-repository registry.aliyuncs.com/google_containers \ 
--kubernetes-version v1.22.0 \ 
--service-cidr=10.96.0.0/12 \ 
--pod-network-cidr=10.244.0.0/16 \
--ignore-preflight-errors=all

这里要感谢阿里云,他们提供的国内镜像地址,可以让我们快速的下载下来kubernetes所需要的镜像。
可以看到,此命令中需要提供kubernetes的service网段和pod网段,也需要注意不要冲突。

4. 安装node节点

安装node节点就非常简单了,当master节点成功安装完毕,命令应该会打印出如何安装node节点的示例,复制下来,在k8s-node1上运行就行了。

5. 开启防火墙的端口

最后,我们需要在云服务器和轻量应用服务器的防火墙中,配置端口联通规则:
在k8s-master上放行:TCP:6443,10250,10251,10252
在k8s-node1 上放行:TCP: 10250

6. 其它工作

最后可能需要配置Flannel、移除master节点的污点等。这里就不再过多介绍,以后有时间,可以再写些博客详细分享一下。目前,我也是学习者的状态。文章来源地址https://www.toymoban.com/news/detail-429068.html

三、参考资料

  • K8s安装
  • 腾讯云购买地址
  • 技术交流群
  • 我基于k8s部署的个人博客网站

到了这里,关于如何低成本的搭建一个真实的Kubernetes集群的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【kubernetes篇】教你kubeadm方式搭建kubernetes 集群。单master节点集群,多master节点集群说明。

    kubernetes集群分为单Master节点集群和多Master节点集群。在实际应用中我们一般采用多Master节点集群,实现高可用。 单Master节点集群模型: 多Master节点集群模型 Master节点:2核,4G内存,20G磁盘 Node节点:4核,8G内存,40G磁盘 Master只是作为控制节点,占用资源不高,但是Node节点

    2023年04月09日
    浏览(54)
  • 真实记录阿里云实践成本优化,成本直接降低一半

    本文真实记录3个月阿里云成本降低案例,先说结论,核心服务性能更佳,成本优化超一半,运维管理更自动化。 前言:本文不一定适合所有的阿里云使用者,其中优化的手段大部分可以借鉴参考,同时不涉及到包年包月购买方式的省钱方案,纯粹为技术方面的优化,比较合

    2024年02月10日
    浏览(36)
  • Kubernetes1.26集群环境搭建

    先准备三台虚拟主机(一主二从),虚拟机配置为(master节点2CPU3G内存20G硬盘,node节点1CPU2G内存20G硬盘),虚拟机安装软件为VirtualBox7.0 主机名解析,为了方便后续三台虚拟机可以直接通过主机名访问,企业中推荐使用内部DNS服务器 编辑三台虚拟机的/etc/hosts文件 时间同步 kub

    2023年04月24日
    浏览(79)
  • kubernetes 集群搭建(二进制方式)

    使用二进制方式搭建Kubernetes集群,可以更加灵活、自由地定制和配置Kubernetes。同时,它还可以实现更高的性能和更小的资源占用。 对于我这个初学者来说: 更加直观地看到Kubernetes的各个组件,了解它们之间的关系和作用。 在搭建Kubernetes集群的过程中,了解集群的架构和各

    2024年02月14日
    浏览(49)
  • 使用nginx搭建kubernetes高可用集群

    本文使用 nginx 搭建 kubernetes 高可用集群。 服务器规划(本实验采用虚拟机): ip hostname 说明 192.168.43.200 master master 192.168.43.201 slave1 slave 192.168.43.202 slave2 slave 192.168.43.203 master2 master 192.168.43.165 nginx nginx主机 2.1 关闭防火墙 2.2 关闭 selinux 2.3 关闭 swap 2.4 设置主机名称 使用命令 h

    2024年02月10日
    浏览(68)
  • kubernetes-v1.22.13集群搭建

    本文采用 kubeadm 的方式搭建 kubernetes-v1.22.13 集群。 服务器规划(本实验采用虚拟机): ip hostname 192.168.43.211 master 192.168.43.212 slave1 192.168.43.213 slave2 192.168.43.214 master2 2.1 关闭防火墙 2.2 关闭 selinux 2.3 关闭 swap 2.4 设置主机名称 使用命令 hostnamectl set-hostname hostname 设置主机名称,如

    2024年02月11日
    浏览(83)
  • 二进制搭建Kubernetes集群(一)——部署etcd集群和单master

    注意:生产环境中,etcd集群和master、node节点都应该部署在不同的机器上,此处为了实验方便,将三台etcd节点分别部署在了master和node节点上了 k8s集群master01:192.168.126.27    kube-apiserver kube-controller-manager kube-scheduler etcd k8s集群master02:192.168.80.21 k8s集群node01:192.168.80.11    

    2024年02月10日
    浏览(50)
  • 二进制搭建 Kubernetes与k8s集群搭建(一)

    目录 二进制搭建 Kubernetes v1.20     操作系统初始化配置 部署 docker引擎 部署 etcd 集群 准备签发证书环境 在 master01 节点上操作      生成Etcd证书 在 node01 节点上操作 在 node02 节点上操作 部署 Master 组件 在 master01 节点上操作 部署 Worker Node 组件 在所有 node 节点上操作 在 mas

    2024年02月06日
    浏览(70)
  • Containerd+Kubernetes搭建k8s集群

    视频教程地址:https://space.bilibili.com/3461573834180825/channel/seriesdetail?sid=3316691 之前写了一篇基于docker安装kubernetes的文章,这篇文档我们来使用containerd来安装kubernetes,相较于docker,containerd运行容器的时候效率更高,并且可以兼容docker镜像。基于docker安装kubernetes的文章地址:ht

    2024年02月07日
    浏览(46)
  • 使用nginx+keepalived搭建kubernetes高可用集群

    本文使用 nginx+keepalived 搭建 kubernetes 高可用集群。 当使用 nginx 作为应用服务器前端软负载的时候,可以通过 keepalived 来实现虚拟IP(Virtual IP,VIP)在主、备 节点之前的漂移,其中VIP需要在申请服务器的时候进行创建。 1)、当主节点 nginx 服务无法启动,或者主节点服务器宕机,

    2024年02月15日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包