shifter
shifter copied to clipboard
Shifter - OpenShift workloads to GKE/Anthos
Shifter - Openshift to Kubernetes Migration Accelerator
Shifter is a tool which accelerates the migration from OpenShift 3.x / 4.x by translating the applications for Kubernetes, GKE & Anthos and supports migrating to Service Mesh with ASM + Istio Support.
Capabilities
- Convert existing manifest files from OpenShift to Kubernetes.
- Convert or extract manifest files from a running OpenShift cluster.
- Run locally via a CLI tool or deploy a web-based user interface.
- Convert OpenShift routes/networking to Google ILB/ELB or Istio/ASM virtual services + gateway creation.
- Convert OpenShift templates to helm charts.
- Convert ImageStreams to Images + Modify on the fly the Container Registry source.
- Use GCS Buckets as the source/destination.
Issues and Feature Requests
If you have issues or would like to see some functionality added please raise a issue via Github Issues: https://github.com/google/shifter/issues
For issues please indicate:
- Your operating system and version.
- Your OpenShift cluster version.
- Attach a copy of the manifest (if possible).
- Attach a copy of the log output (if possible).
- Detail the issue or feature in as much detail as possible.
Contributing & Development
If you have improvements or fixes, we would love to have your contributions. Please read CONTRIBUTING.md for more information on the process we would like contributors to follow.
For development see DEVELOPMENT.md for details on pre-requisites and style guides.
Components
Shifter can either be ran via the command line or via a web ui front end.
Shifter Core (CLI & API Server)
Provides the backend service required by the front-end application and also provides the CLI tooling if the front-end web interface is not required.
Documentation
Read the detailed documentation at shifter/README.md
Demo
Shifter UI
Provides a front-end application written in Vue that connects to the Shfiter API's, for more information see shifter-ui/readme.md
Releases
- Binaries - https://github.com/google/shifter/releases
- Shifter Core Docker Image - docker pull images.shifter.cloud/shifter:latest
- Shifter UI Docker Image - docker pull images.shifter.cloud/shifter-ui:latest
Run Shifter
Run The Latest Shifter Version Locally with the UI
- Get the Source & Run Latest Docker Release
git clone https://github.com/google/shifter
cd shifter
docker-compose -f docker-compose.yml up
- Open a browser and go to http://localhost:9090
Run The Latest Shifter Version Locally wth the CLI
- Run the Latest Docker Release (With List Action)
export CLUSTER_ENDPOINT="https://console.okd.<CLUSTER_DOMAIN>:8443"
export BEARER_TOKEN="<BEARER_TOKEN>"
docker run \
images.shifter.cloud/shifter:latest \
./shifter cluster -e $OKD_ENDPOINT -t $OKD_TOKEN list --all-namespaces
- Run the Latest Docker Release (With an Export Action)
export CLUSTER_ENDPOINT="https://console.okd.<CLUSTER_DOMAIN>:8443"
export BEARER_TOKEN="<BEARER_TOKEN>"
docker run \
-v 'pwd':/output \
images.shifter.cloud/shifter:latest \
./shifter cluster -e $CLUSTER_ENDPOINT -t $BEARER_TOKEN export --all-namespaces /output