首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在kubernetes上访问简单的nginx部署?

如何在kubernetes上访问简单的nginx部署?
EN

Stack Overflow用户
提问于 2020-05-15 22:42:25
回答 2查看 234关注 0票数 1

我想在我自己的kubernetes集群上部署一个简单的nginx应用程序。

我使用了基本的nginx部署。在具有ip 192.168.188.10的计算机上。它是3个树莓簇的一部分。

代码语言:javascript
复制
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>

但我总有时间休息一下

代码语言:javascript
复制
$ 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从另一台计算机访问它

EN

回答 2

Stack Overflow用户

发布于 2020-05-15 22:49:23

那么192.168.188.10是您的主机ip /虚拟机ip吗?

您必须先检查是否有服务使用该端口,或者如果您使用云平台,则可能没有将其添加到您的安全组中。

只是为了确保您可以创建一个pod并像my-svc.my-namespace.svc.cluster-domain.example一样使用fqdn访问它

票数 0
EN

Stack Overflow用户

发布于 2020-05-18 20:43:44

正如@suren所提到的,您创建的是一个独立的服务,与您的部署没有任何链接。

您可以使用suren answer中的命令进行解算,或使用以下yaml规范创建新展开:

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61821900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档