小编din*_*ina的帖子

java.lang.NoSuchMethodError: com.google.api.client.http.HttpTransport.isMtls()Z

我有一个使用 java8 部署在 appengine 上的应用程序。
最近,当我尝试部署时,我在运行时收到此错误:

Uncaught exception from servlet
java.lang.NoSuchMethodError: com.google.api.client.http.HttpTransport.isMtls()Z
    at com.google.api.services.storage.Storage$Builder.chooseEndpoint(Storage.java:11151)
    at com.google.api.services.storage.Storage$Builder.<init>(Storage.java:11184)
    at com.google.cloud.storage.spi.DefaultStorageRpc.<init>(DefaultStorageRpc.java:105)
    at com.google.cloud.storage.StorageOptions$DefaultStorageRpcFactory.create(StorageOptions.java:49)
    at com.google.cloud.storage.StorageOptions$DefaultStorageRpcFactory.create(StorageOptions.java:43)
    at com.google.cloud.ServiceOptions.getRpc(ServiceOptions.java:482)
    at com.google.cloud.storage.StorageImpl.<init>(StorageImpl.java:93)
    at com.google.cloud.storage.StorageOptions$DefaultStorageFactory.create(StorageOptions.java:39)
    at com.google.cloud.storage.StorageOptions$DefaultStorageFactory.create(StorageOptions.java:33)
    at com.google.cloud.ServiceOptions.getService(ServiceOptions.java:469)
Run Code Online (Sandbox Code Playgroud)

这是我的pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <packaging>war</packaging>
    <version>1.1-SNAPSHOT</version>

    <groupId>my.com.myapp</groupId>
    <artifactId>myapp</artifactId>

    <repositories>
        <repository>
            <id>local-maven-repo</id>
            <url>file:///${project.basedir}/local-maven-repo</url>
        </repository>
    </repositories>
    <!-- [START set_versions] -->
    <properties>
        <appengine.sdk.version>1.9.46</appengine.sdk.version>
        <google-api-client.version>1.21.0</google-api-client.version>

        <objectify.version>5.1.5</objectify.version>
        <guava.version>18.0</guava.version>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <prerequisites>
        <maven>3.1.0</maven>
    </prerequisites>

    <dependencies>
        <dependency>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-api-1.0-sdk</artifactId>
            <version>${appengine.sdk.version}</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <type>jar</type>
            <version>2.5</version>
            <scope>provided</scope> …
Run Code Online (Sandbox Code Playgroud)

java google-app-engine google-api-java-client google-cloud-storage

4
推荐指数
2
解决办法
2813
查看次数

增加proxy_send_timeout和proxy_read_timeout入口nginx

我正在GKE上运行部署,

使用quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.12.0图像作为nginx-ingress-controller

我正在尝试增加proxy_send_timeoutproxy_read_timeout关注此链接

这是我的入口配置:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: nginx-ingress
  namespace: production
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "360s"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "360s"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "360s"
    nginx.ingress.kubernetes.io/proxy-body-size: 100m
    nginx.ingress.kubernetes.io/client-body-buffer-size: 100m
spec:
  rules:
  - host: app.my.com
    http:
      paths:
      - backend:
          serviceName: front-app
          servicePort: 80
  - host: api.my.com
    http:
      paths:
      - backend:
          serviceName: backend-app
          servicePort: 80
  - host: api.old.com
    http:
      paths:
      - backend:
          serviceName: backend-app
          servicePort: 80
  tls:
  - hosts:
    - app.my.com
    - api.my.com
    secretName: tls-secret-my-com
  - hosts:
    - …
Run Code Online (Sandbox Code Playgroud)

nginx kubernetes google-kubernetes-engine

3
推荐指数
2
解决办法
6620
查看次数

我怎样才能在java中获得bigquery表模式

假设我myTable在 BQ 有这张表:

[
  {"name": "executionId", "type": "STRING"},
  {"name":"metadata", "type":"record","fields":[
    {"name":"fileName", "type":"STRING"},
    {"name":"fileType", "type":"STRING"},
    {"name":"errors", "type":"STRING"}
  ]}
]
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试在我的代码中获取表架构。这是我使用这个例子尝试的:

import com.google.cloud.examples.bigquery.snippets.*;

public class MyClass {
    public static void main(String[] args) throws Exception {
        BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();
        BigQuerySnippets bigQuerySnippets = new BigQuerySnippets(bigquery);
        Table table = bigQuerySnippets.getTable("MY_DATASET", "myTable");
Run Code Online (Sandbox Code Playgroud)

现在我该如何继续?table有这方面的方法吗?

java google-bigquery

2
推荐指数
1
解决办法
5487
查看次数

达到内存限制后崩溃时 pod 不会自动重新启动

我在 GKE 上运行我的 Elixir 应用

这是我的部署配置:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: myapp
  namespace: production
spec:
  replicas: 1
  revisionHistoryLimit: 1
  strategy:
      type: RollingUpdate
  template:
    metadata:
      labels:
        app: myapp
        tier: backend
    spec:
      securityContext:
        runAsUser: 0
        runAsNonRoot: false
      containers:
      - name: myapp
        image: myimage
        resources:
          limits:
            cpu: 3000m
            memory: 2000Mi
          requests:
            cpu: 2500m
            memory: 1000Mi
        ports:
        - containerPort: 80
        args:
          - foreground
Run Code Online (Sandbox Code Playgroud)

正如您在图像中看到的,pod 达到了其内存限制并崩溃了 荚

这些是我最后的日志:

erl_child_setup closed

Crash dump is being written to: erl_crash.dump...done

Shutting down..

Node is not running!
Run Code Online (Sandbox Code Playgroud)

然后我的应用程序被冻结,我在尝试请求应用程序时收到 502, …

kubernetes google-kubernetes-engine

2
推荐指数
1
解决办法
773
查看次数

在图像上使用服务器环境变量

我有一个用angular4编写的应用,正在生产环境和沙箱上运行,

我创建一个映像,然后在kubernetes上进行部署

我有一些与沙箱和生产环境不同的环境变量,目前我建立了两个不同的映像,一个用于沙箱,另一个用于生产:

下的环境src/envirnments

环境产品

export const environment = {
  production: true,
  server_url: 'https://api.example.com/app/',
};
Run Code Online (Sandbox Code Playgroud)

environment.sandbox.ts

export const environment = {
  production: false,
  server_url: 'https://api-sandbox.example.com/app/',
};
Run Code Online (Sandbox Code Playgroud)

建筑形象:

生产ng build --prod

沙箱ng build--prod --env=sandbox

现在,我该如何使用外部环境变量呢?像这样的东西applicatoion.getEnvirnment('server_url'),我不需要为每个环境创建图像吗?

这是我的deployment.yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: angular-web-app
  namespace: production
spec:
  replicas: 1
  revisionHistoryLimit: 1
  strategy:
      type: RollingUpdate
  template:
    metadata:
      labels:
        app: angular-web-app
    spec:
      containers:
      - name: angular-web-app
        image: us.gcr.io/my-com/angular-web-app:06.01.2018
        ports:
        - containerPort: 80
        env:
        - …
Run Code Online (Sandbox Code Playgroud)

kubernetes angular

1
推荐指数
1
解决办法
1282
查看次数