Kubernetes (K8S) 集群架构与搭建方式详情

打印 上一主题 下一主题

主题 880|帖子 880|积分 2640

简介

Kubernetes(K8S)是一个开源的容器编排平台,用于自动化应用步伐的部署、扩展和管理。本文将介绍K8S的常见集群架构和搭建方式,并详细阐明如何基于Minikube搭建单节点K8S集群以及部署第一个K8S应用。
K8S常见集群架构和搭建方式

集群范例


  • 单master-Node集群

    • 一主多从,推荐测试情况利用。
    • 服务器要求:至少2台2核4G以上的云服务器。

  • 多master-Node集群

    • 多主多从(高可用集群),推荐生产情况利用。
    • 服务器要求:至少4台2核4G以上的云服务器。

  • 单节点K8S集群

    • 单个节点。
    • 服务器要求:至少一台2核4G以上的云服务器。




K8S搭建方式


  • kubeadm搭建(推荐)

    • 提供kubeadm init和kubeadm join命令,用于快速搭建K8S集群。

  • 二进制包搭建

    • 从GitHub下载发行版的二进制包,手动部署每个组件,构成Kubernetes集群。
    • 可以相识底层,但步调繁琐,坑较多。

  • Minikube搭建

    • 轻量化的Kubernetes集群,适用于开辟者和学习者。
    • 利用个人PC的假造化情况快速构建启动单节点K8S。

云服务器阐明

        本地假造机大概其他系统,存在各种系统版本、内核参数调整、swap分区、网络标题等,为了避免兼容性标题,发起统一利用阿里云Linux CentOS 7.8。如果多节点集群搭建,可以利用阿里云的按量付费选择多台ECS服务器。
基于Minikube搭建单节点K8S集群

简介

Minikube是一种轻量化的Kubernetes集群,适用于开辟者和学习者快速构建启动单节点K8S。
机器准备: 阿里云 CentOS 7.x,2核4G。

安装步调


  • 安装Docker
    1. # 1.先安装yml
    2. yum install -y yum-utils device-mapper-persistent-data lvm2
    3. # 2.设置阿里云镜像
    4. sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    5. # 3.查看可安装的docker版本
    6. yum list docker-ce --showduplicates | sort -r
    7. #4. 安装docker
    8. yum -y install docker-ce-20.10.10-3.el7
    9. #5. 查看docker版本
    10. docker -v
    11. #配置开机自启动
    12. systemctl enable docker.service
    13. #6. 启动docker
    14. systemctl start docker
    15. #7. 查看docker 启动状态
    16. systemctl status docker
    复制代码
  • 配置镜像源
    1. cat > /etc/yum.repos.d/kubernetes.repo << EOF
    2. [kubernetes]
    3. name=Kubernetes
    4. baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
    5. enabled=1
    6. gpgcheck=0
    7. repo_gpgcheck=0
    8. gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
    9. EOF
    复制代码
  • 安装kubectl
    1. yum install -y kubectl-1.18.0
    复制代码
  • 安装minikube
    1. curl -LO https://storage.googleapis.com/minikube/releases/v1.18.1/minikube-linux-amd64 && sudo install minikube-linux-amd64 /usr/local/bin/minikube
    复制代码
  • 查抄minikube安装是否成功
    1. minikube version
    复制代码
  • 启动minikube
    1. minikube start --image-mirror-country='cn'  --driver=docker --force --kubernetes-version=1.18.1 --registry-mirror=https://registry.docker-cn.com
    复制代码
  • 检察集群信息
    1. kubectl cluster-info
    复制代码
快速部署第一个K8S应用

检察K8S集群信息

  1. kubectl cluster-info
复制代码
检察节点信息

  1. kubectl get node
复制代码
检察内部组件

  1. kubectl get pod -A
复制代码
部署第一个K8S应用-Nginx,并通过公网IP访问


  • 创建deployment(Pod控制器的一种, 直接删除pod后,会自动创建新的,必要删除deployment
    1. kubectl create deployment xdclass-nginx --image=nginx:1.23.0
    复制代码
  • 对比Docker部署
    1. docker run --name xdclass-nginx -p 8080:80 -d nginx:1.23.0
    复制代码
  • 检察deployment和pod
    1. kubectl get deployment,pod,svc
    复制代码
  • 暴露80端口
    1. kubectl expose deployment xdclass-nginx --port=80 --type=NodePort
    复制代码
  • 转发端口(Mini Kube暂时)
    1. kubectl port-forward --address 0.0.0.0 service/xdclass-nginx 80:80
    2. 解释:
    3.   kubectl port-forward 转发一个本地端口到 Pod 端口,不会返回数据,需要打开另一个终端来继续这个练习
    复制代码
注意事项



  • Minikube的搭建与Kubeadm有所不同。
  • NodePort不能通过IP+端口直接访问,必要通过Minikube service(内网访问)和端口转发(公网访问)。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

河曲智叟

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表