首页 > 其他分享 >部署kubernetes集群机器

部署kubernetes集群机器

时间:2024-05-25 11:53:54浏览次数:22  
标签:容器 kubernetes Kubernetes 部署 集群 docker 节点

前言:部署Kubernetes集群机器是一项涉及多个步骤和要求的重要任务。以下是一些关于部署Kubernetes集群机器前言的要点:

  1. 简介:Kubernetes(通常简称为K8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。通过Kubernetes,您可以轻松地在集群中运行和管理多个容器化应用程序,同时确保它们之间的通信和协调。

  2. 部署目标:部署Kubernetes集群的主要目标是实现应用程序的自动化管理、提高可扩展性和可靠性,并降低运维成本。通过Kubernetes,您可以轻松地将应用程序扩展到多个节点,以应对流量高峰和负载增加。
  3. 系统要求:在开始部署之前,您需要确保机器满足Kubernetes的最低系统要求。这包括足够的RAM、CPU和磁盘空间,以及兼容的操作系统(如CentOS 7+、Ubuntu等)。此外,您还需要确保所有机器之间的网络互通,并能够访问外网以拉取必要的镜像和软件包。
  4. 环境准备:在部署之前,您需要准备好所需的软件和工具。这包括Docker(用于容器化应用程序)、kubeadm(用于初始化和管理Kubernetes集群)、kubelet(在节点上运行并管理容器的组件)和kubectl(用于与Kubernetes集群进行交互的命令行工具)。您还需要配置网络插件(如Calico、Flannel等)以支持容器之间的网络通信。
  5. 部署步骤:部署Kubernetes集群通常包括以下步骤:安装Docker和kubeadm;使用kubeadm初始化Master节点;将Node节点加入到集群中;安装Pod网络插件以支持容器之间的网络通信;测试集群以确保一切按预期运行。
  6. 注意事项:在部署过程中,请注意一些常见的问题和挑战。例如,确保所有节点都满足最低系统要求,并配置正确的网络和防火墙设置。此外,请遵循最佳实践和安全指南来确保集群的安全性和稳定性。
  7. 扩展和维护:一旦您成功部署了Kubernetes集群,您可以根据需要添加更多节点来扩展集群的容量。此外,您还需要定期更新和维护集群以确保其安全性和性能。

总之,部署Kubernetes集群机器是一个复杂但强大的过程,可以帮助您实现自动化管理、提高可扩展性和可靠性,并降低运维成本。在开始之前,请确保您已经了解了相关要求和步骤,并遵循最佳实践来确保集群的成功部署和稳定运行。

一、实训目的

1、学会使用kubeadm部署k8s集群。

2、熟悉整个操作过程。

二、环境准备
1、在开始之前,部署Kubernetes集群机器需要满足一下几个条件:

(1)一台或多台机器,操作系统 CentOS7.x-86_x64

(2)硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多

(3)可以访问外网,需要拉取镜像,如果服务器不能上网,需要提前下载镜像并导入节点

禁止swap分区

2、进行相关配置

并将ip地址分别更改为10.0.0.50和10.0.0.51

3、ping通网管后与MobaXterm建立ssh远程连接(以master为例)

4、关闭防火墙

输入命令systemctl stop firewalld或者systemctl disable firewalld

5、在master添加hosts(要是对应虚拟机的ip和名字),将桥接的IPv4流量传递到iptables的链(sysctl --system生效)

cat >> /etc/hosts <<

 EOF 

10.0.0.50 k8s-master

10.0.0.51 k8s-node

EOF

6、时间同步处理

输入命令yum update cn.pool.ntp.org

三、节点的安装
1、安装docker

分别输入两段命令

$ wgethttps://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

$ systemctl enable docker && systemctl start docker

$ docker --version

Docker version 18.06.1-ce, build e68fc7a

$ cat > /etc/docker/daemon.json << EOF

{

  "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]

}

EOF

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

3、安装kubeadm,kubelet和kubectl,并设置kubelet开机自启

4、部署Kubernetes在(Master)执行,此之前的两个虚拟机都要执行。

5、部署CNI网络插件(master)并查询 kube-system 命名空间中的所有 Pod的名称、状态、重启次数和其他信息

6、查看kubernetes集群

四、输入网址:http://10.0.0.50:80登录kubernetes
1、用户名:admin
密码:Kuboard123

2、添加集群,在kube配置进行填入代码,在master节点打入代码cat ~/.kube/config(展示的内容要全复制粘贴到kubeconfig里)

3、进入运行界面

总结:Kubernetes(简称K8s)集群是一个开源的容器编排平台,由Google开发并广泛采用。它允许用户自动化地部署、扩展和管理容器化应用程序,确保这些应用程序能够在集群中高效、可靠地运行。以下是关于Kubernetes集群的总结:

  1. 基本概念
    • Kubernetes集群由一组物理或虚拟机器组成,这些机器被组织成一个单一的计算资源池,并在其上运行Kubernetes平台。
    • 集群通常包括一个主节点(Master Node)和多个工作节点(Worker Node)。主节点负责集群的管理和控制,而工作节点则负责运行容器化应用程序。
  2. 核心组件
    • kube-apiserver:是Kubernetes集群的入口,负责处理所有来自客户端的请求,如kubectl、kubelet等。
    • etcd:是一个高可用的键值存储系统,用于存储Kubernetes集群的配置信息和状态数据。
    • kubelet:是工作节点上的关键组件,负责接收并执行来自kube-apiserver的命令,管理Pod和容器的生命周期。
    • kube-scheduler:负责资源调度,根据资源占用情况将新建的Pod分发到集群中合适的节点上。
  3. 特点与优势
    • 自我修复:在节点故障时重新启动失败的容器,替换和重新部署,确保预期的副本数量。
    • 弹性伸缩:根据业务需求自动快速扩容和缩容应用程序实例,保证高可用性并降低资源成本。
    • 自动部署和回滚:采用滚动更新策略更新应用,确保业务升级不受影响。
    • 服务发现和负载均衡:为多个容器提供统一访问入口,并自动进行负载均衡。
    • 支持微服务:对微服务有很好的支持,通过Service实现服务发现和相互间的通信。
  4. 应用场景
    • Kubernetes已经成为云原生应用的标准解决方案,被广泛应用于各种行业和场景,如Web应用、大数据处理、机器学习等。
  5. 工具链与支持
    • Kubernetes具备包括监控、日志、包管理等各种完善而专业的工具链,可以大大减轻运维和开发人员的负担。
    • 它支持多种网络插件和存储插件,可以根据业务需求进行灵活配置。
  6. 集群规模
    • Kubernetes在1.6版本中已经支持5000个节点,具备大规模集群的编排管理能力。

总之,Kubernetes集群是一个功能强大、灵活可扩展的容器编排平台,可以帮助用户轻松管理运行在集群中的容器化应用程序,确保它们能够高效、可靠地运行。

标签:容器,kubernetes,Kubernetes,部署,集群,docker,节点
From: https://blog.csdn.net/2301_79868845/article/details/139148245

相关文章

  • Apache DorisDB 线上部署
    ApacheDorisDB线上部署一、机器资源(初始)机器IPHostname内存CPU磁盘172.16.203.151dorisdb203-15116g4核500G172.16.203.152dorisdb203-15216g4核500G172.16.203.153dorisdb203-15316g4核500G二、角色分配机器IP角色172.16.203.15......
  • 业务问题:vue部署后前端404
    后端部署人员没搞明白哈希history问题,在部署Vue项目时可能遇到的404错误问题,尤其是在使用history模式时。文章解释了这是因为Vue是单页应用(SPA),所有路由都是由前端处理的,而服务器无法识别这些路由。因此,刷新页面时会导致404错误。解决方案是在服务器配置中使用try_files......
  • 【K8s】专题八:Kubernetes 安装方法之 RKE
    以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号!一、RKE简介RKE即 RancherKubernetesEngine,是由Rancher发布的一个极其简单、快速的Kubernetes安装程序,简化了Kubernetes集群的部署过程。RKE经过......
  • K8S认证|CKA题库+答案| 16. 升级集群
    16、升级集群CKAv1.29.0模拟系统免费下载试用:百度网盘:https://pan.baidu.com/s/1vVR_AK6MVK2Jrz0n0R2GoQ?pwd=wbki 题目:您必须在以下Cluster/Node上完成此考题:   Cluster                    Masternode   ......
  • springboot集成kafka解决集群模式下分组ID不同问题
    背景:在集群模式下,每个实例需要分组ID不同,共同消费某个topic,集群下的实例是动态扩展的,无法确认实例的个数,每次项目启动的时候,需要动态的给定kakfa的分组ID,但是分组ID整体是一样的,不能改变。方式1:CURRENT_INSTANCE_GROUP_ID=KafkaConstant.SSE_GROUP.concat(String.valueOf(Sys......
  • zabbix - [03] 安装部署
    题记部分 一、准备工作1.1、服务器角色规划主机名IP地址角色备注ctos79-01192.168.2.121zabbix-server开启监控功能ctos79-02192.168.2.122zabbix-agent ctos79-03192.168.2.133zabbix-agent 1.2、关闭防火墙和SELinuxsetenforce0sed-i......
  • netcore webapi部署到docker容器,api调用后显示中文乱码
    vs2022webapi部署到docker容器,api调用后显示中文乱码。原因是:源代码文件不是utf-8编码(用vscode打开是乱码,在vscode修改后,再提交,正常)解决方法:在中文环境下用过微软家Visualstudio的都知道,新建文件的保存编码都默认为当前系统语言,所以你的文件编码永远都是GB2312,非常令人蛋......
  • kubernetes部署mongoDB 单机版 自定义配置文件、密码、日志路径等
    官方镜像地址:https://hub.docker.com/_/mongo?tab=descriptiondocker版的mongo移除了默认的/etc/mongo.conf,修改了db数据存储路径为/data/db.创建configmap配置,注意不能加fork=true,否则Pod会变成Completed。apiVersion:v1kind:ConfigMapmetadata:name:mongodb-confdat......
  • spring cloud 部署 Centos8 离线环境搭建 一 mysql
    在联网的机器下载到/optyuminstall--downloadonly--downloaddir=/optgccgcc-c++automakeautoconflibtoolmake安装服务器上传到/opt执行安装rpm-Uvh*.rpm--nodeps--force下载mysql上传到安装服务器/opthttps://downloads.mysql.com/archives/community/m......
  • 搜索引擎ElasticSearch18_ElasticSearch集群4
    ES集群是一个P2P类型(使用gossip协议)的分布式系统,除了集群状态管理以外,其他所有的请求都可以发送到集群内任意一台节点上,这个节点可以自己找到需要转发给哪些节点,并且直接跟这些节点通信。所以,从网络架构及服务配置上来说,构建集群所需要的配置极其简单。在Elasticsearch2.......