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 小时前
从零读懂RoCEv2数据包构造:从WQE到线缆上的完整旅程
服务器·网络·网络协议·rdma
北京耐用通信5 小时前
全域适配工业场景耐达讯自动化Modbus TCP 转 PROFIBUS 网关轻松实现以太网与现场总线互通
网络·人工智能·网络协议·自动化·信息与通信
在角落发呆6 小时前
Linux转发配置:解锁网络互联的核心密码
linux·运维·网络
江公望8 小时前
Ubuntu htop命令,10分钟讲清楚
linux·服务器
哎呦,帅小伙哦8 小时前
Linux 时间:从原子钟到 clock_gettime 的每一面
linux·运维·服务器
张小姐的猫8 小时前
【Linux】多线程 —— 线程互斥
linux·运维·服务器·c++
YMWM_8 小时前
UDP协议详解:从原理到Python实践
网络·网络协议·udp
pengyi8710159 小时前
共享 IP 与独享 IP 怎么选?被封后升级方案避坑
网络·网络协议·tcp/ip
YuanDaima20489 小时前
Linux 进阶运维与 AI 环境实战:进程管理、网络排错与 GPU 监控
linux·运维·服务器·网络·人工智能
牛奶咖啡139 小时前
k8s容器编排技术实践——使用containerd作为容器运行时部署k8s集群
kubernetes·k8s的安装部署·开启系统的ipvs支持·安装containerd·containerd配置加速器·安装k8s的工具·安装calico网络插件