k8s 查看对外端口
时间: 2023-02-16 17:42:51 浏览: 145
可以使用 kubectl 命令来查看 Kubernetes 集群中的服务的对外端口,具体方法如下:
1. 首先,查看所有的服务
```
kubectl get services
```
2. 然后,选择你想要查看的服务,并查看它的详细信息
```
kubectl describe service [service-name]
```
在输出的信息中,你可以找到 `Port` 字段,它就是服务的对外端口。
更多关于 kubectl 的使用方法,你可以查看 Kubernetes 官方文档:https://kubernetes.io/zh/docs/reference/kubectl/overview/
相关问题
k8s部署的服务怎么对外固定端口
在Kubernetes中,可以使用Service对象来暴露部署的服务并使其可以在集群内部或外部访问。要在Service中指定一个固定的端口,可以使用NodePort类型的Service。NodePort类型的Service会在每个节点上公开一个固定端口,并将其路由到Service的后端Pod。要指定一个特定的端口,请在Service的定义中指定“nodePort”字段。例如,在以下Service定义中,我们将端口号设置为“30001”:
```
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: NodePort
ports:
- port: 80
targetPort: 8080
nodePort: 30001
selector:
app: my-app
```
在这个示例中,我们将Service的端口设置为80,将目标端口设置为8080,并将节点端口设置为30001。这意味着我们可以在任何一个节点的IP地址上访问Service,端口号为30001。
k8s业务怎么对外暴露
在Kubernetes中,可以通过Service和Ingress来将业务对外暴露。其中,Service是一种抽象,定义了一组Pod的访问方式,而Ingress则是对Service的进一步抽象,可以将多个Service暴露在同一个IP和端口下,并提供负载均衡和路由等功能。
具体实现步骤如下:
1. 创建Deployment,定义Pod的副本数和容器镜像等信息。
2. 创建Service,将Deployment中的Pod暴露出来,定义Service的类型、端口和访问方式等信息。
3. 创建Ingress,将Service暴露出来,定义Ingress的规则、路径和后端Service等信息。
4. 配置Ingress Controller,将Ingress与实际的负载均衡器或代理服务器绑定,实现对外访问。
下面是一个示例YAML文件,演示了如何通过Ingress将两个Service暴露出来,并提供不同的路径和主机名访问:
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
spec:
replicas: 3
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: myapp:v1
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: myapp
spec:
selector:
app: myapp
ports:
- name: http
port: 80
targetPort: 80
type: ClusterIP
---
apiVersion: v1
kind: Service
metadata:
name: mydb
spec:
selector:
app: mydb
ports:
- name: mysql
port: 3306
targetPort: 3306
type: ClusterIP
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: myapp-ingress
spec:
rules:
- host: myapp.example.com
http:
paths:
- path: /app
pathType: Prefix
backend:
service:
name: myapp
port:
name: http
- host: mydb.example.com
http:
paths:
- path: /db
pathType: Prefix
backend:
service:
name: mydb
port:
name: mysql
```