小编Ank*_*nde的帖子

如何为 JWE 令牌添加过期时间?

我正在使用Jose库来创建 JWE。我已经成功地创建并解析了 JWE。JWT 具有expiat 等字段,有助于在一段时间后使令牌失效。

如何在 JWE 上设置过期时间?

这是我尝试过的,没有exp:

package main

import (
    jose "gopkg.in/square/go-jose.v2"
)

// len(key) is 32
func CreateJWE(value, key string)(string, error){
    encrypter, err := jose.NewEncrypter(jose.A256GCM, jose.Recipient{Algorithm: jose.A256GCMKW, Key: []byte(key)}, nil)
    if err != nil {
        return "", err
    }
    object, err := encrypter.Encrypt([]byte(value)])
    if err != nil {
        return "", err
    }
    return object.FullSerialize(), nil
}

func ParseJWE(jwe, key string)(string, error){
    object, err := jose.ParseEncrypted(jwe)
    if err != nil { …
Run Code Online (Sandbox Code Playgroud)

go jwe

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

无法使用Spring Boot应用程序连接到Docker映像

Docker文件

FROM openjdk:8 
ADD target/docker-spring-boot.jar docker-spring-boot.jar
EXPOSE 8085
ENTRYPOINT ["java","-jar","docker-spring-boot.jar"]
Run Code Online (Sandbox Code Playgroud)

命令构建docker

docker build -f Dockerfile -t docker-spring-boot .
Run Code Online (Sandbox Code Playgroud)

弹簧靴子罐的位置在下面。

target/docker-spring-boot.jar
Run Code Online (Sandbox Code Playgroud)

运行docker的命令

docker run -p 8085:8085 docker-spring-boot
Run Code Online (Sandbox Code Playgroud)

该应用程序可以在没有docker的情况下正常运行。无法在docker上运行应用程序。

错误:

This site can’t be reached
Run Code Online (Sandbox Code Playgroud)

docker运行日志

 E:\micorservices_samples\docker-spring-boot\docker-springbootdocker run -p 8085 :8085 docker-spring-boot

   .   ____          _            __ _ _  /\\ / ___'_ __ _ _(_)_ __  __
 _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \  \\/  ___)| |_)| | | …
Run Code Online (Sandbox Code Playgroud)

java spring containers docker spring-boot

6
推荐指数
2
解决办法
1574
查看次数

向默认 Golang Prometheus 指标添加标签

我目前正在用作github.com/prometheus/client_golang检索 Golang 应用程序指标的端点。它提供了许多开箱即用的默认数据集,例如:

go_gc_duration_seconds{quantile="0"} 0
go_gc_duration_seconds{quantile="0.25"} 0
go_gc_duration_seconds{quantile="0.5"} 0
go_gc_duration_seconds{quantile="0.75"} 0
go_gc_duration_seconds{quantile="1"} 0
go_gc_duration_seconds_sum 0
go_gc_duration_seconds_count 0
# HELP go_goroutines Number of goroutines that currently exist.
# TYPE go_goroutines gauge
go_goroutines 10
# HELP go_info Information about the Go environment.
# TYPE go_info gauge
go_info{version="go1.13.10"} 1
Run Code Online (Sandbox Code Playgroud)

我似乎在库中找不到任何向这些数据集添加标签的功能。由于我将在同一台计算机上运行许多此类应用程序,因此我需要添加标签来区分数据点。在图书馆有什么办法可以做到这一点吗client_golang

http go prometheus

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

无法删除处于待处理状态的窗格?

[root@vpct-k8s-1 kubernetes]# kubectl get pods --all-namespaces
NAMESPACE     NAME               READY     STATUS    RESTARTS   AGE
kube-system   kube-ui-v2-ck0yw   0/1       Pending   0          1h

[root@vpct-k8s-1 kubernetes]# kubectl get rc --all-namespaces
NAMESPACE     CONTROLLER   CONTAINER(S)   IMAGE(S)                               SELECTOR                REPLICAS      AGE
kube-system   kube-ui-v2   kube-ui        gcr.io/google_containers/kube-ui:v2   k8s-app=kube-ui,version=v2   1          1h
Run Code Online (Sandbox Code Playgroud)

无法删除处于待处理状态的窗格?

kubernetes

5
推荐指数
4
解决办法
1726
查看次数

删除文件夹及其内容AWS S3 java

是否可以使用java sdk为aws删除文件夹(在S3存储桶中)及其所有内容的单个api请求.对于浏览器控制台,我们只需单击即可删除文件夹及其内容,我希望使用API​​也可以使用相同的行为.

java amazon-s3 amazon-web-services aws-sdk-java-2.0

5
推荐指数
3
解决办法
8503
查看次数

如何使用假客户端为 client-go 编写简单的测试?

问题

我正在寻找正确的方法来测试下面的代码,我找不到任何示例如何做到这一点。只有main_test.go但缺少 main.go,对我来说,如何使用它并不明显。我也浏览了 Github issues,但找不到任何有用的东西。

功能:

import (
  "fmt"
  "k8s.io/api/core/v1"
  metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
  fake "k8s.io/client-go/kubernetes/fake"
  "time"
)

func GetNamespaceCreationTime(namespace string) int64 {
    config, err := rest.InClusterConfig()
    if err != nil {
        panic(err.Error())
    }
    clientset, err := kubernetes.NewForConfig(config)
    if err != nil {
        panic(err.Error())
    }

    ns, err := clientset.CoreV1().Namespaces().Get(namespace, metav1.GetOptions{})
    if err != nil {
        panic(err.Error())
    }
    fmt.Printf("%v \n", ns.CreationTimestamp)
    return (ns.GetCreationTimestamp().Unix())
}
Run Code Online (Sandbox Code Playgroud)

测试:

我认为我的测试应该如下所示,但是我该如何使用config := fake.NewSimpleClientset(),我应该将它传递到GetNamespaceCreationTime函数中吗?

func TestGetNamespaceCreationTime(t *testing.T) {
  config := fake.NewSimpleClientset()
  got …
Run Code Online (Sandbox Code Playgroud)

go client-go

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

GCE Kubernetes:持久磁盘和持久卷声明

方法 1(kubernetes 卷附加到 google 永久磁盘,kubernetes 卷声明附加到 kubernetes 卷)

apiVersion: v1
kind: PersistentVolume
metadata:
  name: volume-1
spec:
  storageClassName: ""
  capacity:
    storage: 50Gi
  accessModes:
    - ReadWriteOnce
  gcePersistentDisk:
    pdName: pd-test-1
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: pv-claim-1
spec:
  storageClassName: ""
  volumeName: volume-1
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi
Run Code Online (Sandbox Code Playgroud)

方法 2(Kubernetes 卷声明直接附加到 google 永久磁盘)

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: pv-claim-1
spec:
  volumeName: pd-test-1
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi
Run Code Online (Sandbox Code Playgroud)

方法3(pod直接使用google持久磁盘文档

apiVersion: v1
kind: Pod
metadata:
  name: test-pd
spec: …
Run Code Online (Sandbox Code Playgroud)

google-compute-engine kubernetes gce-persistent-disk

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

defer:长时间运行函数的用法?

下面是一个示例函数,它从连接池获取到数据库的连接,执行查询并处理返回的结果。

func dbQuery() error {
    con := db.getConn()
    result, err := con.Query()
    if err != nil {
       return err
    }
    defer con.close() // or con.close()
    // Processing the result takes a long time


    return nil
}
Run Code Online (Sandbox Code Playgroud)

这种情况下处理结果需要很长时间,并且不会调用连接的close,这意味着它不会返回到连接池。
在这种情况下,当我们知道资源即使不需要时也会被保留很长时间,是否可以直接调用 con.close() ?

go

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

如何在Kubectl部署中传递环境变量?

我正在为django webapp设置kubernetes设置。

我在创建部署时传递环境变量,如下所示

kubectl create -f deployment.yml -l key1=value1 
Run Code Online (Sandbox Code Playgroud)

我收到如下错误

error: no objects passed to create
Run Code Online (Sandbox Code Playgroud)

能够成功创建部署,如果在创建部署时删除了环境变量-l key1 = value1。

如下所示的deployment.yaml

#Deployment
apiVersion: extensions/v1beta1
kind: Deployment
metadata: 
 labels: 
   service: sigma-service
 name: $key1
Run Code Online (Sandbox Code Playgroud)

创建部署时导致上述错误的原因是什么?

kubernetes kubectl

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

如何在不下载的情况下获取 S3 上 csv 文件的行数?

我们正在将文件上传到 Amazon S3,我想添加一个功能来显示文件中的行数。如何在不下载的情况下获取 S3 上 csv 文件的行数?

java amazon-s3 amazon-web-services aws-java-sdk

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