我想在我自己的kubernetes集群上部署一个简单的nginx应用程序。
我使用了基本的nginx部署。在具有ip 192.168.188.10的计算机上。它是3个树莓簇的一部分。
NAME STATUS ROLES AGE VERSION
master-pi4 Ready master 2d20h v1.18.2
node1-pi4 Ready <none> 2d19h v1.18.2
node2-pi3 Ready <none> 2d19h v1.18.2
$ kubectl create deployment nginx --image=nginx
deployment.apps/nginx created
$ kubectl create service nodeport nginx --tcp=80:80
service/nginx created
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
my-nginx-8fb6d868-6957j 1/1 Running 0 10m
my-nginx-8fb6d868-8c59b 1/1 Running 0 10m
nginx-f89759699-n6f79 1/1 Running 0 4m20s
$ kubectl describe service nginx
Name: nginx
Namespace: default
Labels: app=nginx
Annotations: <none>
Selector: app=nginx
Type: NodePort
IP: 10.98.41.205
Port: 80-80 80/TCP
TargetPort: 80/TCP
NodePort: 80-80 31400/TCP
Endpoints: <none>
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>但我总有时间休息一下
$ curl http://192.168.188.10:31400/
curl: (7) Failed to connect to 192.168.188.10 port 31400: Connection timed out为什么无法访问web服务器nginx?我试着从部署它的同一台机器上运行它?如何通过网络端口31400从另一台计算机访问它
发布于 2020-05-15 22:49:23
那么192.168.188.10是您的主机ip /虚拟机ip吗?
您必须先检查是否有服务使用该端口,或者如果您使用云平台,则可能没有将其添加到您的安全组中。
只是为了确保您可以创建一个pod并像my-svc.my-namespace.svc.cluster-domain.example一样使用fqdn访问它
发布于 2020-05-18 20:43:44
正如@suren所提到的,您创建的是一个独立的服务,与您的部署没有任何链接。
您可以使用suren answer中的命令进行解算,或使用以下yaml规范创建新展开:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- name: http
containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: nginx-svc
spec:
type: NodePort
selector:
app: nginx
ports:
- protocol: TCP
port: 80
targetPort: 80之后,输入kubectl get svc以获取访问您的服务的nodeport。
nginx-svc NodePort 10.100.136.135 <none> 80:31816/TCP 34s
要访问,请使用http://<YOUR_NODE_IP>:31816
https://stackoverflow.com/questions/61821900
复制相似问题