我正在使用Jose库来创建 JWE。我已经成功地创建并解析了 JWE。JWT 具有exp、iat 等字段,有助于在一段时间后使令牌失效。
如何在 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) 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) 我目前正在用作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?
[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)
无法删除处于待处理状态的窗格?
是否可以使用java sdk为aws删除文件夹(在S3存储桶中)及其所有内容的单个api请求.对于浏览器控制台,我们只需单击即可删除文件夹及其内容,我希望使用API也可以使用相同的行为.
我正在寻找正确的方法来测试下面的代码,我找不到任何示例如何做到这一点。只有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) 方法 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) 下面是一个示例函数,它从连接池获取到数据库的连接,执行查询并处理返回的结果。
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() ?
我正在为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)
创建部署时导致上述错误的原因是什么?
我们正在将文件上传到 Amazon S3,我想添加一个功能来显示文件中的行数。如何在不下载的情况下获取 S3 上 csv 文件的行数?
go ×4
java ×3
kubernetes ×3
amazon-s3 ×2
aws-java-sdk ×1
client-go ×1
containers ×1
docker ×1
http ×1
jwe ×1
kubectl ×1
prometheus ×1
spring ×1
spring-boot ×1