Git Product home page Git Product logo

guestbook's Introduction

Guestbook Example

This example shows how to build a simple multi-tier web application using Kubernetes and Docker. The application consists of a web front end, Redis master for storage, and replicated set of Redis slaves, all for which we will create Kubernetes deployments, pods, and services.

There are two versions of this application. Version 1 (in the v1 directory) is the simple application itself, while version 2 (in the v2 directory) extends the application by adding additional features that leverage the Watson Tone Analyzer service. It is recommended that if you are new to this example then you look at just the v1 version of the application. Other IBM demos will make use of the v2 version, such as Istio101.

Please see the corresponding README.md files in each directory for more information.

Notes

  • As you read the correspoding README.md files, you will see kubectl commands that describes deployed resources. The output of these commands can be slightly vary depending on the version of your kubectl.
  • The guestbook applications uses Kubernetes service type LoadBalancer to expose the service onto an external IP address. If you are using Minikube, keep in mind that no real external load balancer is created. You can still access the service with the node port that is assigned to load balancer on Minikube.

guestbook's People

Contributors

brahmaroutu avatar bvennam avatar greghanson avatar irisdingbj avatar jberkhahn avatar jkomg avatar kant avatar linsun avatar mhbauer avatar nibalizer avatar spzala avatar szihai avatar timroster avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

guestbook's Issues

Enhancement: add explicit service to display pictures

We should add a service that displays pictures from an external service to enhance demos that make connections to third party services. This will also aid istio examples where we show fallback responses during timeouts.

ibmcom/guestbook images x86_64

for deliveries of the workshop content on non x86_64 platforms (e.g. ICP on POWER and z and OpenShift on POWER), it would be very good for the guestbook container images to be multiarch.

Dockerfile images for redis and busybox need to be updated to take advantage of multiarch container images on docker.io.

unable to pull the image "docker.io/kubernetes/redis-slave:v2

Unable to download this image.

Tried directly pulling using docker pull image but getting the below error:

docker pull redis-slave:v2
Error response from daemon: pull access denied for redis-slave, repository does not exist or may require 'docker login'

RFE: ppc64le docker image for guestbook

Hello,
I am a OpenShift developer advocate and been using guestbook in my tutorial/webinars where I use OCP on IBM cloud.
I used guestbook in some demos using OCP on ibm cloud (x86) but there are reuqests to run the same demo over OCP on PowerVS (Power Virtual server) in IBM cloud.. I don't see guestbook ppc64le image...hence this RFE.

It would be great to have a ppc64le docker images for v1 and v2 in the docker hub

Error parsing redis-master-deployment.yaml

I'm experimenting with v2 of the guestbook app and am finding there is an early problem with instructions at https://github.com/IBM/guestbook/tree/master/v2

In particular, in my cluster, when I run

$ kubectl create -f redis-master-deployment.yaml

I get the following error message:

In my laptop running minikube with GitVersion v1.16.2 and Platform:"darwin/amd64" after testing my installation with hello-minikube as per https://kubernetes.io/docs/setup/learning-environment/minikube/ and downloading redis-master-deployment.yaml onto my local HDD:

error: error parsing redis-master-deployment.yaml: error converting YAML to JSON: yaml: line 114: mapping values are not allowed in this context

In katacode.com running minikube v1.3.0 in the Launch Single Node Kubernetes Cluster scenario (I ran the scenario, then also tried doing the instructions for guestbook v2, starting with this failed first instruction:

$ kubectl create -f https://github.com/IBM/guestbook/blob/master/v2/redis-master-deployment.yaml

error: error parsing https://github.com/IBM/guestbook/blob/master/v2/redis-master-deployment.yaml: error converting YAML to JSON: yaml: line 114: mapping values are not allowed in this context

Having seen the same error in two different clusters, I think the error is with redis-master-deployment.yaml and not with both clusters.

Hope this helps.

Tone analyzer SSL handshake

My Watson Tone Analyser seems to have a problem. I get no tone analysis, and in the tracing I see 500s as a return HTTP code. In the logging it shows up as an SSL error.

SSLError: HTTPSConnectionPool(host='gateway.watsonplatform.net', port=443): Max retries exceeded with url: /tone-analyzer/api/v3/tone?version=2017-09-21&sentences=false (Caused by SSLError(SSLEOFError(8, u'EOF occurred in violation of protocol (_ssl.c:590)'),))

Error shutting down storage: A layer is mounted

When I try to deploy v2 on OpenShift accordingly lab instructions from a Dockerfile the builds are failed with the error: Error shutting down storage: A layer is mounted.
I've tried to repeat all the steps deleting the project but have the same errors during builds.

изображение

Copying blob sha256:6182a456504bb119011b721ede5d1e6cf4d0621447465d80cc1d4e53c0ef95e6
Copying blob sha256:5946d17734ce7686f86222b2d0d804ee5cb06cdb23ee6b056279185289336add
Copying config sha256:40349a2425efb3650843103390e2ace030c4288c96f3619cafb16320ab021efb
Writing manifest to image destination
Storing signatures

Pulling image ubuntu:18.04 ...
Getting image source signatures
Copying blob sha256:40dd5be53814ae70b2898558673b7ea18d58bf7ab3433560b9ce3cb76d9ff0b1
Copying config sha256:c6ad7e71ba7d4969784c76f57c4cc9083aa96bb969d802f2ea38f4aaed90ff93
Writing manifest to image destination
Storing signatures
Adding transient rw bind mount for /run/secrets/rhsm
Adding transient rw bind mount for /run/secrets/etc-pki-entitlement
Adding transient rw bind mount for /run/secrets/redhat.repo
STEP 1: FROM golang:1.15 AS builder
STEP 2: RUN go get github.com/codegangsta/negroni
# cd .; git clone -- https://github.com/codegangsta/negroni /go/src/github.com/codegangsta/negroni
Cloning into '/go/src/github.com/codegangsta/negroni'...
fatal: unable to access 'https://github.com/codegangsta/negroni/': Failed to connect to github.com port 443: Connection timed out
package github.com/codegangsta/negroni: exit status 128
STEP 3: FROM ubuntu:18.04
STEP 4: COPY --from=builder /go//main /app/guestbook
Error shutting down storage: A layer is mounted: layer is in use by a container
error: build error: error building at STEP "RUN go get github.com/codegangsta/negroni": error while running runtime: exit status 1

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.