我绝对是库伯内特斯的初学者,我正在按照本教程开始。我已经设法编写了yaml文件。然而,一旦我部署了它,我就无法访问Web应用程序。
这是我的webapp yaml文件
apiVersion: apps/v1
kind: Deployment
metadata:
name: webapp-deployment
labels:
app: webapp
spec:
replicas: 1
selector:
matchLabels:
app: webapp
template:
metadata:
labels:
app: webapp
spec:
containers:
- name: webapp
image: nanajanashia/k8s-demo-app:v1.0
ports:
- containerPort: 3000
env:
- name: USER_NAME
valueFrom:
secretKeyRef:
name: mongo-secret
key: mongo-user
- name: USER_PWD
valueFrom:
secretKeyRef:
name: mongo-secret
key: mongo-password
- name: DB_URL
valueFrom:
configMapKeyRef:
name: mongo-config
key: mongo-url
API版本:v1种类:服务元数据:名称:webapp-servicel规格:类型:NodePort选择器:app:webapp端口:-协议:TCP端口:3000目标端口:3000节点端口:30200
当我运行命令时:kubectl get node
我在上面的结果中没有看到任何明显的错误,但我也没有足够的经验来检查是否有任何未正确设置的配置。
作为故障排除我做过的其他事情
minikube service webapp-servicel
,它打开网页,但同样不连接到IP。如果有人能帮我解决这个问题,我将不胜感激。
试试这3个选项
>
你能做kubectl get node-o wide
并获取node的ip地址,然后在Web浏览器中打开吗NODE_IP_ADDRESS: 30200
或者你可以运行这个命令minikube服务
kubectl端口转发svc/
运行以下命令以打开应用程序:minikube service webapp-servicel
,它打开网页,但再次不连接到IP。卸载了minikube、kubectl和。库贝并再次运行所有内容。直接从命令行ping IP地址,无法访问。
我建议你试试端口转发
https://kubernetes.io/docs/tasks/access-application-cluster/port-forward-access-application-cluster/
kubectl port-forward svc/x-service NodePort:Port
我也被困在这里了。在查看了一些gitlab问题后,我发现了一个关于minikube驱动程序的有用提示。如果您使用
minikube start -driver docker
以下是解决问题的方法。
>
停止迷你库贝
迷你库贝站
删除minikube(这会删除您的集群)
mini kube删除
再次启动minikube,但这次指定超套件驱动程序
minikube启动--vm-驱动=Hyperkit
检查状态
迷你币地位
按此顺序重新应用您的组件。
应用程序-fmongo-config. yaml kubectl应用程序-fmongo-秘密.yaml kubectl应用程序-f mongo.yaml kubectl应用程序-f webapp.yaml
获取您的ip
minikube ip
打开浏览器,转到IP地址:30200(或您定义的任何端口,我的端口是30100)。您应该会看到一张狗的图像和一张表格。
这篇SO文章中的一些信息也很有用。