k8s 如何在yaml文件中设置静态端口?
时间: 2024-09-17 07:02:10 浏览: 35
在 Kubernetes (k8s) 中,静态端口通常是指Pod内部的服务端口,它不需要动态分配,因为每个Pod都有固定的IP和端口。在 YAML 文件中设置静态端口,可以使用 `containers` 部分的 `ports` 节点。例如:
```yaml
apiVersion: v1
kind: Pod
metadata:
name: my-app-pod
spec:
containers:
- name: my-container
image: my-image:latest
ports:
- containerPort: 8080 # 静态端口,8080
protocol: TCP # 协议,默认是TCP
```
在这个例子中,名为 "my-container" 的容器中有一个静态的8080端口。当你创建这个Pod时,Kubernetes 会知道这个Pod的服务应该监听这个特定的端口。
如果你想在外部访问这个Pod的服务,还需要配置Service资源,比如:
```yaml
apiVersion: v1
kind: Service
metadata:
name: my-app-service
spec:
selector:
app: my-app-pod
ports:
- protocol: TCP
port: 80 # 外部访问的端口,通常是80或443
targetPort: 8080
type: ClusterIP
```
这将会创建一个ClusterIP类型的Service,使得集群内的其他节点能够通过Service的IP和外层端口访问Pod的内层8080端口。
阅读全文