Open Shift (minishift) и запуск buildConfig с использованием bitbucket repo завершаются неудачно - PullRequest
0 голосов
/ 24 апреля 2018

Я запускаю minishift на Windows 10. Когда я запускаю buildConfig, я получаю следующую ошибку:

Cloning "ssh://git@bitbucket.internal:29470/sam/my-repo" ...
error: ssh: connect to host bitbucket.internal port 29470: Network is unreachable
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

Где мой файл bc yaml:

apiVersion: build.openshift.io/v1
kind: BuildConfig
metadata:
  creationTimestamp: '2018-04-24T11:31:00Z'
  labels:
    app: my-app
  name: my-bc
  namespace: myproject
  resourceVersion: '5808'
  selfLink: >-
    /apis/build.openshift.io/v1/namespaces/myproject/buildconfigs/my-bc
  uid: f68edfac-47b2-11e8-9c8e-080027ebf287
spec:
  failedBuildsHistoryLimit: 5
  nodeSelector: null
  output:
    to:
      kind: ImageStreamTag
      name: 'sample:1.0.0'
      namespace: myproject
  postCommit: {}
  resources: {}
  runPolicy: Serial
  source:
    contextDir: images/test
    git:
      ref: myfeature
      uri: 'ssh://git@bitbucket.internal:29470/sam/my-repo'
    sourceSecret:
      name: bitbucket-secret
    type: Git
  strategy:
    dockerStrategy:
      dockerfilePath: Dockerfile
    type: Docker
  successfulBuildsHistoryLimit: 5
  triggers: []
status:
  lastVersion: 16

и я создал секрет с именем: bitbucket-secret , который содержит мой закрытый ключ для репо: ssh://git@bitbucket.internal:29470/sam/my-repo с последующим запуском:

oc secrets link builder repo-at-bitbucket
oc secrets add serviceaccount/builder secrets/repo-at-bitbucket

Любые идеи о том, почему buildconfig терпит неудачу с ошибкой выборки, даже если я указываю секрет с рабочим закрытым ключом (проверено из командной строки)?

Как показано ниже, я думаю, что причина в том, что у моих модулей нет прав доступа к bitbucket.internal: 29470, но я не могу заставить работать модуль и oc rsh к нему. Я получаю:

oc get pods
NAME                         READY     STATUS       RESTARTS   AGE
my-bc-14-build   0/1       Init:Error   0          18h
my-bc-15-build   0/1       Init:Error   0          18h

Есть ли простой способ запустить стручок в минишифте и сохранить его в живых?

1 Ответ

0 голосов
/ 24 апреля 2018

В документации Openshift ssh упоминается:

Добавьте секрет в сервисную учетную запись строителя. Каждая сборка запускается с ролью serviceaccount/builder, поэтому вам нужно предоставить ей доступ к вашему секрету с помощью следующей команды:

oc secrets add serviceaccount/builder secrets/sshsecret

Добавьте поле sourceSecret в раздел исходного кода внутри BuildConfig и задайте для него имя секрета, который вы создали. В этом случае sshsecret:

apiVersion: "v1"
kind: "BuildConfig"
metadata:
  name: "sample-build"
spec:
  output:
    to:
      kind: "ImageStreamTag"
      name: "sample-image:latest"
  source:
    git:
      uri: "git@repository.com:user/app.git" 
    sourceSecret:                              <=====
      name: "sshsecret"                        <===== 
    type: "Git"
  ...

В вашем случае убедитесь, что вы хотя бы добавили sourceSecret к вашему git-источнику.

...