生成一个nginx的Pod-并让外部可以访问端口为8081
以下是创建nginx Pod并让外部可以访问,端口为8081的YAML文件示例:
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
containers:
- name: nginx-container
image: nginx
ports:
- containerPort: 80
name: http
- containerPort: 8081
name: http-alt
可以使用kubectl apply命令应用上述YAML文件来创建Pod。
kubectl apply -f nginx-pod.yaml
接下来,需要将Pod暴露给外部。可以使用Service资源来暴露Pod。以下是创建Service资源的YAML文件示例:
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
ports:
- name: http
port: 80
targetPort: 80
- name: http-alt
port: 8081
targetPort: 8081
type: NodePort
可以使用kubectl apply命令应用上述YAML文件来创建Service。
kubectl apply -f nginx-service.yaml
最后,可以使用kubectl get命令查看Service的NodePort端口,并使用该端口访问外部IP或集群IP来访问Pod。
kubectl get service nginx-service
输出示例:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
nginx-service NodePort 10.96.188.159 <none> 80:30629/TCP,8081:32062/TCP 10s
在这个示例中,可以使用集群IP加上NodePort 32062来访问nginx Pod。例如:http://<集群IP>:32062
注意:如果使用的是云平台,还需要在云平台的防火墙规则中打开NodePort端口访问权限。
原文地址: https://www.cveoy.top/t/topic/m3p 著作权归作者所有。请勿转载和采集!