作者回复: node port要求必须在30000以上(不能用80),30001->80可以访问,但是会被faraday挡掉,返回unsupported domain,因为staffjoy应用是要求域名+80才能正常访问的。 为了能够用80去访问staffjoy,所以我们再单独给faraday做了一个端口映射 80 -> 80,这样就可以用域名+80正常访问staffjoy了。 课程中我们虽然打开了node port 30001 -> 80映射,但只是对node port的一个演示,实际演示staffjoy应用,我们用的是80 -> 80的端口转发方式。
作者回复: 你用的是新版的k8s,发布文件需要做一些调整,apiVersion需要从extensions/v1beta1 调整为 apps/v1,另外发布文件spec部分还要添加相应的selector,细节请参考我在B站上的视频: https://www.bilibili.com/video/BV1Ja4y1x748?p=7 另外上面还有一个错误提示,mysql-svc中的ip地址必须是本机的真实ip地址,不能用127.0.0.1,这样k8s内的容器才能访问这个ip地址。
作者回复: 建议先通过k8s dashboard看下每个service(尤其是www-service)的pod的日志,看是否有启动异常。
作者回复: 本课的58~61节有介绍如何在本地开发环境中手动部署Staffjoy微服务。 Staffjoy的每个微服务支持多种环境(dev/test/uat/prod)的部署,其中appliction-dev.yml是对应本地开发环境部署的配置文件,其中依赖的微服务都直接用localhost+端口方式去连,不需要注册中心的,网关的话Staffjoy直接集成可编程网关Faraday。 所以,建议你的微服务应用也要设计一套和Staffjoy类似的,可以针对不同环境进行部署的不同的配置。
作者回复: docker-desktop严格讲并不是一个完整的k8s,日志可能会丢失,具体要看机器的资源配置情况,建议用k8s dashboard看,有条件可以尝试在正式的k8s或者阿里云k8s中查看。