Git Product home page Git Product logo

cross-cloud's Introduction

Cross Cloud Continuous Integration

Why Cross-Cloud CI?

Our CI Working Group has been tasked with demonstrating best practices for integrating, testing, and deploying projects within the CNCF ecosystem across multiple cloud providers.

Help ensure the CNCF projects deploy and run sucessfully on each supported cloud providers.

What is cross-cloud?

A project to continually validate the interoperability of each CNCF project, for every commit on stable and HEAD, for all supported cloud providers with the results published to the cross-cloud public dashboard. The cross-cloud project is composed of the following components:

  • Cross-project CI - Project app and e2e test container builder / Project to Cross-cloud CI integration point
    • Builds and registers containerized apps as well as their related e2e tests for deployment. Triggers the cross-cloud CI pipeline.
  • Cross-cloud CI - Multi-cloud container deployer / Multi-cloud project test runner
    • Triggers the creation of k8s clusters on cloud providers, deploys containerized apps, and runs upstream project tests supplying results to the cross-cloud dashboard.
  • Multi-cloud provisioner - Cloud end-point provisioner for Kubernetes
    • Supplies conformance validated Kubernetes end-points for each cloud provider with cloud specific features enabled
  • Cross-cloud CI Dashboard -
    • Provides a high-level view of the interoperability status of CNCF projects for each supported cloud provider.

How to Use Cross-Cloud TL;DR

Minimum required Configuration to use Cross-Cloud to Deploy a Kubernetes Cluster on Cloud X.

docker run \
  -v /tmp/data:/cncf/data \
  -e NAME=cross-cloud
  -e CLOUD=<aws|gke|gce|packet>    \
  -e COMMAND=<deploy|destory> \
  -e BACKEND=<file|s3>  \ 
  <CLOUD_SPECIFIC_OPTIONS>
  <KUBERNETES_CLUSTER_OPTIONS>
  -ti registry.cncf.ci/cncf/cross-cloud/provisioning:ci-stable-v0-1-0

Common options

  • -e CLOUD=<aws|gke|gce|packet> # Choose the cloud provider. Then add the appropriate cloud specific options below.
  • -e COMMAND=<deploy|destory>
  • -e BACKEND=<file|s3> # File will store the Terraform State file to Disk / S3 will store the Terraform Statefile to a AWS s3 Bucket

Cloud Specific Options

AWS

  • -e AWS_ACCESS_KEY_ID=secret
  • -e AWS_SECRET_ACCESS_KEY=secret
  • -e AWS_DEFAULT_REGION=ap-southeast-2

Packet:

  • -e PACKET_AUTH_TOKEN=secret
  • -e TF_VAR_packet_project_id=secret
  • -e DNSIMPLE_TOKEN=secret
  • -e DNSIMPLE_ACCOUNT=secret

GCE/GKE

  • -e GOOGLE_CREDENTIALS=secret
  • -e GOOGLE_REGION=us-central1
  • -e GOOGLE_PROJECT=test-163823

Kubernetes Cluster Options

Custom Configuration options for the Kubernetes Cluster

  • -e TF_VAR_pod_cidr=10.2.0.0/16 # Set the Kubernetes Cluster POD CIDR
  • -e TF_VAR_service_cidr=10.0.0.0/24 # Set the Kubernetes Cluster SERVICE CIDR
  • -e TF_VAR_worker_node_count=3 # Set the Number of Worker nodes to be Deployed in the Cluster
  • -e TF_VAR_master_node_count=3 # Set the Number of Master nodes to be Deployed in the Cluster
  • -e TF_VAR_dns_service_ip=10.0.0.10 # Set the Kubernetes DNS Service IP
  • -e TF_VAR_k8s_service_ip=10.0.0.1 # Set the Kubernetes Service IP

Additional documentation

  • FAQ - Frequently Asked Questions

Meetings / Demos

Upcoming

  • August 15th, 2017 - CNCF TOC
  • September 11th-14th 2017 Open Source Summit North America
  • September 12th, 2017 - CNCF: Governing Board
  • October 12th, 2017 - CNCF: End User Committee Meeting

Past

cross-cloud's People

Contributors

dankohn avatar denverwilliams avatar hh avatar lixuna avatar namliz avatar taylor avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.