通过互动课程网站magic sandbox学习kubernetes:1.1入门magic sandbox及service概念整理

news/2024/5/19 10:26:28/文章来源:https://blog.csdn.net/u012837895/article/details/88088841

kubernetes互动课程学习

标签:kubernetes 实践

在师兄的介绍下发现了神奇的awesome-kubernetes,里面有着很多的资源,其中之一就是非常有趣的interactive learning environments。其实官方英文教程里面也有一些简单的H5互动模块,但是真的太简单了。

k8s的搭建非常的麻烦,因为我个人的技术问题,不会使用国内的容器云,所以用的是VPN。搭建的这么麻烦,自然不想因为自己的原因导致故障或者重新搭建之类的事情发生,所以我还是比较喜欢这种在线的环境,至少出了问题可以随意的重启。

之前写了很长的一篇kubernetes学习笔记,但是结构太散了,或者说它不是我的结构,而不是别人的结构。这篇文章的纵向线是magic sandbox的组织安排,但是横向线我会根据自己的学习内容进行扩展,所以看起来会比较杂,但我写起来、复习起来会很舒服。

本次笔记使用的是Magic Sandbox,主要的问题是延迟比较高,开香港节点的小飞机延迟在350ms左右,终端界面有明显的卡顿。

一些资源

由于主要涉及的应该是kubectl的使用,因此官方的kubectl cheat sheet还是很值得使用的。

magic sandbox课程

第1课 Introduction to magic sandbox

介绍界面,使用说明

general yaml file format,yaml是kubernetes用来定义对象的配置文件所用的语言。

一些yaml记号和规范

  • literal block |,可以开启多行。
  • folded block >,同上。

例子

literal_block: |This entire block of text will be the value of the 'literal_block' key,with line breaks being preserved.The literal continues until de-dented, and the leading indentation isstripped.Any lines that are 'more-indented' keep the rest of their indentation -these lines will be indented by 4 spaces.
folded_style: >This entire block of text will be the value of 'folded_style', but thistime, all newlines will be replaced with a single space.Blank lines, like above, are converted to a newline character.'More-indented' lines keep their newlines, too -this text will appear over two lines.

yaml的缩进使用空格而不是literal tab

Introduction to service : 疑问,kubernetes中的端口

资料来源

这里的疑问来源主要是Service的yaml文件中,有着port和targetPort两个条目,有点疑问。

一个是Pod的port list,在pod.spec.containers[].ports中定义,给出容器暴露的端口列表。这个列表是不用用户去指定的,容器自己会在对应的端口上进行监听。

一个是Service的port list,定义在service.spec.ports中,指定service的哪个端口映射到pod的哪个端口上。一个成功的请求可以从cluster外部发到节点的IP地址和Service的nodePort中,然后转发到service的port中,然后被pod的targetPod接收。

例子:

kind: Service
apiVersion: v1
metadata:name: port-example-svc
spec:# Make the service externally visible via the nodetype: NodePort ports:# Which port on the node is the service available through?- nodePort: 31234# Inside the cluster, what port does the service expose?- port: 8080# Which port do pods selected by this service expose?- targetPort: selector:# ...

其中nodePort使得service在kubernetes cluster集群外可见,通过node的IP地址和该属性指定的nodePort来与该服务进行通信。

port在cluster内部暴露指定service。或者说,service在这个端口下变得可见,向这个端口发送信息会被转发到对应的pod上。

targetPort,是service向Pod发送的端口号,用户的应用需要在Pod中监听这个端口以实现与外部的通信。

这里就涉及到了service的工作原理,service解决的是逻辑上的一组Pod,外部如何访问它们的问题,因为Pod是可以随时撤销的,所以Service需要肩负起映射表的功效,通常是通过Label Selector进行管理

一些相关的名词

  • endpoint:endpoint是K8s集群中的一个资源对象,存储在etcd中,用来记录service对应的所有pod的访问地址。service配置selector后,endpoint controller才会创建对应的endpoint对象,否则不创建。没有selector的service可以手动绑定endpoint。这也实现了kubernetes的服务发现机制。
  • kube-proxy,负责service的实现,即实现k8s内部从pod到service和外部从node port到service的访问。实现了kubernetes的负载均衡机制。它的具体实现是基于iptables,也就是转发表的。主要职责是两大块,一块是侦听service更新事件,更新规则;一块是侦听endpoint更新事件,并更新规则,然后将包请求转发入endpoint对应的Pod中。

kube-proxy-structure

kube-proxy部分详情见这里浅谈kubernetes service那些事,是网易云在知乎上发布的,写的不错。官方的service说明也还可以。

Introduction to Deployment

Deployment通过RepolicaSets管理多个Pod。通过Deployment对象,用户描述了自己期望的理想状态,而控制器就会尽量让实际状态向理想状态靠拢。

apiVersion: apps/v1beta2
kind: Deployment
metadata:name: nginx-deploymentlabels:app: nginx
spec:replicas: 3 #定义了期望3个Pod实例selector: #selector字段定义了什么样的Pod会在deployment的管理范围内matchLabels:app: nginxtemplate:  #定义了创建的Pod的模版metadata:labels:app: nginxspec:containers:- name: nginximage: nginx:1.7.9ports:- containerPort: 80

updating deployment

如果想要更新deployment,可以通过kubectl来进行。即重复运行kubectl apply -f deployment.yaml,就可以更新设置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_732549.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【程序员节特别推送】搭建一个与技术无关的博客网站(Java后台)

文章目录沉晓s Blog一、博客概述二、需求与功能三、开发介绍四、关于部署五、关于项目本身六、我与CSDN沉晓’s Blog 一、博客概述 ? 项目背景 我一直追求着一种纯粹,写技术博客,就好好地写,心无旁骛。 我目前唯一写作的平台就是CSDN&am…

LAMP环境搭建实现网站动静分离[转]

目录: 1、环境概述 2、动静分离拓扑图 3、各服务器功能规划 4、各服务器基础环境配置 5、httpd安装配置 6、php安装配置及启用opcache加速功能 7、mysql安装配置 8、wordpress论坛程序安装测试 9、CA证书服务器及ssl配置 10、phpmyadmin安装测试 11、php的opcache加…

Slog34_支配vue框架初阶项目之博客网站-注册页面-前后端的数据交互

ArthurSlogSLog-34Year1GuangzhouChinaAug 10th 2018GitHub掘金主页简书主页segmentfault沉睡的狮子 即将醒来 而世界将为之震撼 开发环境MacOS(High Sierra 10.13.5) 需要的信息和信息源: HTTP概述HTTP互联网是如何工作的万维网是如何工作的统一资源定位符(URL)什么…

浅谈web网站架构演变过程

原文:浅谈web网站架构演变过程前言 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变。 该系统具备的功能:用户模块:用户注册和管理商品模块:商品展示和管理交易模块:创建交易和…

网站备案知多少

网站备案知多少 DBAplus社群 2016-09-13 21:00:13 首先谈谈为什么要备案据工信部规定,使用大陆境内服务器的组织或个人,若要使用独立域名开办网站 ,就需要履行备案手续。就像开公司要去工商局申请执照一样,在国内,没有…

GoTxt网页内容提取器,可提取小说网,360doc网站的文字

为什么80%的码农都做不了架构师?>>> 以前写的一个网站文本提取器,很粗的,最近没时间改,把源码和jar文件分享出来 程序运行截图: 代码地址:https://github.com/doobo/GoTxt 转载于:https://my.o…

大型分布式网站架构技术总结:高性能+高可用+可扩展+可伸缩架构

本文是大型分布式网站架构的技术总结,文末有分布式架构设计33精讲资料~ 一、大型网站架构特点 用户多,分布广泛 大流量,高并发 海量数据,服务高可用 安全环境恶劣,易受网络攻击 功能多,变更快,频…

邪恶花网站邪恶花_相关的子查询是“邪恶的”和“缓慢的”。 还是他们?

邪恶花网站邪恶花SQL中一个常见的神话是,相关子查询是邪恶且缓慢的。 例如,此查询在这里: SELECT first_name, last_name,(SELECT count(*) FROM film_actor fa WHERE fa.actor_id a.actor_id) FROM actor a它“强制”数据库引擎运行以下形…

如何把自己的wordpress网站移到本地修改

有时候wordpress更换模板时,需要修改的地方很多,而且在线修改不是很好。只能把它移动到电脑本地进行修改了。这样修改好就可以直接套用到网站上了。 1、通过服务器控制面板或FTP整站打包,发送到你已经在电脑本地搭建ApachePHPMySQL环境的网站…

网站pv uv 停留时间 等统计

为什么80%的码农都做不了架构师?>>> 日志中心收集网站访问数据内容 基于nginx记录用户cookie的行为,进行分析 一、用户cookie。 需要创建3个cookie文件_gtra、_gtrb、_gtrc,其中_gtra用来追踪用户,_gtrb和_gtrc联合来…

手机网站的注意事项

2019独角兽企业重金招聘Python工程师标准>>> 一.web app 手机网站的注意事项: 1.安卓浏览器看背景图片,有些设备会模糊--> devicePixeRatio手机分辨率过小造成,解决方法使用2倍背景图代替img标签. 2.图片加载很慢--> 手机开发一般用canvas方法加载 3.手机端不…

《流量的秘密 Google Analytics网站分析与商业实战》一1.3 Google Analytics的地位

本节书摘来自异步社区《流量的秘密 Google Analytics网站分析与商业实战》一书中的第1章,第1.3节,作者 【英】Brian Clifton,更多章节内容可以访问云栖社区“异步社区”公众号查看 1.3 Google Analytics的地位 你的网站对你来说是极其重要的…

一个止传SWF的好网站

SwfCabin 是一個免費swf空間,最初建立的構想在於「如何在網路上將swf檔分享給別人」。使用者可以將swf檔上傳到 SwfCabin 然後獲得一個連結,其他人便可以在該頁面看到您所上傳的swf檔案。上傳檔案時 SwfCabin 會自動辨識該檔案最適當的顯示尺寸。除此之外…

大型网站架构之分布式缓存

缓存是优化网站性能的第一手段。在大型网站中,缓存通常用来保存热点数据,或者保存应用上下文相关信息。比如之前提到的session服务器集群就可以用分布式缓存来搭建。当然,分布式缓存还可用于缓存数据库中的热点数据以减轻数据库的压力。 分布…

决议要素_2020年每个网站测试人员的新年决议

决议要素您能够根据2019年的决议进行工作吗? 我在这里听起来可能很可笑,但是作为Web开发人员,我在2019年的决心是在业余时间跳入Web测试。 为什么? 因此,我可以从测试人员的角度了解发布周期。 我想穿他们的鞋子&#…

Thinking——nodejs实现的SEO相关的库

SEO SEO是为了网站在搜索引擎中的自然排名更靠前,引入更多的用户流量。SEO有很多技巧,譬如官网多发优质文章,文章的url做成静态化,文章多出现一些搜索相关的关键字,自建站群等等。 百度收录 百度定期会对优质文章进行收…

下拉框系统甄选火星推荐_seo关键词下拉框优化技术

“seo关键词下拉框优化技术,百度下拉框的算法,一个关键词每天有多少搜索量,和它相关的词有多少搜索量,这些数据百度都记录在案的,在百度搜索一个较短关键词的时候,下拉框中可能会出现一些和它相关的一些长尾词.”百度下拉框关键词指的是就是在百度搜索某一个关键词的时候&#…

大型网站架构演化历程

http://www.hollischuang.com/archives/728 本文内容大部分来自《大型网站技术架构》,这本书很值得一看,强烈推荐。 大型网站系统的特点 高并发,大流量 需要面对高并发用户,大流量访问。Google 日均 PV 35 亿,日 IP 访问数 3 亿&a…

SEO优化手工外链为什么更好?

开发十年,就只剩下这套Java开发体系了 >>> 手工发布的外链,是这个完结百度的网站权重与关键词排行优化的:咱 们通过手工在论坛/博客上回复主题帖子,并带有锚文体链接,这样的单向链接直接指 向你的网站&…

SEO核心技术纯白帽快速排名方法

我相信很多朋友都知道SEO快速排名,现在流行的快速排名都是众人皆知的黑帽SEO技术,但是却唯独不知道纯白帽也可以快速排名。但是我估计大家都看到过很多新站在短短数月内就上了首页,权重从0升到3,这难道是黑帽吗,不是的…