![](/img/trans.png)
[英]How to run sidecar container in jenkins pipeline running inside kubernetes
[英]How to run Kafka from Jenkins Pipeline using Groovy and Kubernetes plugin?
我在互聯網上找不到這樣的特定命令,所以請您幫忙:)
上下文
我已經通過使用containerTemplate
方法定義了一個包含幾個容器的podTemplate
:
ubuntu:trusty
(14.04 LTS) postgres:9.6
wurstmeister/kafka:latest
在Pipeline中進行一些Groovy編碼,我在ubuntu:trusty
trusty容器中安裝了一些依賴項,例如最新的Git,Golang 1.9等,並且還從Github簽出了我的項目。
處理完所有依賴項后,我設法進行編譯,運行遷移(這意味着Postgres已啟動並正在運行,並且我的應用已連接到它),然后旋轉我的應用就可以了,直到它抱怨Kafka不能運行,因為它不能不連接任何經紀人。
調試會話
經過一些調試會話后,我對每個容器進行了ps aux
,以確保所需的所有服務都在各自的容器中運行,例如:
container(postgres) {
sh 'ps aux' # Show Postgres, as expected
}
container(linux) {
sh 'ps aux | grep post' # Does not show Postgres, as expected
sh 'ps aux | grep kafka' # Does not show Kafka, as expected
}
container(kafka) {
sh 'ps aux' # Does NOT show any Kafka running
}
如圖像文檔中所述,我還使用以下代碼將KAFKA_ADVERTISED_HOST_NAME
var導出到127.0.0.1
,但未成功完成:
containerTemplate(
name: kafka,
image: 'wurstmeister/kafka:latest',
ttyEnabled: true,
command: 'cat',
envVars: [
envVar(key: 'KAFKA_ADVERTISED_HOST_NAME', value: '127.0.0.1'),
envVar(key: 'KAFKA_AUTO_CREATE_TOPICS_ENABLE', value: 'true'),
]
)
問題
該映像文檔詳細信息https://hub.docker.com/r/wurstmeister/kafka/明確涉及使用docker-compose up -d
啟動Kafka集群
1)我實際上如何使用Jenkins中的Kubernetes插件+ Docker + Groovy + Pipeline組合來做到這一點?
2)我真的需要這樣做嗎? Postgres圖像文檔( https://hub.docker.com/_/postgres/ )也提到了使用docker run
運行實例,但是我根本不需要這樣做,這使我認為containerTemplate
可能正在做它會自動。 那么為什么不對Kafka容器這樣做呢?
謝謝!
所以...問題在於該圖像以及kubernetes如何與它們一起工作。 Kafka無法啟動,因為您使用command:'cat'
覆蓋了dockers CMD
,這導致start-kafka.sh
永遠不會運行。 由於上述原因,我建議使用其他圖像。 下面的模板為我工作。
containerTemplate(
name: 'kafka',
image: 'quay.io/jamftest/now-kafka-all-in-one:1.1.0.B',
resourceRequestMemory: '500Mi',
ttyEnabled: true,
ports: [
portMapping(name: 'zookeeper', containerPort: 2181, hostPort: 2181),
portMapping(name: 'kafka', containerPort: 9092, hostPort: 9092)
],
command: 'supervisord -n',
envVars: [
containerEnvVar(key: 'ADVERTISED_HOST', value: 'localhost')
]
),
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.