01.k8s集群的安装

本文详细介绍了Kubernetes(k8s)集群的安装过程,包括etcd数据库、apiserver、scheduler、Kubelet等核心组件的作用,以及推荐的Add-ons如ingress、DNS服务等。还涉及了如何配置和管理集群,如修改IP地址、主机解析,安装etcd和k8smaster及node节点,以及解决网络通信问题等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.k8s集群的安装

1.1 k8s的架构

etcd:数据库nosql-非关系型,存储键值对数据,储存K8S集群所有重要信息,持久化
API server:
1.运维人员操作k8s就是操作apiserver,也是最核心的;
2.当scheduler选择好一个合适的node。apiserver会去命令Kubelet服务,然后Kubelet在去调用docker启容器(pod)
Scheduler:调度器,会去选择一个合适的node节点。
Users:外界用户访问的是node节点中的Kube-Proxy,然后Kube-Proxy做端口映射到pod
Kube-Proxy:负责写入规则至iptables、ipvs实现服务映射访问;
Controller Manager:
1.会实时检测容器(pod)是否挂掉,如果某一个容器挂掉了,他会重启给起一个容器;
2.如果要是某一个node节点都挂掉了,它会读取etcd数据库中的数据然后会重新找一台机器将node启动起来,保持服务的高可用;
Kubelet:安装好kubelet服务之后,该服务会自动安装好docker服务;直接跟容器引擎交互实现容器的生命周期管理;
在这里插入图片描述

除了核心组件,还有一些推荐的Add-ons:

组件名称 说明
kube-dns 负责为整个集群提供DNS服务
core-dns 为集群中的svc创建一个域名IP的对应关系解析
Ingress Controller 为服务提供外网入口7层
Ingress 7层代理
Heapster 提供资源监控
Dashboard 提供GUI
Federation 提供跨可用区的集群
Fluentd-elasticsearch 提供集群日志采集、存储与查询
Peometheus 提供K8S集群监控能力

1.1.1k8s ingress原理

前提:但是,单独用service暴露服务的方式,在实际生产环境中不太合适

1.ClusterIP的方式只能在集群内部访问。
2.NodePort方式的话,测试环境使用还行,当有几十上百的服务在集群中运行时,NodePort的端口管理是灾难。
3.LoadBalance方式受限于云平台,且通常在云平台部署ELB还需要额外的费用。
ingress可以简单理解为service的service,他通过独立的ingress对象来制定请求转发的规则,把请求路由到一个或多个service中。这样就把服务与请求规则解耦了,可以从业务维度统一考虑业务的暴露,而不用为每个service单独考虑。
举个例子,现在集群有api、文件存储、前端3个service,可以通过一个ingress对象来实现图中的请求转发:
在这里插入图片描述

注释:
ingress对象:
指的是k8s中的一个api对象,一般用yaml配置。作用是定义请求如何转发到service的规则,可以理解为配置模板。
ingress-controller:
具体实现反向代理及负载均衡的程序,对ingress定义的规则进行解析,根据配置的规则来实现请求转发。简单来说,ingress-controller才是负责具体转发的组件,通过各种方式将它暴露在集群入口,外部对集群的请求流量会先到ingress-controller,而ingress对象是用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愿听风成曲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值