如何Error: must either provide a name or specify --generate-name在 Helm 中修复
创建示例 helm chart 名称为 mychart 并使用 nginx 服务编写 deployment.yaml、service.yaml、ingress.yaml。之后运行像 $ helm install mychart 这样的命令
apiVersion: v1
kind: Service
metadata:
name: nginx
spec:
ports:
- name: main
port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx
Run Code Online (Sandbox Code Playgroud)
apiVersion: extensions/v1beta2
kind: Deployment
metadata:
name: nginx
spec:
replicas: 3
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.13
ports:
containerPort: 80
Run Code Online (Sandbox Code Playgroud)
apiVersion: extensions/v1beta1
kind: Ingress …Run Code Online (Sandbox Code Playgroud) 我正在尝试向下面的掌舵图表添加一个新的仪表板
https://github.com/helm/charts/tree/master/stable/prometheus-operator
文档不是很清楚。
我已经向名称空间添加了一个配置映射,如下所示 -
apiVersion: v1
kind: ConfigMap
metadata:
name: sample-grafana-dashboard
namespace: monitoring
labels:
grafana_dashboard: "1"
data:
etcd-dashboard.json: |-
{JSON}
Run Code Online (Sandbox Code Playgroud)
根据文档,这应该只是“拾取”并添加,但不是。 https://github.com/helm/charts/tree/master/stable/grafana#configuration
我的 values.yaml 中的 sidecar 选项看起来像 -
grafana:
enabled: true
## Deploy default dashboards.
##
defaultDashboardsEnabled: true
adminPassword: password
ingress:
## If true, Grafana Ingress will be created
##
enabled: false
## Annotations for Grafana Ingress
##
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
## Labels to be added to the Ingress
##
labels: {}
## Hostnames. …Run Code Online (Sandbox Code Playgroud) 我正在 Google Cloud Platform 中运行 Spring Boot 应用程序,并通过 Google Platform Logs Viewer 查看日志文件。在使用 Spring Boot 并仅使用简单的 servlet 之前,日志记录条目将显示为:
每个请求都会被分组,并且可以通过展开行来查看该请求的所有日志记录信息。然而,当使用 Spring Boot 时,请求不再分组,日志条目只是逐行显示。当存在多个请求时,日志条目会变得非常混乱,因为无法以分组方式查看它们。我以同样的方式设置了logging.properties:
.level = INFO
handlers=java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level=FINEST
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.SimpleFormatter.format = [%1$tc] %4$s: %2$s - %5$s %6$s%n
Run Code Online (Sandbox Code Playgroud)
记录器在每个类中初始化为:
private static final java.util.logging.Logger LOG = java.util.logging.Logger.getLogger(MyClass.class.getName());
Run Code Online (Sandbox Code Playgroud)
然后日志记录 API 用作: LOG.info("My Message");
我不明白为什么这些语句以不同的方式记录并且不再分组,但它必须与 Spring Boot 处理日志记录的方式有某种关系?
我一直在四处寻找是否有可能在 Google Cloud Storage 存储桶中托管静态 React 应用程序并使用 Google Cloud CDN 和单个 Google Cloud Load Balancer 将缓存未命中路由到存储桶,管理证书,并将来自 React 应用程序的内部请求路由到 GKE 中托管的 API?
是否有可能实现这种架构,或者是否有另一种推荐的方法?
reactjs google-cloud-platform google-cloud-cdn google-cloud-load-balancer
我从过去两天开始就在尝试这个。
我使用此处非常详细的教程构建了一个示例应用程序 - https://john2x.com/blog/wildcard-certs-from-lets-encrypt-cert-manager-ingress-nginx-gke.html
我现在正在做的工作:
我有一个在 demo-app.example.com 上运行的应用程序,其中用户可以拥有自己的子域,就像john.demo-app.example.com
我也让通配符证书正常工作一样
我现在有两个问题:
1 - 如何允许用户添加指向我的应用程序中的子域的自定义域。当我在我的应用程序中创建一个指向子域的 CNAME 时,它不起作用,我认为是因为整个事情的配置方式。
2 - 我想从 demo-app.example.com 移动到 example.com 到顶层,那么应该如何为此配置 DNS 区域?
最后,考虑到需求,Kubernetes 是我可以使用的最好的还是使用其他东西会更好。顺便说一句,它是一个 NodeJS 应用程序。
在参考文档中,他们说您可以像这样打印容器的图像。
kubectl get pod test-pod -o custom-columns=CONTAINER:.spec.containers[0].name,IMAGE:.spec.containers[0].image
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试任何带有括号的命令时,我收到一条错误消息并且没有输出。
no matches found: custom-columns=CONTAINER:.spec.containers[0].name,IMAGE:.spec.containers[0].image
Run Code Online (Sandbox Code Playgroud)
如果我只是指定类似的内容,.spec.containers它将输出与此类似的整个数组:
[map[image:weaveworksplugins/scope-traffic-control:latest imagePullPolicy:Always name:weavescope-traffic-control-plugin resources:map[requests:map[cpu:100m]] securityContext:map[privileged:true procMount:Default] terminationMessagePath:/dev/termination-log terminationMessagePolicy:File volumeMounts:[map[mountPath:/var/run/docker.sock name:docker-sock] map[mountPath:/var/run/scope/plugins name:scope-plugins]
...
Run Code Online (Sandbox Code Playgroud)
Kubectl版本信息
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.2", GitCommit:"f6278300bebbb750328ac16ee6dd3aa7d3549568", GitTreeState:"clean", BuildDate:"2019-08-05T16:54:35Z", GoVersion:"go1.12.7", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.2", GitCommit:"66049e3b21efe110454d67df4fa62b08ea79a19b", GitTreeState:"clean", BuildDate:"2019-05-16T16:14:56Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
Run Code Online (Sandbox Code Playgroud)