[FOLIO-2155] create ansible control host infrastructure for k8s Created: 08/Jul/19  Updated: 03/Jun/20  Resolved: 12/Jul/19

Status: Closed
Project: FOLIO
Components: None
Affects versions: None
Fix versions: None

Type: Task Priority: TBD
Reporter: Ian Hardy Assignee: Ian Hardy
Resolution: Done Votes: 0
Labels: ci, devops, platform-backlog
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Sprint: CP: sprint 67
Story Points: 3
Development Team: Core: Platform

 Description   

If we're using ansible as a deployment tool for FOLIO on kubernetes, it will be easier to run an ansible control host in the cluster. This simplifies talking to the RDS database which is currently restricted to the cluster VPC, and talking to services in the cluster.

The following will need to be done to complete this story:

  • find or create an ansible control host image & deploy on kubernetes
  • create service/ingress for control host
  • create jenkins pipeline structure for running plays through this host (use the playbook from folio-2069, anything that comes out of 2055).

Open question:
should jenkins build/tear down the control host every time, or leave it running. Leaning towards building it every time.



 Comments   
Comment by Ian Hardy [ 12/Jul/19 ]

Current strategy for interacting with the kubernetes cluster from jenkins:

  • Use the ansible k8s module to modify kubernetes object defined as YAML.
  • Execute the plays against localhost (the jenkins-slave-all container).
  • Use the localinventory file in folio-infrastructure
  • It's necessary to run the ansible role folio-infrastructure/CI/ansible/roles/kubectl first to set up a kubeconfig

See the example Jenkinsfile.kube-deploy

Generated at Thu Feb 08 23:18:37 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.