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,实名认证
接下来,就可以静等开奖了,此活动持续到月底结束,我们会每隔五个工作日后进行开奖,请小伙伴注意查收。
Centos7 k8s v1.5.2二进制部署安装-入门讲解相关推荐
- k8s 1.17.3 二进制部署
K8s简介 Kubernetes(简称k8s)是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容 ...
- K8S—二进制部署安装(包含UI界面设置)
安装步骤 一.准备工作 二.部署单master K8S 2.1 部署etcd集群 master 节点 node 节点(1/2) 查看集群状态 2.2 部署docker引擎 node 节点(1/2) 2 ...
- 【kubernetes】k8s集群高可用部署安装和概念详细说明【含离线部署】,客户端连接haproxy访问高可用流程
文章目录 说明 高可用原理 K8S多master节点架构图 测试环境说明 部署高可用 安装包准备[可选] 高可用架构说明 配置haproxy 说明[必看] 安装haproxy 编辑配置文件 配置etc ...
- Kubernetes - - k8s - v1.12.3 使用Helm安装harbor
1,Helm 介绍 核心术语: Chart:一个helm程序包 Repository:Charts仓库,https/http 服务器 Release:特定的Chart部署与目标集群上的一个实例 Cha ...
- kubernetes v1.20项目之部署二进制安装_系统环境配置
kubernetes v1.20项目之二进制部署安装系统环境配置 好久没有操作过k8s了,自从离开了大厂也没有接触k8s的机会了,正好最近有朋友打听k8s相关的事情,这个文章也是自己根据自己脑子里面的 ...
- 【Tanzu 社区版=TCE】 Mac 笔记本快速部署安装体验-(一)
Tanzu 社区版 Mac笔记本快速部署安装体验 VMware Tanzu Community Edition Mac环境准备 电脑环境 下载docker desktop K8S v1.24.0 可选 ...
- 二进制安装k8s v1.25.4 IPv4/IPv6双栈
二进制安装k8s v1.25.4 IPv4/IPv6双栈 https://github.com/cby-chen/Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 kubernetes( ...
- CentOS7 使用二进制部署 Kubernetes v1.15.3集群
组件版本 && 集群环境 组件版本: Kubernetes v1.15.3 Etcd v3.3.10 Flanneld v0.11.0 服务器IP 角色 192.168.1.241 m ...
- 二进制部署Kubernetes v1.13.4 HA可选
本次采用二进制文件方式部署,本文过程写成了更详细的ansible部署方案 https://github.com/zhangguanzhang/Kubernetes-ansible 和之前的步骤差不多都 ...
最新文章
- BERT可视化工具bertviz体验
- 基于vue的移动web app页面缓存解决方案
- Iterator:访问数据集合的统一接口
- sap*/pass无法登陆
- javaweb学习总结(三十四)——使用JDBC处理MySQL大数据
- python数组和矩阵用法
- 库存生产-实用sql知识:如何在保证去重分组的情况下获取组内最新数据(可按时间排序),distinct +group by +嵌套结果 的联合妙用
- Maven 私服搭建
- js编写简易返回顶部按钮
- java 模块开发_java模块化开发
- Cocos2dx3.0过渡篇 globalZOrder()与localZOrder()
- QTsocket网络编程
- java 期刊杂志参考_各系列普刊期刊的推荐,大家可供参考
- openwrt ipv6上网配置过程
- twincat3授权
- Linux修改系统时间为东八区北京时间(上海时间)
- mfc利用SQL、DAO调用access数据库
- java中计算器算cos值,Android开发中计算器的sin、cos及tan值计算问题分析
- Python爬虫 爬取歌曲的评论并写入txt
- 计算机考试中粗实线,国开电大 计算机绘图(终结性考试)大作业答案
热门文章
- English Learning - L3 作业打卡 Lesson1 Day5 2023.5.9 周二
- 用计算机播放录像机视频步骤,怎么样用电脑摄像头播放指定视频
- java automapper_实现AutoMapper(1.0版本)
- Vue中使用配置文件vue.config.js简化文件夹路径
- java分析测试代码程序执行时间与消耗内存
- 腾讯面试:猴子偷吃了哪根香蕉?
- 第十六期|善网ESG周报:互联网公益高质量发展正当时
- VisualStudio安装MFC库
- outlook收邮件时间与电脑时间不同步
- vue+动画实现tab栏下划线切换