除了 ArgoCD 上的默认集群之外,我想添加一个新集群,但是当我添加它时,出现错误:
FATA[0001] rpc error: code = Unknown desc = REST config invalid: the server has requests for the client提供凭据
我使用命令argocd cluster add cluster-name
下载 Rancher 的 k8s 配置文件。
谢谢!
我正在为一家公司开发 DevOps 平台,该公司希望为开发人员提供用于代码版本控制和自动测试/构建/部署的工具,使用 Gitlab + Jenkins + Azure(以及 Jira / Sonarqube / Grafana 等其他工具,但不相关)这里)。
\n出于安全原因和易于管理,我们希望为用户提供一个用于所有这些工具的帐户:Azure Active Directory。
\n目前,Gitlab 用户可以通过 Azure AD 连接,并且推送到 Gitlab 存储库会触发 Jenkins 中的构建。\n当我通过 Azure AD 配置 Jenkins 身份验证时,Gitlab 与 Jenkins 的集成不再起作用,因为您无法再使用使用用户名/密码连接到 Jenkins,这似乎是 Gitlab 集成提供的唯一方法。
\n我知道 Docker 和 Kubernetes 解决了同样的问题。大多数用户可以简单地将 Docker 别名为 Podman(别名 docker=podman),不会出现任何问题。
那么它们之间有什么区别呢?
我目前正在 Azure Devops 中设置 CI/CD 管道,以在 Linux 托管应用程序服务(而不是 VM)上部署 NodeJS 应用程序。
我的构建和部署都很顺利,但我需要确保在部署应用程序后在环境中安装一些软件包。
问题是:无论apt-get我在部署后创建什么脚本,我都必须手动运行它们才能真正生效。不过,在管道日志中,它们似乎已被执行。
这是我的 yaml 代码中负责部署的部分,我错过了什么吗?
- stage: Deploy
displayName: Deploy stage
dependsOn: Build
condition: succeeded()
jobs:
- deployment: Deploy
displayName: Deploy
environment: $(environmentName)
pool:
vmImage: $(vmImageName)
workspace:
clean: all
strategy:
runOnce:
deploy:
steps:
- task: AzureWebApp@1
displayName: 'Azure Web App Deploy:'
inputs:
azureSubscription: $(azureSubscription)
appType: webAppLinux
appName: $(webAppName)
runtimeStack: 'NODE|16-lts'
package: $(Pipeline.Workspace)/drop/drop$(Build.BuildNumber).zip
startUpCommand: 'pm2 start index.js --no-daemon'
on:
success:
steps:
- script: sudo apt-get update
displayName: apt …Run Code Online (Sandbox Code Playgroud) 在GCP上,我尝试使用下面的Terraform代码启用“身份和访问管理(IAM)API”:
provider "google" {
credentials = file("myCredentials.json")
project = "myproject-173831"
region = "asia-northeast1"
}
resource "google_project_service" "project" {
service = "iam.googleapis.com"
}
Run Code Online (Sandbox Code Playgroud)
但我收到了这个错误:
读取或编辑 Project Service 时出错:请求
List Project Services myproject-173831返回错误:无法列出项目 myproject-173831 启用的服务:googleapi:错误 403:列出使用者容器服务的权限被拒绝 [projects/335478934851]
然后我就无法启用它
所以现在,我尝试添加一个角色来解决上面的这个错误,但是有太多角色可供选择:
我需要选择什么角色?
google-cloud-platform terraform devops google-cloud-iam terraform-provider-gcp
据我了解,Dockersecrets和挂载(绑定和卷)都是在 Docker 容器内管理机密的安全方法。我想知道是否secrets有任何安全优势?
我有一组任意大小的秘密。这些秘密保存在文件夹中的单独文件中。它们会定期自动更改。我想让它们全部可供 Docker 容器使用。使用绑定挂载,我可以挂载它们的文件夹,并且它们都可以访问。使用secrets,我必须在 Docker Compose 文件中指定每一项,从而增加耦合性并降低可维护性。我有什么理由应该选择以牺牲secrets可维护性为代价来选择它吗?
我正在尝试使用 Podman 在 IntelliJ 中构建 Spring Boot 项目的映像。Jetbrain 的指南建议在构建、执行、部署 > Docker 中“选择 TCP 套接字并在引擎 API URL 中指定 Podman API 服务 URL”(请参阅 https://www.jetbrains.com/help/idea/podman.html)。
但是,当提供 Podman 文档中找到的 TCP 套接字时(请参阅https://docs.podman.io/en/latest/markdown/podman-system-service.1.html),IntelliJ 表示无法连接。
最后,当终端中出现以下错误时:
(base) abc ~ % podman ps
Cannot connect to Podman. Please verify your connection to the Linux system using `podman system connection list`, or try `podman machine init` and `podman machine start` to manage a new Linux VM
Error: unable to connect to Podman socket: server API …Run Code Online (Sandbox Code Playgroud) 引起的原因:org.postgresql.util.PSQLException:与 localhost:5432 的连接被拒绝。检查主机名和端口是否正确以及邮局主管是否接受 TCP/IP 连接。
我在创建 docker 镜像时遇到问题。
当我检查 postgres 端口时
postgres 4318 iqbal 8u IPv4 0xbccc4b164eb6b423 0t0 TCP 127.0.0.1:5432 (LISTEN)
com.docke 11144 iqbal 45u IPv6 0xbccc4b1b1bb15e0b 0t0 TCP *:5432 (LISTEN)
Run Code Online (Sandbox Code Playgroud)
应用程序.properties 文件
spring.mvc.converters.preferred-json-mapper=gson
spring.datasource.url= jdbc:postgresql://localhost:5432/flightbed
spring.datasource.username= iqbal
spring.datasource.password= postgres
spring.datasource.hikari.connectionTimeout=20000
spring.datasource.hikari.maximumPoolSize=5
spring.jpa.properties.hibernate.dialect= org.hibernate.dialect.PostgreSQLDialect
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
spring.jpa.hibernate.ddl-auto= update
spring.jpa.show-sql=true
Run Code Online (Sandbox Code Playgroud)
Docker-compose 文件在这里:
version: '3.1'
services:
app:
image: 'docker-spring-boot-postgres:latest'
build:
context: .
container_name: app
depends_on:
- localhost
environment:
- SPRING_DATASOURCE_URL=jdbc:postgresql://postgresqldb:5432/flightbed
- SPRING_DATASOURCE_USERNAME=iqbal
- SPRING_DATASOURCE_PASSWORD=postgres
- SPRING_JPA_HIBERNATE_DDL_AUTO=update
localhost:
image: 'postgres:13.1-alpine'
container_name: postgresqldb
environment:
- …Run Code Online (Sandbox Code Playgroud) 由于我需要使用自托管运行器,因此使用现有市场 SSH Actions 的选项是不可行的,因为它们倾向于在 GitHub Actions 上构建镜像,但由于未知用户缺乏权限而失败。由于我对 Docker 的依赖,现有的 GitHub SSH 操作(例如 appleboy)失败了。
请注意:Appleboy 和其他类似的操作在使用 GitHub Actions Runners 时效果很好。