k8s学习(四) k8s使用nodeport方式配置service对外暴露服务

本文主要是介绍k8s学习(四) k8s使用nodeport方式配置service对外暴露服务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Pod是有生命周期的,使用凡人皆有一死来描述pod很贴切,当一个工作节点(node)销毁时,节点上运行的pods也会被销毁, ReplicationController会动态地在其他节点上创建Pod来保持应用程序的运行,每一个Pod都有一个独立的IP地址,甚至是同一个节点上的Pod,可以看出Pod的IP是动态的,它随Pod的创建而创建,随Pod的销毁而消失,这就引出一个问题:如果由一组Pods组合而成的集群来提供服务,那如何访问这些Pods呢?
Kubenetes的Service就是用来解决这个问题的。一个Service可以看作一组提供相同服务的Pods的对外访问接口,Service作用于哪些Pods是通过label selector来定义的,这些Pods能被Service访问,Pod之间的发现和路由(如应用中的前端和后端组件)由Kubernetes Service处理。
Service有四种type: ClusterIP(默认)、NodePort、LoadBalancer、ExternalName. 其中NodePort和LoadBalancer两类型的Services可以对外提供服务。
这是使用NodePort来配置

1、创建yaml service.yaml

---
apiVersion: v1
kind: Service
metadata:name: kube-node-servicelabels:name: kube-node-service
spec:type: NodePort      #这里代表是NodePort类型的ports:- port: 8080        #这里的端口和clusterIP对应,即ip:8080,供内部访问。targetPort: 8080  #端口一定要和container暴露出来的端口对应protocol: TCPnodePort: 32143   # 所有的节点都会开放此端口,此端口供外部调用。selector:app: web          #这里选择器一定要选择容器的标签,之前写name:kube-node是错的。

2、应用yaml

kubectl create -f service.yaml

3、检验配置是否正确

//测试主节点访问
[root@k8s-node1 k8s]# curl 192.168.100.89:32143/index
hello,world[root@k8s-node1 k8s]# kubectl get services
NAME                TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
kube-node-service   NodePort    10.96.77.110   <none>        8080:32143/TCP   21m
kubernetes          ClusterIP   10.96.0.1      <none>        443/TCP          4d//测试内部访问(clusterIp:PORT)
curl 10.96.77.110:8080[root@k8s-node1 k8s]# curl 10.96.77.110:8080/index
hello,world[root@k8s-node1 k8s]# kubectl get pods -o wide
NAME                        READY   STATUS    RESTARTS   AGE   IP            NODE        NOMINATED NODE   READINESS GATES
kube-node-87dcfc9cf-9kj8j   1/1     Running   0          75m   10.244.1.23   k8s-node3   <none>           <none>
kube-node-87dcfc9cf-l2ppz   1/1     Running   0          75m   10.244.2.24   k8s-node2   <none>           <none>[root@k8s-node1 k8s]# curl 10.244.1.23:8080/index
hello,world[root@k8s-node1 k8s]# curl 10.244.2.24:8080/index
hello,world//测试slave节点访问
[root@k8s-node1 k8s]# curl 192.168.100.91:32143/index
hello,world
[root@k8s-node1 k8s]# curl 192.168.100.92:32143/index
hello,world从浏览器访问测试 http://192.168.100.89:32143/indexhttp://192.168.100.91:32143/indexhttp://192.168.100.92:32143/index

这篇关于k8s学习(四) k8s使用nodeport方式配置service对外暴露服务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1077639

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06