小编pca*_*ana的帖子

更新时舵错误:升级失败:补丁列表中的顺序

我有掌舵部署问题。在我向部署添加新的环境变量之后发生了这种情况。

当我执行: helm upgrade [RELEASE] [CHART]

我收到以下错误:

Error: The order in patch list:
[
    map[name:APP_ENV value:prod]
    map[name:MAILER_URL value:...] 
    map[name:APP_VERSION value:v0-0-3] 
    map[name:APP_COMMIT_SHA value:...]
]
 doesn't match $setElementOrder list:
[
    map[name:APP_ENV] 
    map[name:COMPOSER_HOME] 
    map[name:PHP_XDEBUG_ENABLED] 
    map[name:DATABASE_DRIVER] 
    map[name:DATABASE_HOST] 
    map[name:DATABASE_NAME] 
    map[name:DATABASE_USER] 
    map[name:SECRET] 
    map[name:INDEX_HOSTS]
    map[name:MAILER_FROM_ADDRESS] 
    map[name:MAILER_FROM_NAME] 
    map[name:UPLOAD_DIR] 
    map[name:ARCHIVE_DIR] 
    map[name:CATALOG_STORAGE_DIR] 
    map[name:ASSET_STORAGE_DIR] 
    map[name:TMP_STORAGE_DIR] 
    map[name:UPLOAD_TMP_DIR] 
    map[name:APP_VERSION] 
    map[name:APP_COMMIT_SHA] 
    map[name:APP_CRON] 
    map[name:DATABASE_PASSWORD] 
    map[name:MAILER_URL]
    ...
]
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用 flag 执行相同的命令--dry-run,则不会出现任何错误 ( helm upgrade [RELEASE] [CHART] --dry-run)

我不知道这个问题的原因或如何解决它

kubernetes kubernetes-helm helmfile

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

打字稿中的数字精度

我正在做一个带有角度的网站,我试图将两个数字相加并在 a 中显示它们< div >,但我不知道如何管理精度。

例如,使用以下代码:

网页:

<div>{{sum}}</div>
Run Code Online (Sandbox Code Playgroud)

打字稿:

sum = 9.9 + 1.3
Run Code Online (Sandbox Code Playgroud)

11.200000000000001当我想展示时,网站展示了价值11.2

我已经看到管理浮动操作的方法是使用toFixed(1),然后我得到了期望11.2。但是,如果我使用, 来执行我想要获取的toFixed(1)操作10.0 + 1.011.011

所以我想要的是当有小数时有一位小数的数字,当没有小数时没有小数的数字

javascript typescript angular

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

用“/”字符修补 kubernetes 标签

我有以下运行良好的代码。example: yes它在 kubernetes 对象中添加标签:

package main

import (
    "fmt"
    "encoding/json"
    "k8s.io/apimachinery/pkg/types"

    eksauth "github.com/chankh/eksutil/pkg/auth"
    metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

type patchStringValue struct {
    Op    string `json:"op"`
    Path  string `json:"path"`
    Value string `json:"value"`
}

func main() {
    var updateErr error

    cfg := &eksauth.ClusterConfig{ClusterName: "my cluster name"}
    clientset, _ := eksauth.NewAuthClient(cfg)
    api := clientset.CoreV1()

    // Get all pods from all namespaces without the "sent_alert_emailed" label.
    pods, _ := api.Pods("").List(metav1.ListOptions{})

    for i, pod := range pods.Items {

        payload := []patchStringValue{{
            Op:    "replace",
            Path: …
Run Code Online (Sandbox Code Playgroud)

label patch go kubernetes kubernetes-go-client

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

如何使用 Helm Jenkins Values 'CredentialsXmlSecret'

我正在尝试使用 helm 部署 Jenkins。我看到一些值是用 XML 设置的。但是,我不能用 Master.CredentialsXmlSecret 字段来做同样的事情。我试过了:

CredentialsXmlSecret: jenkins-credentials

SecretsFilesSecret:
jenkins-credentials: |-
xml from credentials.xml here
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

jenkins kubernetes-helm

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

使用 kubernetes go 客户端扩展部署副本

我正在尝试使用golang client扩展部署。我发现的问题是golang 客户端没有用于部署的缩放方法。我不知道我该怎么做。我的想法是进行部署,修改副本,然后进行更新。

package main

import (
    "context"
    metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
    appsv1 "k8s.io/api/apps/v1"
    "flag"
    "fmt"
    "os"
    "path/filepath"

)

func main() {
    var kubeconfig *string
    if home := homedir.HomeDir(); home != "" {
        kubeconfig = flag.String("kubeconfig", filepath.Join(home, ".kube", "config"), "(optional) absolute path to the kubeconfig file")
    } else {
        kubeconfig = flag.String("kubeconfig", "", "absolute path to the kubeconfig file")
    }
    flag.Parse()

    config, err := clientcmd.BuildConfigFromFlags("", *kubeconfig)
    if err != nil {
        panic(err)
    }
    clientset, err := kubernetes.NewForConfig(config)
    if …
Run Code Online (Sandbox Code Playgroud)

client go kubernetes

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

helm 3.Release.time.Seconds 不存在

我现在正在进行从 helm 2 到 3 的迁移。

.Release.time.Seconds我在图表中使用 的值。我发现在helm 3中.Release.time不存在。尝试使用此stackoverflow 问题now中的解释,我可以进行安装,但没有获得预期值。

例如,使用以下代码:

 template:
    metadata:
      labels:
        dateInSeconds: "{{ .Release.Time.Seconds }}" 
Run Code Online (Sandbox Code Playgroud)

标签获取值dateInSeconds: 1611923156

如果我使用该now功能:

 template:
    metadata:
      labels:
        dateInSeconds: {{ now | quote }}  
Run Code Online (Sandbox Code Playgroud)

标签获取值dateInSeconds: "2021-02-01 12:05:28.6116854 +0100 CET m=+2.394553701"

kubernetes kubernetes-helm

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

Golang trimPrefix 来自字符串“\”

我已经看到 golang 有函数func TrimPrefix(s, prefix string) string返回 s 没有提供的前导前缀字符串。

我的问题是我有一个以字符“\”开头的字符串(例如“\foo”)。当我尝试使用 TrimPrefix 时出现错误。

高朗代码:

var s = "\foo"
    s = strings.TrimPrefix(s, "\")
    fmt.Print(s)
Run Code Online (Sandbox Code Playgroud)

错误:

./prog.go:10:32: newline in string
./prog.go:10:32: syntax error: unexpected newline, expecting comma or )
Run Code Online (Sandbox Code Playgroud)

我已经看到这是由于 golang understang "\" 作为 scape 字符。你知道我是否可以使用任何 golang 选项来让 golang 明白我不想使用“\”作为转义字符?

string go

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

go 中将 bool 转换为 *bool

使用以下代码:

var example *bool
example = true
log.Print(example)
Run Code Online (Sandbox Code Playgroud)

我有以下错误cannot convert true (untyped bool constant) to *bool

我设法通过声明一个新变量来解决它truevalue

var example *bool
truevalue := true
example = &truevalue
log.Print(example)
Run Code Online (Sandbox Code Playgroud)

但我想有一种更好的方法可以做到这一点,而无需声明任何新变量。

go

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