Oxygen-Dapr.EshopSample icon indicating copy to clipboard operation
Oxygen-Dapr.EshopSample copied to clipboard

k8s不太熟悉启动访问失败

Open euleryang opened this issue 3 years ago • 16 comments

30882这个端口,所以需要修改service将nodeport暴露: kubectl edit svc ingress-nginx-controller

以上配置能否详细讲解表, 目前访问:admin.dapreshop.com:30882,失败

谢谢,顺便问下,这个Demo如何进行本地开发调试?

目前环境: win10 Kubernetes v1.19.7 Docker Desktop 20.*

euleryang avatar May 01 '21 03:05 euleryang

在windows下,打开powershell 输入该命令,会弹出一个文本文档,可以修改ingress-nginx-controller暴露的NodePort,修改后你需要你在你的host文件(默认为C:\Windows\System32\drivers\etc)里配置一下该域名 一般格式为: 127.0.0.1 admin.dapreshop.com 这样你在浏览器键入该域名admin.dapreshop.com:30882,就会被指向127.0.0.1:30882 这样你的请求就会被转发到ingess-controller,根据之前配置的ingress rule就会将包含admin.dapreshop.com的请求转发给adminfrontend应用,从而返回admin端网页

sd797994 avatar May 02 '21 01:05 sd797994

谢谢解答,目前已经可以访问,http://admin.dapreshop.com:30882/#/dashboard

目前在win10上的host配置为: 172.20.112.1 admin.dapreshop.com #后端管理页面 172.20.112.1 m.dapreshop.com #M站页面 172.20.112.1 api.dapreshop.com #网关 172.20.112.1 image.dapreshop.com #图片服务器 172.20.112.1 zipkin.dapreshop.com #链路追踪

其中172.20.112.1为 以太网适配器 vEthernet (WSL): IPv4 地址 . . . . . . . . . . . . : 172.20.112.1

即,本机WSL环境的分配的host的IP地址

euleryang avatar May 05 '21 08:05 euleryang

ingress-nginx-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: ingress-nginx
  namespace: ingress-nginx
  labels:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx
spec:
  type: NodePort
  ports:
    - name: http
      nodePort: 30882
      port: 80
      targetPort: 80
      protocol: TCP
    - name: https
      port: 443
      targetPort: 443
      protocol: TCP
  selector:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx

执行命令: kubectl edit svc ingress-nginx -n ingress-nginx

euleryang avatar May 05 '21 08:05 euleryang

ingress rule具体是怎么配置的?

zhupeng0929 avatar May 19 '21 12:05 zhupeng0929

ingress rule具体是怎么配置的?

在Deploy/Release/Deploy.yaml这个yaml文件里包含所需的ingress

sd797994 avatar May 20 '21 01:05 sd797994

docker-desktop 中出现这个 一共4个项目启动不起来 image image image

dingbingshuang avatar May 21 '21 02:05 dingbingshuang

你的dapr没有将sidecar注入进去,注入成功的话应该是2/2。代表一个pod里有两个container,一个应用一个sidecar。所以这四个container初始化时有一个调用dapr保存自己的权限信息的操作不成功导致的容器进程启动失败 image

sd797994 avatar May 21 '21 02:05 sd797994

你的dapr没有将sidecar注入进去,注入成功的话应该是2/2。代表一个pod里有两个container,一个应用一个sidecar。所以这四个container初始化时有一个调用dapr保存自己的权限信息的操作不成功导致的容器进程启动失败 image

好的 那我看看 是那个环节出错了 谢谢

dingbingshuang avatar May 21 '21 02:05 dingbingshuang

你的dapr没有将sidecar注入进去,注入成功的话应该是2/2。代表一个pod里有两个container,一个应用一个sidecar。所以这四个container初始化时有一个调用dapr保存自己的权限信息的操作不成功导致的容器进程启动失败 image

好的 那我看看 是那个环节出错了 谢谢

我也是这样的,不知道哪个地方出问题了

zhupeng0929 avatar May 21 '21 03:05 zhupeng0929

@zhupeng0929 首先通过helm list检查你的dapr是否运行起来了,其二检查kubectl get po -n dapr-system看看是否所有的dapr容器都启动了: dapr-dashboard dapr-operator dapr-placement dapr-sentry dapr-sidecar-injector 最后检查你的yaml文件,确保每一个需要注入dapr的deployment的spec.template.metadata.annotations 都配置了正确的注解: dapr.io/enabled: "true" dapr.io/app-id: "xxxsample" dapr.io/app-port: "xxx"

sd797994 avatar May 21 '21 03:05 sd797994

@zhupeng0929 首先通过helm list检查你的dapr是否运行起来了,其二检查kubectl get po -n dapr-system看看是否所有的dapr容器都启动了: dapr-dashboard dapr-operator dapr-placement dapr-sentry dapr-sidecar-injector 最后检查你的yaml文件,确保每一个需要注入dapr的deployment的spec.template.metadata.annotations 都配置了正确的注解: dapr.io/enabled: "true" dapr.io/app-id: "xxxsample" dapr.io/app-port: "xxx"

解决了,非常感谢!我是dapr初始化的时候 没有用dapr init -k 导致没有dapr-system

dingbingshuang avatar May 21 '21 08:05 dingbingshuang

你的dapr没有将sidecar注入进去,注入成功的话应该是2/2。代表一个pod里有两个container,一个应用一个sidecar。所以这四个container初始化时有一个调用dapr保存自己的权限信息的操作不成功导致的容器进程启动失败 image

好的 那我看看 是那个环节出错了 谢谢

我也是这样的,不知道哪个地方出问题了

你按照大佬的方式 查看下 我是初始化有问题 再就是oauth.yaml 这个文件 我这边需要手动运行下 要不然oauth那个会报错 找不到appconfig

dingbingshuang avatar May 21 '21 08:05 dingbingshuang

@dingbingshuang oauth那个服务不是必备,只是博客里讲oauth鉴权那一章会用到的一个服务,不影响主流程的。

sd797994 avatar May 21 '21 08:05 sd797994

unable to recognize "Basic.yaml": no matches for kind "Component" in version "dapr.io/v1alpha1" unable to recognize "Basic.yaml": no matches for kind "Configuration" in version "dapr.io/v1alpha1" unable to recognize "Basic.yaml": no matches for kind "Configuration" in version "dapr.io/v1alpha1" unable to recognize "Basic.yaml": no matches for kind "Component" in version "dapr.io/v1alpha1" unable to recognize "Basic.yaml": no matches for kind "Component" in version "dapr.io/v1alpha1"

同k8s新手 请问这种一般是哪里错了

ColinZeb avatar Mar 02 '22 10:03 ColinZeb

@ColinZeb 检查你的k8s集群的版本,检查你的dapr的版本。k8s版本最好在1.19+像我现在用的1.21+也是可以的。dapr的版本如果你拉取的是最新的代码,那请保持在1.6 PS C:\Users\Administrator> kubectl version Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.5", ... Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.1", ... PS C:\Users\Administrator> dapr status -k NAME NAMESPACE HEALTHY STATUS REPLICAS VERSION ... dapr-dashboard dapr-system True Running 1 0.9.0 ... dapr-placement-server dapr-system True Running 1 1.6.0 ... dapr-sentry dapr-system True Running 1 1.6.0 ... dapr-sidecar-injector dapr-system True Running 1 1.6.0 ... dapr-operator dapr-system True Running 1 1.6.0 ...

sd797994 avatar Mar 03 '22 01:03 sd797994

@sd797994 解决了,我执行了dapr init 没有执行dapr init -k

ColinZeb avatar Mar 04 '22 05:03 ColinZeb