Jenkins Kubernetes静态agent节点的构建
K8s部署静态节点在命令行中启动节点java -jar agent.jar -jnlpUrl http://139.198.166.235:8080/computer/build%2D02/jenkins-agent.jnlp -secret 942d7e769a43f65388751ee954af20e90fa0c5f8bdb19e0584db4cc61adab8ba -workDir "/va
·
K8s部署静态节点
在命令行中启动节点
java -jar agent.jar -jnlpUrl http://139.198.166.235:8080/computer/build%2D02/jenkins-agent.jnlp -secret 942d7e769a43f65388751ee954af20e90fa0c5f8bdb19e0584db4cc61adab8ba -workDir "/var/jenkins"
Run from agent command line, with the secret stored in a file:
echo 942d7e769a43f65388751ee954af20e90fa0c5f8bdb19e0584db4cc61adab8ba > secret-file
java -jar agent.jar -jnlpUrl http://139.198.166.235:8080/computer/build%2D02/jenkins-agent.jnlp -secret @secret-file -workDir "/var/jenkins"
我们不需要对agent创建service去访问它,这就是一个执行引擎,执行完了挂掉 。
[root@master cicd]# cat agent.yaml
kind: Deployment
apiVersion: apps/v1
metadata:
labels:
k8s-app: jenkinsagent
name: jenkinsagent
namespace: devops
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
k8s-app: jenkinsagent
template:
metadata:
labels:
k8s-app: jenkinsagent
namespace: devops
name: jenkinsagent
spec:
containers:
- name: jenkinsagent
image: jenkins/inbound-agent
securityContext:
privileged: true
imagePullPolicy: IfNotPresent
resources:
limits:
cpu: 1000m
memory: 2Gi
requests:
cpu: 500m
memory: 512Mi
env:
- name: JENKINS_URL
value: http://139.198.166.235:8080
- name: JENKINS_SECRET
value: 942d7e769a43f65388751ee954af20e90fa0c5f8bdb19e0584db4cc61adab8ba
- name: JENKINS_AGENT_NAME
value: build-02
- name: JENKINS_AGENT_WORKDIR
value: /home/jenkins/workspace
[root@master cicd]# kubectl apply -f agent.yaml
deployment.apps/jenkinsagent created
[root@master cicd]# kubectl get pod -n devops
NAME READY STATUS RESTARTS AGE
jenkins-797ccbdbc5-84jdl 1/1 Running 0 13m
jenkinsagent-586d9594-8pn9w 1/1 Running 0 8s
[root@master cicd]# kubectl logs -f jenkinsagent-586d9594-8pn9w -n devops
Oct 28, 2021 3:22:40 AM hudson.remoting.jnlp.Main createEngine
INFO: Setting up agent: build-02
Oct 28, 2021 3:22:40 AM hudson.remoting.jnlp.Main$CuiListener <init>
INFO: Jenkins agent is running in headless mode.
Oct 28, 2021 3:22:41 AM hudson.remoting.Engine startEngine
INFO: Using Remoting version: 4.11
Oct 28, 2021 3:22:41 AM org.jenkinsci.remoting.engine.WorkDirManager initializeWorkDir
INFO: Using /home/jenkins/workspace/remoting as a remoting work directory
Oct 28, 2021 3:22:41 AM org.jenkinsci.remoting.engine.WorkDirManager setupLogging
INFO: Both error and output logs will be printed to /home/jenkins/workspace/remoting
Oct 28, 2021 3:22:41 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Locating server among [http://139.198.166.235:8080/]
Oct 28, 2021 3:22:41 AM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver resolve
INFO: Remoting server accepts the following protocols: [JNLP4-connect, Ping]
Oct 28, 2021 3:22:41 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Agent discovery successful
Agent address: 139.198.166.235
Agent port: 50000
Identity: 67:e8:d2:73:d1:cf:01:f6:6c:a4:cb:b3:0f:25:8c:3d
Oct 28, 2021 3:22:41 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Handshaking
Oct 28, 2021 3:22:41 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connecting to 139.198.166.235:50000
Oct 28, 2021 3:22:41 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Trying protocol: JNLP4-connect
Oct 28, 2021 3:22:41 AM org.jenkinsci.remoting.protocol.impl.BIONetworkLayer$Reader run
INFO: Waiting for ProtocolStack to start.
Oct 28, 2021 3:22:42 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Remote identity confirmed: 67:e8:d2:73:d1:cf:01:f6:6c:a4:cb:b3:0f:25:8c:3d
Oct 28, 2021 3:22:42 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connected
同样的,这个agent pod里面是没有mvn这些构建工具的,可以使用卷的形式挂载进去。或者使用这个镜像作为基础镜像将工具打入到这个镜像里面更加方便。
更多推荐
已为社区贡献66条内容
所有评论(0)