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>

成功!

相关推荐
运维开发故事4 天前
基于 Arthas 的多集群在线诊断系统设计与实现
kubernetes
Patrick_Wilson5 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
探索云原生6 天前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
Java之美7 天前
一次k8s升级引发的DevicePlugin注册失败
云原生·kubernetes
zzzzzz31010 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
大树8814 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
小宇宙Zz14 天前
Maven依赖冲突
java·服务器·maven
网络研究院14 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展
酣大智14 天前
ARP代理--工作原理
运维·网络·arp·arp代理