Как получить доступ к порту контейнера другого контейнера, используя плагин kubernetes в конвейере - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь получить доступ к открытому порту из контейнера в другой контейнер внутри того же узла, но я не могу понять, как это сделать, используя плагин kubernetes в конвейере.

В моем сценарии ясоздали оба контейнера и открыли порт контейнера базы данных, в другом контейнере я пытаюсь получить доступ к порту 1521 хоста.

def label = "mypod-${UUID.randomUUID().toString()}"
podTemplate(label: label, containers: [
    containerTemplate(name: 'oracle', image: 'repo:5000/ng-oracle:latest',privileged: true, ttyEnabled: true, command: 'cat', ports:[
        portMapping(name: 'oracle1', containerPort: 1521, hostPort: 1521),
        portMapping(name: 'oracle2', containerPort: 22, hostPort: 2222),
    ]),
    containerTemplate(name: 'maven', image: 'repo:5000/ng-satelites:4', ttyEnabled: true, command: 'cat')
  ]) {
        node(label) {
            stage('all') {
                container('maven') {
                    stage('test-db') {
                        sh 'curl $(/sbin/ip route|awk \'/default/ { print $3 }\'):1521'
                    }
                }
            }
        }
}

1 Ответ

0 голосов
/ 27 марта 2019

Внутри POD Kubernetes все контейнеры «видят друг друга» через localhost.Следовательно, вы должны иметь возможность подключиться к вашему oracle контейнеру из вашего maven контейнера на localhost:1521.

...