k8s 创建service 暴漏集群ip

yam文件

复制代码
apiVersion: apps/v1
kind: Deployment
metadata: 
  name: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: mynginx
  template:
    metadata:
      labels:
        app: mynginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.25                
        imagePullPolicy: IfNotPresent 
                
---

apiVersion: v1
kind: Service
metadata:
  name: nginx
spec:
  selector:
    app: mynginx 
  ports:
  - port: 8000
    protocol: TCP
    targetPort: 80 

重要部分:需要再service selector选择deployment的labels

port为暴漏的端口,targetport为nginx端口

kubectl apply -f nginx.yml启动

查看pod,service

复制代码
[admin@localhost k8s]$ kubectl get service -o wide
NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE     SELECTOR
kubernetes   ClusterIP   10.96.0.1        <none>        443/TCP    5h32m   <none>
nginx        ClusterIP   10.105.245.100   <none>        8000/TCP   9m40s   app=mynginx


[admin@localhost k8s]$ kubectl get po -o wide
NAME                     READY   STATUS    RESTARTS   AGE   IP            NODE       NOMINATED NODE   READINESS GATES
nginx-58fd4875cd-5lfjw   1/1     Running   0          11m   10.244.0.39   minikube   <none>           <none>
nginx-58fd4875cd-pw7qp   1/1     Running   0          11m   10.244.0.37   minikube   <none>           <none>
nginx-58fd4875cd-qqsmp   1/1     Running   0          11m   10.244.0.38   minikube   <none>           <none>

servie启动成功

service会虚拟一个ip以轮训的方式访问后端nginx

测试,进入一个nginx终端

kubectl exec -it nginx-58fd4875cd-5lfjw -- /bin/bash

curl service ip

复制代码
root@nginx-58fd4875cd-5lfjw:/# curl 10.105.245.100:8000
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

成功!

相关推荐
波波0078 小时前
C# 15 重磅新特性: 带标签 break 与 continue:重新定义嵌套循环控制流
服务器·前端·c#
記億揺晃着的那天9 小时前
NAS 内网域名访问为什么需要浏览器授权
网络·nginx·js·nas
heimeiyingwang9 小时前
【架构实战】Kubernetes存储实战:从EmptyDir到Ceph CSI的持久化存储选型指南
ceph·架构·kubernetes
chunmiao303210 小时前
DeepSeek V4-Pro 正式版上线,API 8月17日起分时调价
网络·安全
QX_hao10 小时前
【Kubernetes】 的三个Probe
容器·kubernetes
隔窗听雨眠10 小时前
GBase 8s并发控制深度解析:封锁机制、隔离级别与死锁处理全攻略
服务器·数据库·oracle
鲸采云SRM采购管理系统11 小时前
采购管理系统哪家好?2026最新测评对比
java·服务器·数据库
迪康Defender12 小时前
AI 重构终端安全运营:智能分析中枢 AI Insight 模块架构与落地场景深度解析
运维·网络·人工智能·其他·安全·重构·架构
那年窗外下的雪.12 小时前
AIDC 学习日志 第 04 天 BGP Underlay 基础与路由选择
服务器·学习·php
0x5312 小时前
Java网络编程(二)
java·服务器·网络