范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

KubernetesService暴露的两种方式

  一、前言
  kubernetes集群中,pod是多变的,可以被新建或删除,而且ip不稳定,不方便集群外部访问,所以提供了一种新的资源 Service ,就是就是 a set of Pod ,作用是提供一个稳定的IP,给集群外访问。
  本文所需要的 ingress-controller 的 mandatory.yaml 文件  : https://www.syjshare.com/res/6BFS49US
  本文所有涉及的Service的两种部署方式(NodePort和ClusterIP) yaml 文件 :https://www.syjshare.com/res/ZLYV4RE7
  Service暴露服务的方式一共有四种,如下:
  ClusterIP:通过集群的内部 IP 暴露服务,选择该值时服务只能够在集群内部访问。 这也是默认的 ServiceType。
  NodePort:通过每个节点上的 IP 和静态端口(NodePort)暴露服务。 NodePort 服务会路由到自动创建的 ClusterIP 服务。 通过请求 <节点 IP>:<节点端口>,你可以从集群的外部访问一个 NodePort 服务。
  LoadBalancer:使用云提供商的负载均衡器向外部暴露服务。 外部负载均衡器可以将流量路由到自动创建的 NodePort 服务和 ClusterIP 服务上。
  ExternalName:通过返回 CNAME 和对应值,可以将服务映射到 externalName 字段的内容(例如,foo.bar.example.com)。 无需创建任何类型代理。
  其中,最常见的两种是 ClusterIP 和 NodePort ,本文实践这种两种方式。 二、NodePort2.1 新建命名空间
  当我们需要开始做一件事情的时候,最好重新建一个命名空间,这样不干扰之前的,如下:
  2.2 切换命名空间# 切换命名空间 kubectl config set-context $(kubectl config current-context) --namespace=myns
  2.3 新建Pod和Service并测试
  Service apiVersion: apps/v1 kind: Deployment metadata:   name: whoami-deployment   labels:     app: whoami spec:   replicas: 3   selector:     matchLabels:       app: whoami   template:     metadata:       labels:         app: whoami     spec:       containers:       - name: whoami         image: jwilder/whoami         ports:         - containerPort: 8000 --- apiVersion: v1 kind: Service metadata:   name: whoami-service spec:   ports:   - port: 81   # 默认就是访问80端口 curl serviceIp 就好     protocol: TCP     targetPort: 8000  # 映射到targetPort为8000 就是上面pod那个    selector:     app: whoami   # selector 匹配上模板上的 label
  要搞清楚pod-service的关联关系
  pod使用的是jwilder/whoami镜像,这个是公开的镜像,没问题
  pod和service通过 label-selector 关联起来,pod中定义 app: whoami 这个标签 ,然后servie中通过 selector: app: whoami 这个选择器找到这个标签,selector-label 标签选择器绑定完成之后,就是端口绑定,然后 service 使用的是 80 端口映射到所绑定的pod的8000的端口,就是访问 service 的 80 端口,就是访问 pod 的 8000 端口。
  要搞清楚pod的ip地址 service的ip地址 宿主机的ip地址的关联关系
  集群内端口
  集群内ip
  外网ip
  外网port
  pod
  ports: - containerPort: 8000 指定(只能集群内访问)
  自动分配(只能集群内访问)
  无
  无
  service
  ports:- port: 80 指定(只能集群内访问) 其中的 targetPort: 8000 映射到pod
  自动分配(只能集群内访问)
  宿主机静态IP
  自动分配30000以上
  三、Ingress3.1 总述
  ingress 和 ingress-controller 是两个不同东西,是两个不同的配置文件
  ingress -> ingress-controller -> service -> pod
  3.2 实践3.2.1 新建ingressControllerkubectl label node m name=ingress    kubectl apply -f mandatory.yaml   kubectl get all -n ingress-nginx
  mandatory.yaml 这个yaml文件太大了,不好放在博客里面,读者可以从 https://www.syjshare.com/res/6BFS49US 下载获得。
  另外,注意这个 ingress-controller 使用HostPort方式运行 ,所以 mandatory.yaml 文件中有   hostNetwork: true   这句。3.2.2 创建tomcat的pod和service
  创建tomcat的pod和service vi tomcat.yaml kubectl apply -f tomcat.yaml kubectl get svc  kubectl get pods apiVersion: apps/v1 kind: Deployment metadata:   name: tomcat-deployment   labels:     app: tomcat spec:   replicas: 1   selector:     matchLabels:       app: tomcat   template:     metadata:       labels:         app: tomcat     spec:       containers:       - name: tomcat         image: tomcat         ports:         - containerPort: 8080 --- apiVersion: v1 kind: Service metadata:   name: tomcat-service spec:   ports:   - port: 80        protocol: TCP     targetPort: 8080   selector:     app: tomcat
  3.2.3 创建Ingress以及定义转发规则
  创建Ingress以及定义转发规则 kubectl apply -f nginx-ingress.yaml kubectl get ingress kubectl describe ingress nginx-ingress #ingress   这个就是extensions/v1beta1,不要修改  apiVersion: extensions/v1beta1 kind: Ingress metadata:   name: nginx-ingress spec:   rules:   - host: tomcat.jack.com     http:       paths:       - path: /         backend:           serviceName: tomcat-service           servicePort: 80
  3.2.4 测试
  chrome浏览器访问这个就好了
  3.2.5 再搞一个测试apiVersion: apps/v1 kind: Deployment metadata:   name: whoami-deployment   labels:     app: whoami spec:   replicas: 3   selector:     matchLabels:       app: whoami   template:     metadata:       labels:         app: whoami     spec:       containers:       - name: whoami         image: jwilder/whoami         ports:         - containerPort: 8000 --- apiVersion: v1 kind: Service metadata:   name: whoami-service spec:   ports:   - port: 81   # 默认就是访问80端口 curl serviceIp 就好     protocol: TCP     targetPort: 8000  # 映射到targetPort为8000 就是上面pod那个    selector:     app: whoami   # selector 匹配上模板上的 label
  成功
  四、尾声
  Service暴露的两种方式,完成了。
  ClusterIP 直译就是集群内ip,所以就是 不暴露外部端口,是默认方式;
  NodePort 直译就是节点端口,所以就是 虚拟机/宿主机的端口,就是暴露外部端口。
  一般来说,Cluster IP是默认的服务类型,所以使用这种更好,但是比较复杂,需要配置 ingress 和 ingress-controlller ,将 ingress 作为入口。
  天天打码,天天进步!!

如何看待有责任的父母都知道为后代积累财富,不负责任的父母会说儿孙自有儿孙福这句话?有责任的父母,应该是为孩子提供一个和谐的家庭环境,良好的教育环境。培养孩子正确的人生观,价值观,金钱观等等,身体力行的为孩子做出榜样,如何为人处世,如何看待人生的得与失,如何保护自高一第一个半年,学生学习很吃力,家长很焦虑。请问原因何在?我儿子今年高一,刚好也遇到这个问题了。主要原因如下1进入重点高中,学习好的孩子比较多,如果初中在前几名,那高中整个班的水平都是初中前10名的水平,所以,到高中考试排名会落后。2高中电信诈骗判10年零六个月,能减多少刑期呢?罚款还没有交,以后再交会影响减刑吗?谢谢邀请!现在的减刑制度越来越严格,以目前的减刑来看,10年有期徒刑只要不严重违规,完成产量,减刑1年6个月是没什么问题的。如果表现良好,产量经常超额,减刑减的好话,应该可减刑2年亲眼目睹至亲临终到死亡的整个过程的人现在还好吗?我比较有发言权,因为我送走了两位至亲的人我的婆婆和我自己的爸爸。婆婆七十多岁得了肺癌,一年后过世,癌症病人最后走的时候真的很痛苦,吃不下喝不下,瘦成皮包骨,痛的吃吗啡已经不管用了,报考监狱公务员对视力有要求吗?你好,报考监狱公务员是有视力限制的,要求单侧裸眼视力不低于4。8。首先,介绍一下监狱公务员的有关情况。我国的监狱属于政法单位之一,一般由省监狱管理局(省司法厅管理的副厅级局)垂直管请问我是1988年参加工作,今年该退休了,公司算工龄从1992年算起,符合规定吗?1988年,如果是合同制工人,那时候已交养老保险,退休就从1988年算起合同制工人不看工龄,看的是缴费年限你是1988年参加工作的,这要看招收你工作的单位,是不是通过劳动部门认可并公积金只有退休才能取吗?公积金不只是退休时能提取,平时的买房装修租房等都能提取。公积金不是只有退休才能取的。公积金的提取一般有以下几种情况1购房提取2出国定居提取3大病提取4租房提取5装修房子提取6其他情外地户口的孩子在北京上完小学后回老家上初中,孩子的成绩会跟不上吗?这会对孩子造成较大的心理落差吗?我并没有遇到过这种情况,但我有个朋友遇到过,和你稍微有点不同。她们家大女儿小学初中都是在北京上的,高中上不了,只能回老家了。她女儿在北京时,成绩在班级前几名的,学习很不错。由于公司老年人去世,身上带的金银首饰取下来好,还是随老人一起火化好?老人去世,身上所带的金银首饰都必须取下来,千万不可随老人一起火化,因为经过火化炉的高温烧烤,金银首饰都会被高温炉火烧毁掉了。我奶奶去世的时候,手上也戴着一个玉手镯,我们在帮奶奶穿戴将来农村农民老了,有什么靠得住的养老方法?将来农村农民老了,有什么靠得住的养老方法?农村目前已逐步进入老龄时代,老了何去何从。这也使众多的农村人不得不思考的问题。做为农民,总有一天老了干不动活了,要离开土地。而儿女又不愿呆为什么经常看到路边的烟酒店没什么生意,却依然长时间不倒闭呢?这只是表象,烟酒店真正赚钱的地方,根本不在零售,背后有很多不为人知的门道,只是很多人都不知道罢了!我有一个朋友就是开烟酒店的,他的店铺位于几个饭店中间的位置,店面不大,但是每年都能
1989年邓小平的舅舅去世,县委请示丧礼标准,邓小平三句话定调提起邓小平,大家都知道他是中国一代伟人。然而提起淡以兴,却鲜有人知,可能会有不少的人问他是谁?这个让很多人觉得陌生的名字,却与邓小平有着不一样的关系他是邓小平的舅舅。他们之间又有着1961年周恩来视察南昌,席间省委书记向他敬酒,周喝也不是不行1961年9月17日,周恩来前往庐山参加中共中央工作会议。结束后,在谭震林以及其他省委书记的陪同下,来到南昌吃饭。席间,很多人开始相互敬酒,江西省委书记刘俊秀也起身向周总理敬酒,周1955年授衔有十五大将方案,除了被选上的10人,还有哪5人?如今,对历史感兴趣的人大多数都知道新中国的十大元帅和十大将是哪些人。可许多人不知道的是,在评选大将元帅的过程中,并没有规定一定要十个人,有许多人也符合授元帅或者大将军衔,因为各种因刘禅投降后写下3字,司马昭放弃杀他,百官不解,司马昭倒着读在我国两千多年的封建历史中,国家兴亡和皇权更迭必然伴随着勾心斗角血雨腥风,而在战斗结束之后,失败者尤其是战败方的皇帝必然会遭到胜利者的大力清算,下场往往凄凉无比。历史上这样的例子有70岁双枪女悍匪被枪毙,临刑前周总理求情,伟人亲自批示善待儿媳从双枪老太婆到五大匪首之一,从抗日英雄到反革命分子,从游击之母到土匪头子,从民族之光到杀人狂魔,你敢相信吗?这些称号,全部来自一位七十岁的东北老太!一九五零年,西南军区的刑场传来一1969年,粟裕致电给许世友我母亲在南京生活困难,请帮忙多照料在解放军中,有这么一对奇妙的上下级,他们性格迥异,作战方式也大相径庭,还因此发生过争执,但他们私底下的关系却非常好,像是亲兄弟一般,一方需要帮助,一方会竭尽全力施以援手,他们就是粟邱清泉谎报徐东大捷太荒唐,蒋介石被骗得合不拢嘴蒋介石(大好消息,我早就讲过,毛泽东,乡野村夫啊,真的动起手来,他是没有决战能力的,总统慧眼如炬啊!)邱清泉的徐东大捷让蒋校长合不拢嘴,这场久违的胜利,让老蒋心里倍感欣喜和安慰,因蒋介石手下八位虎将,7人去了台湾,只有一人没去,他后来怎样?在阅读此文之前,麻烦您点击一下关注,既方便您进行讨论和分享,又能给您带来不一样的参与感,感谢您的支持!文白无能,丧权辱国!在电影大决战当中,蒋介石有这么一句经典的台词。而他所说的,吴氏三兄弟枪杀7名战友,叛逃台湾,周总理震怒去台途中打下来1966年1月8日深夜,福州前线军区发现的一起叛逃事件,在中央掀起了巨浪。福建某守备师的吴氏三兄弟残忍枪杀了7名战友,开着舰艇叛逃到了马祖,准备投奔国民党政府。这个消息让一向好脾气80年60万越军边境集结挑衅中国,邓小平按兵不动,次年方知高明1980年10月初,黎笋第一心腹文进勇以越南国防部长越南中央军委第一副书记的名义,不断向中越边境地区集结重兵。到10月下旬,不到一个月越南在北方边境6省一带,集结了人数不低于60万毛主席游孔林,突听砰一声响,他问孔子后人这里常打枪吗?2019年4月17日,孔子72代孙,孔子玉因病去世,享年101岁。孔子玉,江苏省沛县孔庄村人,祖籍曲阜。1938年加入中国共产党,抗日战争时期参加过游击战争打击日寇,新中国成立后,