Skip to content

HCL-Cloud-Native-Labs/microservices-demo

 
 

Repository files navigation

Fork of Hipster Shop: Cloud-Native Microservices Demo Application

This is a folk of a GCP demo add set to run on ICP.

Option 1: Running on IBM Cloud Private (ICP)

  1. Install tools specified in the previous section (Docker, kubectl, skaffold)

  2. Connect to an ICP Cluster

  3. Create a namespace with correct permissions

    kubectl create namespace microservice-demo
    
  4. Switch to it

    kubens microservice-demo
    
    
  5. Apply a role bindings to the namespace to ensure pods run with non-root access

    kubectl apply -f icp/cluster-role.yaml
    

    Not applying permissions will results in:

    Error: container has runAsNonRoot and image will run as root
    

    as ICP is restrictive about how containers can run by default as explained in this article.

  6. Deploy the application

    kubectl apply -f ./release/kubernetes-manifests.yaml
    
  7. Run kubectl get pods to see pods are in a Ready state.

  8. frontend-external was set as a LoadBalancer. A LoadBalancer is not currently configured for ICP so change the type from LoadBalancer to NodePort in release/kubernetes-manifests.yaml.

  9. Find the assigned your application, then visit the application using the IP address of a worker node and with that port in the browser.

    kubectl get service/frontend-external
    
    kubectl get nodes
    

    e.g. http://172.16.50.68:31913/

About

Sample cloud-native application with 10 microservices showcasing Kubernetes, Istio, gRPC and OpenCensus. Provided for illustration and demo purposes.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C# 48.8%
  • Python 21.1%
  • Go 15.9%
  • HTML 3.9%
  • Java 3.2%
  • Shell 2.4%
  • Other 4.7%