我在本指南rpi+k8s的帮助下构建了一个k8s集群。我已经启动并运行了一些基本的nginx服务,我可以在主节点和工作节点之间来回切换以获得nginx欢迎页面内容,方法是:
k exec nginx-XXX-XXX -it -- curl localhost:80我在下面的SO帖子中尝试了以下建议:
但是,我仍然不能从本地计算机(linux)访问工作节点上的简单nginx服务。我用过,NODE IP:NODE PORT。我还安装了kubefwd和ran,sudo kubefwd svc -n nginx-ns,但我没有看到预期的输出,它将显示端口转发。任何帮助都将不胜感激。谢谢。
输出:
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文件:
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发布于 2021-03-08 14:42:31
您需要在使用了两个selector的位置更新服务nginx-svc。
拆下下面的零件:
selector:
app: backend更新的service.yaml
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然后,尝试这个端口转发。
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:8080或localhost:8080进行尝试
https://stackoverflow.com/questions/66511619
复制相似问题