首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何访问rpi k8s集群的服务

如何访问rpi k8s集群的服务
EN

Stack Overflow用户
提问于 2021-03-07 07:08:41
回答 1查看 126关注 0票数 0

我在本指南rpi+k8s的帮助下构建了一个k8s集群。我已经启动并运行了一些基本的nginx服务,我可以在主节点和工作节点之间来回切换以获得nginx欢迎页面内容,方法是:

代码语言:javascript
复制
k exec nginx-XXX-XXX -it -- curl localhost:80

我在下面的SO帖子中尝试了以下建议:

link 1 link 2

但是,我仍然不能从本地计算机(linux)访问工作节点上的简单nginx服务。我用过,NODE IP:NODE PORT。我还安装了kubefwd和ran,sudo kubefwd svc -n nginx-ns,但我没有看到预期的输出,它将显示端口转发。任何帮助都将不胜感激。谢谢。

输出:

代码语言:javascript
复制
NAME                TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
service/nginx-svc   NodePort   10.101.19.230   <none>        80:32749/TCP   168m

NAME                    READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/nginx   3/3     3            3           168m

NAME                               DESIRED   CURRENT   READY   AGE
replicaset.apps/nginx-54485b444f   3         3         3       168m

下面是yaml文件:

代码语言:javascript
复制
kind: Namespace
apiVersion: v1
metadata:
  name: nginx-ns
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
  namespace: nginx-ns
spec:
  selector:
    matchLabels:
      app: nginx 
  replicas: 3
  template:
    metadata:
      labels:
        app: nginx 
    spec:
      containers:
      - name: nginx 
        image: nginx:1.19-alpine
        ports:
        - name: nginxport
          containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: nginx-svc
  namespace: nginx-ns
  labels:
    app: nginx
spec:
  selector:
    app: nginx
  ports:
  - protocol: TCP
    name: nginxport
    port: 80
    targetPort: 80
    nodePort: 32749
  type: NodePort
  selector:
    app: backend
EN

回答 1

Stack Overflow用户

发布于 2021-03-08 14:42:31

您需要在使用了两个selector的位置更新服务nginx-svc

拆下下面的零件:

代码语言:javascript
复制
  selector:
    app: backend

更新的service.yaml

代码语言:javascript
复制
apiVersion: v1
kind: Service
metadata:
  name: nginx-svc
  namespace: nginx-ns
  labels:
    app: nginx
spec:
  selector:
    app: nginx
  ports:
  - protocol: TCP
    name: nginxport
    port: 80
    targetPort: 80
    nodePort: 32749
  type: NodePort

然后,尝试这个端口转发。

代码语言:javascript
复制
kubectl port-forward -n nginx-ns svc/nginx-svc 8080:80

模板是这样的:

kubectl port-forward -n <namespace> svc/<svc_name> <local_port>:<svc_port>

然后在浏览器中使用127.0.0.1:8080localhost:8080进行尝试

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

https://stackoverflow.com/questions/66511619

复制
相关文章

相似问题

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