当前位置: 首页 > news >正文

K8S Service-NodePort:固定端口

Service-NodePort:固定端口

两个节点

192.168.81.141 k8s-master

192.168.81.140 k8s-node02

1、service-demo1.yaml定义yaml文件


# -----------------------------------
# 定义Service
# ----------------------------------apiVersion: v1
kind: Service
metadata:name: myapp
spec:type: NodePortselector:app: myapp# Service 能够将任意入站 port 映射到某个 targetPort。 默认情况下,出于方便考虑,targetPort 会被设置为与 port 字段相同的值。# 当在Kubernetes集群中创建多个Service时,确保每个Service使用的NodePort都是唯一的。# 使用集群内任意一台nodeIP:nodePort都可以访问到service服务ports:- port: 18080targetPort: 18080nodePort: 30001---apiVersion: apps/v1
kind: Deployment
metadata:name: myapplabels:app: myapp
spec:# 副本数replicas: 2selector:matchLabels:app: myapptemplate:metadata:labels:app: myappspec:imagePullSecrets:- name: kevin-registry-secretcontainers:- name: myappimage: 192.168.81.141:45678/library/myapp:v1ports:- containerPort: 18080

2、启动Pod

kubectl apply -f service-demo1.yaml

3、查看对应的SVC,Pod

[root@k8s-master workspace]# kubectl get pod -A -o wide | grep myapp
default                myapp-78794f6bf4-vhpmx                       1/1     Running   0               66m     10.244.235.235   k8s-master   <none>           <none>
default                myapp-78794f6bf4-zq7w6                       1/1     Running   0               66m     10.244.58.218    k8s-node02   <none>           <none>
[root@k8s-master workspace]# kubectl get svc -A -o wide | grep myapp
default                myapp                       NodePort    10.105.194.242   <none>        18080:30001/TCP          64m     app=myapp
[root@k8s-master workspace]# 
[root@k8s-master workspace]# curl 192.168.81.140:30001/ping
ok[root@k8s-master workspace]curl 192.168.81.141:30001/ping
ok[root@k8s-master workspace]#

可以看出来,通过nodeIP:nodePort

4、Nginx配置,

upstream  myapp {#server   10.105.194.242:18080 max_fails=3  fail_timeout=30s;server   192.168.81.141:30001 max_fails=3  fail_timeout=30s;server   192.168.81.140:30001 max_fails=3  fail_timeout=30s;
}server {listen 28080;server_name localhost;location / {proxy_pass  http://myapp;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_connect_timeout 25s;proxy_send_timeout 60s;proxy_read_timeout 60s;}
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 数据化项目中如何优化数据分析报表的响应速度
  • 宠物伴侣应用
  • Redisson中RSemaphore的使用场景及例子
  • 【微服务】微服务架构概念
  • 前端如何实现更换项目主题色的功能?
  • 全面整理人工智能(AI)学习路线图及资源推荐
  • 深度学习项目 -7-使用 Python 的手写数字识别
  • 多种方式防止表单重复提交
  • Docker容器资源限制
  • day2 PS教程——搞定图层的使用方法,效率大翻倍
  • 论文速递 | Operations Research 6月文章合集
  • 华为od机试真题:求字符串所有整数最小和(Python)
  • 螺旋矩阵(模拟)
  • Python爬虫知识体系-----Selenium
  • 服务器给根目录扩展磁盘(不使用lvm逻辑券)两种方式
  • 【前端学习】-粗谈选择器
  • Apache的80端口被占用以及访问时报错403
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • express.js的介绍及使用
  • flask接收请求并推入栈
  • laravel with 查询列表限制条数
  • Mysql5.6主从复制
  • MySQL的数据类型
  • mysql外键的使用
  • Python进阶细节
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • vue-cli在webpack的配置文件探究
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 测试如何在敏捷团队中工作?
  • 关于List、List?、ListObject的区别
  • 基于遗传算法的优化问题求解
  • 开发基于以太坊智能合约的DApp
  • 那些被忽略的 JavaScript 数组方法细节
  • 人脸识别最新开发经验demo
  • 我建了一个叫Hello World的项目
  • 一、python与pycharm的安装
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • #知识分享#笔记#学习方法
  • (003)SlickEdit Unity的补全
  • (12)Linux 常见的三种进程状态
  • (16)Reactor的测试——响应式Spring的道法术器
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (C++20) consteval立即函数
  • (js)循环条件满足时终止循环
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (转)http协议
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .net MVC中使用angularJs刷新页面数据列表
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .net 使用ajax控件后如何调用前端脚本
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • .Net的C#语言取月份数值对应的MonthName值