- centos8에서 docker 설치
- kubernetes 환경 구성(minikube)
- kubernetes 환경에서 jenkins 구성하는 실습을 하는 과정을 담은 repo입니다.
이후 더 배울 수 있는 devops 관련 글을 써내려갈 예정입니다.
devops 실습하는 내용을 기록하는 레포지터리
jenkins에서 새로운 잡을 실행하면 pod이 생성되고 돌아야 하는데 pod이 계속해서 생성되었다 죽기를 반복함.
아래 로그 참고
[centos@control-plane ~]$ kubectl logs -f pod/jenkins-slave-d60z0 jnlp -n ns-jenkins Apr 12, 2021 7:14:08 AM hudson.remoting.jnlp.Main createEngine INFO: Setting up agent: jenkins-slave-d60z0 Apr 12, 2021 7:14:08 AM hudson.remoting.jnlp.Main$CuiListener <init> INFO: Jenkins agent is running in headless mode. Apr 12, 2021 7:14:08 AM hudson.remoting.Engine startEngine INFO: Using Remoting version: 4.3 Apr 12, 2021 7:14:08 AM org.jenkinsci.remoting.engine.WorkDirManager initializeWorkDir INFO: Using /home/jenkins/agent/remoting as a remoting work directory Apr 12, 2021 7:14:08 AM org.jenkinsci.remoting.engine.WorkDirManager setupLogging INFO: Both error and output logs will be printed to /home/jenkins/agent/remoting Apr 12, 2021 7:14:09 AM hudson.remoting.jnlp.Main$CuiListener status INFO: Locating server among [http://192.168.49.2:30000/] Apr 12, 2021 7:14:09 AM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver resolve INFO: Remoting server accepts the following protocols: [JNLP4-connect, Ping] Apr 12, 2021 7:14:09 AM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver resolve INFO: Remoting TCP connection tunneling is enabled. Skipping the TCP Agent Listener Port availability check Apr 12, 2021 7:14:09 AM hudson.remoting.jnlp.Main$CuiListener status INFO: Agent discovery successful Agent address: http://192.168.49.2 Agent port: 50000 Identity: 30:71:5c:ea:14:a6:86:5e:61:b3:eb:e9:d7:45:18:55 Apr 12, 2021 7:14:09 AM hudson.remoting.jnlp.Main$CuiListener status INFO: Handshaking Apr 12, 2021 7:14:09 AM hudson.remoting.jnlp.Main$CuiListener status INFO: Connecting to http://192.168.49.2:50000 Apr 12, 2021 7:14:09 AM hudson.remoting.jnlp.Main$CuiListener error SEVERE: null java.nio.channels.UnresolvedAddressException at sun.nio.ch.Net.checkAddress(Net.java:101) at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:619) at java.nio.channels.SocketChannel.open(SocketChannel.java:189) at org.jenkinsci.remoting.engine.JnlpAgentEndpoint.open(JnlpAgentEndpoint.java:205) at hudson.remoting.Engine.connectTcp(Engine.java:844) at hudson.remoting.Engine.innerRun(Engine.java:722) at hudson.remoting.Engine.run(Engine.java:518)
kubectl describe -n jenkins pod
Name: jenkins-6dc59b988b-pf9m5
Namespace: jenkins
Priority: 0
Node: minikube/192.168.49.2
Start Time: Wed, 24 Mar 2021 14:17:42 +0900
Labels: app=jenkins
pod-template-hash=6dc59b988b
Annotations: <none>
Status: Running
IP: 172.17.0.5
IPs:
IP: 172.17.0.5
Controlled By: ReplicaSet/jenkins-6dc59b988b
Containers:
jenkins:
Container ID: docker://6c1355f0779399b3f0fe2250506e454b2042dda567cd818f7800f7ddb4b146c7
Image: jenkins/jenkins:lts
Image ID: docker-pullable://jenkins/jenkins@sha256:3647dc7dcf43faf20a612465dc1aed6bf510893ff9724df4050604af80123b85
Ports: 8080/TCP, 50000/TCP
Host Ports: 0/TCP, 0/TCP
State: Waiting
Reason: CrashLoopBackOff
Last State: Terminated
Reason: Error
Exit Code: 1
Started: Wed, 24 Mar 2021 16:57:05 +0900
Finished: Wed, 24 Mar 2021 16:57:05 +0900
Ready: False
Restart Count: 36
Environment: <none>
Mounts:
/var/jenkins_home from jenkins-vol (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-mzpjw (ro)
Conditions:
Type Status
Initialized True
Ready False
ContainersReady False
PodScheduled True
Volumes:
jenkins-vol:
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: jenkins-pvc
ReadOnly: false
default-token-mzpjw:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-mzpjw
Optional: false
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning BackOff 58s (x740 over 160m) kubelet Back-off restarting failed container
describe 찍어보면 다음과 같이 뜨면서 젠킨스 접속 에러
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.