Centos7 k8s v1.5.2二进制部署安装-入门讲解

一、概述
 1、官网 https://kubernetes.io/
 2、GitHub https://github.com/kubernetes/kubernetes
 3、重要作用:开源的容器编排框架工具(生态极其丰富)
 4、学习意义:解决跑裸docker的若干痛点
 5、使用docker容器化封装应用程序的缺点:
  1)单机使用,无法集群
  2)随着容器数量的上升,管理成本攀升
  3)没有有效的容灾/自愈机制
  4)没有预设编排模板,无法实现快速,大规模的容器调度
  5)没有统一的配置管理中心工具
  6)没有容器生命周期的管理工具
  7)没有图形化运维管理工具
 6、k8s的优势
  1)自动装箱,水平扩展,自我修复
  2)服务发现和负载均衡
  3)自动发布(默认滚动发布模式)和回滚
  4)集中化配置管理和密钥管理
  5)存储编排
  6)任务批量处理

二、快速入门

 1、四组基本概念
  1)Pod/Pod控制器
  2)Name/Namespace
  3)Label/Label选择器
  4)Service/Ingress

 2、Pod
  1)Pod是k8s里面能够被运行的最小逻辑的单元(原子单元)
  2)1个Pod里面可以运行多个容器,它们共享UTS+NET+IPC命名空间
  3)可以把pod理解成豌豆荚,而同一个pod内的每个容器是一颗颗豌豆
  4)一个Pod里运行多个容器,又叫:边车(SideCar)模式

 3、Pod控制器
  1)Pod控制器是Pod启动的一种模板,用来保证在k8s里启动Pod应始终按照人们的预期运行(副本数、生命周期、健康状态检查)
  2)k8s内提供了众多的Pod控制器,常用的有以下几种:Deployment、DaemonSet、ReplicaSet、StatefulSet、job、Cronjob

 4、Name
  1)由于k8s内部,使用“资源”来定义每一种逻辑概念(功能)故每种"资源",都应该有自己的“名称”
  2)“资源”有api版本(apiVersion)类别(kind)、元数据(metadata)、定义清单(spec)、状态(status)等配置信息
  3)“名称”通常定义在“资源”的“元数据”信息里

 5、Namespace
  1)随着项目增多、人员增加、集群规模的扩大,需要一种能够隔离k8s内各种“资源”的方法 ,这就是命名空间
  2)名称空间可以理解为k8s内部的虚拟集群组
  3)不同名称空间内的“资源”名称可以相同,相同名称空间内的同种“资源”,“名称”不能相同
  4)合理的使用k8s的名称空间,使得集群管理员能够更好的对交付到k8s里的服务进行分类管理和浏览
  5)k8s里默认存在的名称空间有:default、kube-system、kube-public
  6)查询k8s里特定“资源”要带上相应的名称空间

 6、Label
  1)标签是k8s特色的管理方式,便于分类管理资源对象
  2)一个标签可以对应多个资源,一个资源也可以有多个标签,它们是多对多的关系
  3)一个资源拥有多个标签,可以实现不同维度的管理
  4)标签的组成:key=value
  5)与标签类似的,还有一种“注解”(annotations)

 7、Label选择器
  1)给资源打上标签后,可以使用标签选择器过滤指定的标签
  2)标签选择器目前有两个:基于等值关系(等于、不等于)和基于集合关系(属于、不属于、存在)
  3)许多资源支持内嵌标签选择器字段:matchLabels、matchExpressions

 8、Service
  1)在k8s的世界里,虽然每个pod都会被分配一个单独的IP地址,但这个IP地址会随着Pod的销毁而消失
  2)Service(服务)就是用来解决这个问题的核心概念
  3)一个Service可以看作一组提供相同服务的Pod的对外访问接口
  4)Service作用于哪些Pod是通过标签选择器来定义的

 9、Ingress
  1)Ingress是k8s集群里工作在OSI网络参考模型下,第七层的应用,对外暴露的接口
  2)Service只能进行L4流量调度,表现形式是ip+Port
  3)Ingress则可以调度不同业务域、不同URL访问路径的业务流量

三、k8s的三条网络详解

 1、k8s组件
 核心组件:
 配置控制存储中心=>etcd服务
 主控(master)节点:
 kube-apiserver服务
 kube-controller-manager服务
 kube-scheduler服务 
 运算(node)节点:
 kube-kubelet服务
 kube-proxy服务 
 CLI客户端:
 kubectl

 核心附件:
 CNI网络插件:flannel/calico
 服务发现用插件:coredns
 服务暴露用插件:traefik
 GUI管理插件:Dashboard

 2、apiserver:
 提供了集群管理的REST API接口(包括鉴权、数据校验及集群状态变更)
 负责其他模块之间的数据交互,承担通信枢纽功能
 是资源配额控制的入口
 提供完备的集群安全机制

 3、controller-manager(管理控制器的控制器):
 由一系列控制器组成,通过apiserver监控整个集群的状态,并确保集群处于预期的工作状态

 4、scheduler:
 主要功能是接口调度pod到适合的运算节点上:预算策略(predict)、优选策略(priorities)

 5、kubelet:
 主要功能就是定时从某个地方获取节点上pod的期望状态(运行什么容器、运行的副本数量、网络或者存储如何配置等等),并调用对应的容器平台接口达到这个状态
 定时汇报当前节点的状态给apiserver,以供调度的时候使用
 镜像和容器的清理工作,保证节点上镜像不会占满磁盘空间,退出的容器不会占用太多资源

 6、kube-proxy
 是k8s在每个节点上运行网络代理,service资源的载体
 建立了pod网络的集群网络的关系(clusterip-podip)
 常用三种流量调度模式:Userspace(废弃)、Iptables(濒临废弃)、Ipvs(推荐)
 负责建立和删除包括更新调度规则、通知apiserver自己的更新,或者从apiserver哪里获取其他kube-proxy的调度规则变化来更新自己的

 7、k8s的三条网络

华为云开年送福利:

福利1:免费试用海外云主机和云原生容器

进入免费试用专区 【实名才可领取】:

 

福利2:超低折扣

 

原价1244.76元一年的1C2G1M带宽的服务器现在只需要:99元,赠送主机安全

福利3:丰厚礼品(5个工作日后开奖,请小伙伴注意查收~)

① 华为荣耀手环5 篮球版(实名注册第6、66、106、166...此类推)

② 4合1数据线 5个 (实名注册第5、25、55、75、95...以此类推)

 

③ 终极大奖,华为云永久VIP(实名注册第59、119、189...以此类推)

购买华为云永久8折权限(除云专线,硬件产品,混托类产品,域名,竞价实例,储值卡,云市场产品,国际云联盟节点,HCS Online解决文案以上特定产品),均可享永久8折。

参与攻略:

1,长按识别下方二维码关联注册即可
    

2,实名认证

接下来,就可以静等开奖了,此活动持续到月底结束,我们会每隔五个工作日后进行开奖,请小伙伴注意查收。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值