十二、前期内容回顾及service对外暴露应用

一、内容回顾

二、service是什么

三、pod与service的关系

四、service定义与创建

五、service三种类型

六、service代理模式

七、service DNS名称


一、内容回顾

1、k8s基本使用

a、k8s集群架构及各个组件作用

b、kubectl管理集群

c、namespace 资源隔离,并进一步实现权力控制

2、Pod

a、基本管理: 存在意义,健康检查,容器配额,环境变量

b、调度:创建一个pod工作流程并扩展创建一个deployment工作流程;nodeSelector/nodeAffinity,污点和污点容忍;resource,request

3、常用控制器

a、deployment:部署无状态应用(如微服务,API,网站),滚动升级,RS控制器(管理Pod副本数,管理发布和回滚)

b、daemonset:在每个节点部署一个pod

c、job、cronjob:一次性任务和定时任务

二、service是什么

1、主要解决Pod的动态变化,提供统一访问入口:

a、防止Pod失联,准备找到提供同一个服务的Pod(服务发现)

b、定义一组Pod的访问策略(负载均衡)

三、pod与service的关系

a、service通过标签关联一组pod

b、service使用iptables或者ipvs为一组pod提供负载均衡能力

c、获取所有标签

# kubectl get pods --show-labels

d、获取指定标签

# kubectl get pods -l app=dev-market-trade

注:

service中的标签通过与pod中的

template:

    metadata:

      labels:

这个标签一致,达到servcie关联到相应的pod。

四、service定义与创建

1、定义

2、创建

# kubectl apply -f service.yaml

3、查看service

# kubectl get service

4、查看帮助

# kubectl expose --help

5、获取一个标准的service文件

# kubectl get deployment

# kubectl expose deployment dev-market-administration-intelligent-oilgas-system --port=80 --target-port=80 --dry-run=client -o yaml > /tmp/serivce.yaml

删除标红字段即为标准serviceyaml文件

6、删除services

# kubectl get svc

# kubectl delete svc dev-market-administration-intelligent-oilgas-system


7、查看service关联的后端ip及端口

五、service三种常用类型

1、clusterIP:集群内部使用

默认,分配一个稳定的IP地址,即vip,只能在集群内部访问。

解决的是如何让集群内部访问(node/pod)


2、NodePort:对外暴露应用(集群外)

解决的是如何让集群外部访问。但是也会创建一个clusterip。

在每个节点上启用一个端口来暴露访问,可以在集群外访问。也会分配一个稳定内部集群ip地址。

访问地址:任意NodeIp:NodePort

端口范围:3000-32767


nodePort会在每台node上监听端口接收用户流量,在时间情况下,对用户暴露的只会有一个ip和端口,那这么多台Node该使用那台让用户访问?这时可以在其前面加一个公网负载均衡器为项目提供统一访问入口


3、LoadBalancer:对外暴露应用,使用公有云

与Nodeport类似,在每个节点上启用一个端口来暴露访问。除此之外,k8s会请求底层云平台(如阿里云,腾讯云等)上的负载均衡器,将每个Node([NodeIP]:[NodePort])作为后端添加进去。

六、service代理模式

1、iptables


2、ipvs


Service的底层实现主要有iptables和ipvs两种网络模式,决定了如何转发流量。

3、kubeadm代理模式修改ipvs

# # kubectl edit configmap kube-proxy -n kube-system

# kubectl delete pod kube-proxy-9wgzb -n kube-system   《删除即重启,删除所有的即可》

注:

1、kube-proxy配置文件以configmap方式存储

2、如果让所有节点生效,需要重建所有kube-proxy pod

3、mode: 为空,默认为iptables。

4、二进制方式修改ipvs模式

# vi kube-proxy-config.yml

mode: ipvs

ipvs:

  scheduler: "rr"

# systemctl restart kube-proxy

注:参考不同资料,文件名可能不同

5、数据包流程

客户端--》NodePort/ClusterIP(iptables/Ipvs负载均衡规则)--》分布在各个节点Pod

6、 查看负载均衡规则

# yum install ipvsadm

a、iptable模式

# iptables-save |grep <SERVICE-NAME>

b、ipvs模式

# ipvsadm -L -n    <查看所有规则>

7、ipvs

a、概念:

virtual server: 虚拟服务器(相当于nginx的一个server)

real server:真实服务器,指的后端服务

数据流:user--》kube-ipvs0(virtual server) -->pod(分布在每个节点)

8、小结工作流程

9、iptables VS ipvs

1、iptables:

    a、灵活,功能强大

    b、规则便利匹配和更新,呈线性时延

2、ipvs<建议>

    a、工作在内核态,有更好的性能

    b、调度算法丰富: rr,wrr,lc, wlc, ip, hash .......

七、service DNS名称

coreDNS: 是一个DNS服务器,kubenetes默认采用,以Pod部署在集群中,CoreDNS服务监视kubernetes API,为每一个Service创建DNS记录用于域名解析。

CoreDNS YAML文件:

https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dns/coredns

ClusterIP A记录格式: <service-name>.<namespace-name>.svc.cluster.local

示例:my-svc.my-namespace.svc.cluster.local

测试:

解析时,建议带命名空间。默认只解析当前命名空间。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,919评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,567评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,316评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,294评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,318评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,245评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,120评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,964评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,376评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,592评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,764评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,460评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,070评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,697评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,846评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,819评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,665评论 2 354

推荐阅读更多精彩内容