Launch Node in Kubernetes

Version 3 by Robin Shen
on Mar 09, 2019 14:46.


compared with
Version 4 by Robin Shen
on Mar 09, 2019 14:55.


Key
These lines were removed. This word was removed.
These lines were added. This word was added.

View page history


There are 1 changes. View first change.

  h2. Kubernetes cloud profile
  h2. Configure server to access Kubernetes cluster
  
 On the machine running QuickBuild server, make sure that the OS account [running QuickBuild service|Install As System Service] is set up appropriately so that it can run below command to connect to desired Kubernetes cluster:
 {code}kubectl cluster-info{code}
  
 h2. Configure Kubernetes cloud profile
 Cloud profiles rely on cloud providers to do its job. To use it, one has to enable the Kubernetes plugin by providing a configuration file in _Administration/Plugin Management_ page as demonstrated below:
  
 !kubernetes-setting.png!
  
 Then one can follow the [cloud profiles|Working with Cloud Profiles] guide to create cloud profiles using Kubernetes launchers like below:
 !kubernetes-launcher.png!
  
 {anchor:create build agent image}
 h2. Create build agent image
 You should use your own docker image when define the Kubernetes profile. The image should be pre-configured with your build environment as well as QuickBuild build agent. Below is an example to create a Debian Linux image only with OpenJDK and build agent installed.
  
 # Assume we have build agent installed at _/path/to/buildagent_. First run the build agent to make sure it can connect with the build server.
 # Create file _/path/to/buildagent/Dockerfile_ with below content:
 {code}
 FROM openjdk:8-jdk
 ADD . /app
 EXPOSE 8811
 CMD ["/app/bin/wrapper-linux-x86-64", "/app/conf/wrapper.conf"]
 {code}
 # Change to directory _/path/to/buildagent_, and run below command
 {code}
 sudo docker build -t youraccount/qbagent:latest .
 {code}
 # Then publish the built image:
 {code}
 sudo docker push youraccount/qbagent:latest
 {code}
  
 With this example, you should use docker image _youraccount/qbagent:latest_ when define the Kubernetes profile above