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>

成功!

相关推荐
蜡笔小炘6 小时前
LVS -- 利用防火墙标签(FireWall Mark)解决轮询错误
服务器·数据库·lvs
生活很暖很治愈6 小时前
Linux——孤儿进程&进程调度&大O(1)调度
linux·服务器·ubuntu
liux35286 小时前
基于kubeadm部署Kubernetes 1.26.4 集群指南
云原生·容器·kubernetes
JoySSLLian6 小时前
手把手教你安装免费SSL证书(附宝塔/Nginx/Apache配置教程)
网络·人工智能·网络协议·tcp/ip·nginx·apache·ssl
HalvmånEver6 小时前
Linux:线程同步
linux·运维·服务器·线程·同步
喵叔哟6 小时前
06-ASPNETCore-WebAPI开发
服务器·后端·c#
Zach_yuan6 小时前
自定义协议:实现网络计算器
linux·服务器·开发语言·网络
岁杪杪6 小时前
关于运维:LINUX 零基础
运维·服务器·php
猫头虎7 小时前
如何解决 OpenClaw “Pairing required” 报错:两种官方解决方案详解
网络·windows·网络协议·macos·智能路由器·pip·scipy
tianyuanwo7 小时前
企业级NTP客户端配置指南:基于内部NTP服务器的实践
运维·服务器·ntp客户端