因此,当我kubectl get all --all-namespaces在不同的机器上运行时,我会得到不同的输出,但我不明白为什么。
第一台机器(为简洁起见,调整了输出):
kube-system po/kubernetes-dashboard-5569448c6d-w2bdb 1/1 Running 0 16h
kube-system po/service-mesh-traefik-5bb8d58bf6-gfdqd 1/1 Running 0 2d
kube-system po/tiller-deploy-78d74d4979-rh7nv 1/1 Running 0 23h
Run Code Online (Sandbox Code Playgroud)
第二台机器:
kube-system kubernetes-dashboard-5569448c6d-w2bdb 1/1 Running 0 16h
kube-system service-mesh-traefik-5bb8d58bf6-gfdqd 1/1 Running 0 2d
kube-system tiller-deploy-78d74d4979-rh7nv 1/1 Running 0 23h
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想要第一台机器的输出,并将资源类型作为输出的前缀。试图理解没有它的输出get all是非常令人沮丧的,并且由于我正在搜索的单词的性质,尝试使用谷歌搜索“get all”更加令人沮丧。
有什么不同吗?集群是相同的,因此它应该返回相同的数据。第一台机器是 kubectl 版本 1.9.2,第二台机器是 1.10.0。该集群运行的是 1.8.7。
我的情况如下:我创建了一个带有管道变量的 Azure DevOps 管道,假设为“变量 A”。“变量 A”的值为 1。在构建过程中,我将“变量 A”的值更改为 2。
当构建第二次运行时,我想要这些“变量 A”的值,但这又回到了 1,但我希望该值为 2,因为在上一次构建中我将“变量 A”的值设置为 2。
这些是我尝试过但没有成功的方法:
方法一:
Write-Host "##vso[task.setvariable variable=A;]2"
Run Code Online (Sandbox Code Playgroud)
方法二:
$env:A = 2
Run Code Online (Sandbox Code Playgroud)
唯一有效但我不认为这是可行的方法是通过其余 api 获取整个构建定义,然后将其放回更改的变量值。
这个问题还有其他解决办法吗?
我需要显示 s3 存储桶中存在的所有目录,其中某些目录被隐藏,只有当我将版本过滤为“显示”而不是隐藏时才会再次显示。
同样的情况也适用于目录内我们看不到文件的文件,但是当我们选择版本中的过滤器为“显示”时,它会显示文件。
我们如何在aws-cli中看到这些文件和目录。如果您有解决方案,请帮忙。
例如:
roxor@ubuntu:~$ aws s3 ls s3://dw-etl-source-prod
workday dsr
Run Code Online (Sandbox Code Playgroud)
我需要获取 4 个目录,但由于这些目录包含版本控制,因此未显示。如果我筛选版本以显示它会提供 aws s3 UI 中的所有文件,但我如何使用 AWS CLI 执行相同操作。
当我尝试跑步时
steps:
- id: Plan Terraform
name: hashicorp/terraform:light
args:
- plan
Run Code Online (Sandbox Code Playgroud)
在 Cloud Build 中,我收到错误:
Error: Error reading Project Service foo/cloudbuild.googleapis.com: googleapi: Error 403: Cloud Resource Manager API has not been used in project 123456789 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/cloudresourcemanager.googleapis.com/overview?project=123456789 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry., accessNotConfigured
Run Code Online (Sandbox Code Playgroud)
由于相同的 terraform 定义正在我的本地计算机上运行,我认为错误消息有点误导,它实际上是一个凭据问题。
根据 Google Cloud 文档,我应用了以下内容:
resource "google_project_iam_binding" "cloudbuild" …Run Code Online (Sandbox Code Playgroud) google-cloud-platform terraform devops terraform-provider-gcp google-cloud-build
在 Gitlab CI 工件中,根据生成它们的作业进行隔离,因此在下载时,您只能按作业下载它。
有没有办法下载所有工件,或者将工件传递到其他阶段并从那里上传?基本上是某种合并阶段所有工件的方法。
可能需要它的场景:假设在阶段部署中,我正在使用 10 个不同的并行作业在 10 个不同的服务器上部署我的项目。其中每一个都会生成一些工件。但是,无法从用户界面下载所有这些内容。
那么有人知道解决方法吗?我不是在寻找基于 API 的解决方案,而是在寻找基于 UI 的解决方案或编辑 CI yaml 文件以使其工作。
我有这样的情况:
jobs:
shake:
name: 'NodeJS ${{ matrix.node }}'
runs-on: ubuntu-latest
strategy:
matrix:
fruit: [strawberry, banana, apple]
steps:
- run: echo "::set-output name=action_fruit::${{ matrix.fruit }}"
Run Code Online (Sandbox Code Playgroud)
我很乐意在整个矩阵结束后执行 ajob或。step
这个问题是这个问题How to pass jenkins凭据到docker build命令的后续问题 ?
我从 groovy 管道中的 jenkins 凭证存储获取 ssh 密钥文件,并通过 --build-arg 将其传递到 docker build 命令,以便我可以从 docker 容器内的私有 git 存储库中签出和构建工件
凭证存储 id :cicd-user,用于按照我的常规 Jenkinsfile 的预期检查我的私人作品
checkout([$class: 'GitSCM',
userRemoteConfigs: [[credentialsId: 'cicd-user', url:'ssh://git@bitbucket.myorg.co:7999/A/software.git']]
Run Code Online (Sandbox Code Playgroud)
我访问它并尝试将其传递给 docker build 命令:
withCredentials([sshUserPrivateKey(credentialsId: 'cicd-user', keyFileVariable: 'FILE')]) {
sh "cd ${WORKSPACE} && docker build -t ${some-name} --build-arg USERNAME=cicd-user --build-arg PRIV_KEY_FILE=\$FILE --network=host -f software/tools/jenkins/${some-name}/Dockerfile ."
}
Run Code Online (Sandbox Code Playgroud)
在 Dockerfile 中我做
RUN echo "$PRIV_KEY_FILE" > /home/"$USERNAME"/.ssh/id_rsa && \
chmod 700 /home/"$USERNAME"/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)
RUN echo "Host bitbucket.myorg.co\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config …
如何配置 Terraform Cloud 以通过 Google Cloud Platform (GCP) 进行身份验证?
现在,我的配置如下所示:
provider "google" {
project = "my-project-id"
region = "europe-west3"
zone = "europe-west3-a"
}
resource "google_storage_bucket" "my-bucket" {
name = "my-bucket"
location = "EUROPE-WEST3"
force_destroy = true
uniform_bucket_level_access = true
}
Run Code Online (Sandbox Code Playgroud)
这给我带来了一个错误:
错误:尝试加载应用程序默认凭据,因为提供程序块中既没有设置
credentials也没有设置。access_token未加载凭据。要使用您的 gcloud 凭据,请运行“gcloud auth application-default login”。原始错误:谷歌:找不到默认凭据。有关详细信息,请参阅https://developers.google.com/accounts/docs/application-default-credentials 。
google-cloud-storage google-cloud-platform terraform devops terraform-provider-gcp
我有一个用于构建和部署项目的 yaml 管道。它部署到开发和测试。但我并不总是想部署到 tst。目前我已经通过批准解决了这个问题。当开发阶段完成时,管道等待批准。
这引入了一些问题:
我想V.1.0.00在 Azure DevOps 的持续交付中更改发布名称,例如手动发布,但如果没有这个$(rev:r),我将无法删除或更改命名,我该如何使用自定义名称?
默认名称: Release- $(rev:r)
必填名称: V.1.0.0
azure continuous-deployment devops azure-devops azure-pipelines