我按照 Istio 的官方文档为带有 minikube 的示例 bookinfo 应用程序设置了 Istio。但我收到无法连接到服务器:net/http:TLS 握手超时 错误。这些是我遵循的步骤(我安装了 kubectl 和 minikube)。
minikube start
curl -L https://git.io/getLatestIstio | sh -
cd istio-1.0.3
export PATH=$PWD/bin:$PATH
kubectl apply -f install/kubernetes/helm/istio/templates/crds.yaml
kubectl apply -f install/kubernetes/istio-demo-auth.yaml
kubectl get pods -n istio-system
Run Code Online (Sandbox Code Playgroud)
这是我得到的终端输出
$ kubectl get pods -n istio-system
NAME READY STATUS RESTARTS AGE
grafana-9cfc9d4c9-xg7bh 1/1 Running 0 4m
istio-citadel-6d7f9c545b-lwq8s 1/1 Running 0 3m
istio-cleanup-secrets-69hdj 0/1 Completed 0 4m
istio-egressgateway-75dbb8f95d-k6xj2 1/1 Running 0 4m
istio-galley-6d74549bb9-mdc97 0/1 ContainerCreating 0 4m
istio-grafana-post-install-xz9rk 0/1 Completed 0 …
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种更好的方法将 firebase 远程配置集成到我的 Nodejs 服务器中。
基本上我有两个问题,
firebase的官方js sdk文档说remoteconfig不支持nodeJs,我想知道支持web而不支持nodeJS的原因是什么?
nodejs-quickstart使用休息端点,如果我使用这种技术来管理服务器的配置,我是否必须实现轮询?或者,还有更好的方法?
PS:环境变量不是一个选项,因为这些配置随着时间的推移而改变。
这是我的config.yaml
文件
server:
port: 5000
Run Code Online (Sandbox Code Playgroud)
这是我使用 viper 解组的逻辑
type Configurations struct {
Server ServerConfig
}
type ServerConfig struct {
Port int
}
// LoadConfig reads configuration from file or environment variables.
func LoadConfig(path string) (config Configurations, err error) {
viper.AddConfigPath(path)
viper.SetConfigName("config")
viper.SetConfigType("yaml")
viper.AutomaticEnv()
err = viper.ReadInConfig()
if err != nil {
return
}
err = viper.Unmarshal(&config)
return
}
Run Code Online (Sandbox Code Playgroud)
我已经设置了 env 变量export PORT=9000
,现在我的问题是如何将环境变量映射PORT
到Configurations.ServerConfig.Port
. 我想要一个带有开发默认值的配置文件,并且希望我的应用程序从生产环境变量中读取/覆盖配置,我如何使用 viper 来实现这一点。
我看到以下选项
SERVER_PORT
然后使用替换器如下所示将其解组为结构replacer := strings.NewReplacer(".", "_") …
Run Code Online (Sandbox Code Playgroud)