Centos 8.1 搭建单主kubernetes(k8s)集群及故障排除过程

近年来,随着技术架构的演进,从单体到SOA,再由SOA到微服务的架构演变,而大规模的应用给开发和运维带来的很多麻烦。容器化技术的产生,使得我们可以利用镜像不可变性通过快速简单的回滚,提供可靠且频繁的容器镜像构建和部署在生产环境中,可以使得我们以松散耦合、分布式、弹性、解放的微服务:应用程序被分解成较小的独立部分,并且可以动态部署和管理 - 而不是在一台大型单机上整体运行。随着应用规模的不断扩大,就需要一个自动化的管理运行应用程序的容器,实现自动伸缩的系统,具体kubernetes 如何的好,能做什么这里闲话少絮,想了解的参考官网:https://kubernetes.io/zh/docs/concepts/overview/what-is-kubernetes/。 这里也是为了更好了解其中的原理,参考官方文档在本地搭建一套单主节点的集群,并记录下过程中遇到的问题,希望小伙伴可以避免这些问题,快速处理问题,节省时间到研究 kubernetes 本身的原理和实践中去。

同时也给出几篇文章供参考:

centos 8 环境搭单主节点 kubernetes 建集群的文章(英文):

https://www.tecmint.com/install-a-kubernetes-cluster-on-centos-8/

https://upcloud.com/community/tutorials/install-kubernetes-cluster-centos-8/

kubernetes 官方文档的参考(中文):

https://kubernetes.io/zh/docs/setup/independent/create-cluster-kubeadm/

环境准备

我先说一下我的环境:

vagrant+virtual box 创建3台虚拟机,分配 2CPU、2G内存,系统采用 centos 8.1

官网给出的环境要求如下:

虚拟机准备

至于vagrant 和 virtual box 创建虚拟机的过程这里就不写了,给出官网下载地址 和 Vagrantfile 配置即可,需要注意的是要保证虚拟机之间的互相通信,和mac地址的唯一性,这也在上面的要求中列出来了

vagrant 下载地址:https://www.vagrantup.com/downloads.html

virtual box 下载地址:https://www.virtualbox.org/wiki/Downloads

virtual box 虚拟机 centos 镜像地址:https://cloud.centos.org/centos/8/x86_64/images/

最好先下载到本地磁盘保存,然后通过 vagrant 把这个镜像添加到镜像库中:

vagrant box add --name centos/8.1 F:\boxes\CentOS-8-Vagrant-8.1.1911-20200113.3.x86_64.vagrant-virtualbox.box

添加成功之后可以用命令 vagrant box list 查看镜像。

这里给出 Vagrantfile 虚拟机配置文件内容供参考,当然也可以手动创建虚拟机:

Vagrant.configure("2") do |config|
  config.vm.box = "centos/8.1"
  config.vm.box_check_update = false

  (1..3).each do |i|
    config.vm.define "node-#{i}" do |node|
      node.vm.network "public_network"
      node.vm.provider "virtualbox" do |vb|
        vb.name = "node-#{i}"
        vb.memory = "2048"
        vb.cpus = 2
      end
      node.vm.synced_folder "./node-#{i}", "/vagrant"
    end
  end
end

这里虚拟机的名称和同步文件夹名称可以自己修改(我的在Vagrantfile 同级目录下),我把网络设置成 public_network 保证虚拟机可以上公网,因为需要下载镜像。然后运行 vagrant up 启动这三个虚拟机,不放心的话可以互相ping一下,检查网络。

下面正式进入搭建工作,需要在三个节点中安装 kubeadm、kubectl、kubelet、docker组件),在主节点安装控制面板组件(下图中的 kubernetes control plane 部分的组件,用于集群控制)。下图是 kubernetes 官方网站的组件图:

  • 12
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值