Giter VIP home page Giter VIP logo

cnand_nd064_c4_observability_starter_files's Introduction

Cloud Native Architecture Nanodegree (CNAND): Observability

This is the public repository for the Observability course of Udacity's Cloud Native Architecture Nanodegree (CNAND) program (ND064).

The Exercise_Starter_Files directory has all of the files you'll need for the exercises found throughout the course.

The Project_Starter_Files directory has the files you'll need for the project at the end of the course.

cnand_nd064_c4_observability_starter_files's People

Contributors

abefeinberg avatar abhiojha8 avatar abrahamfeinberg avatar alexnabokikh avatar ericcgu avatar jasonsmithio avatar mmphego avatar parmou avatar sudkul avatar supirman avatar thiagograbe avatar timirnich avatar uanjali avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

cnand_nd064_c4_observability_starter_files's Issues

pip fails to resolve conflicting dependencies

image

Note: redis-opentracing depends on opentracing >=2.0,<2.1': https://github.com/opentracing-contrib/python-redis/blob/master/setup.py#L16+L19
This becomes an issue when trying to install jaeger-client All versions

image

$ cat tracing-extra/app/requirements.txt

certifi==2020.12.5
chardet==4.0.0
click==7.1.2
Flask-OpenTracing==1.1.0
Flask==1.1.2
gunicorn==20.0.4
idna==2.10
itsdangerous==1.1.0
jaeger-client==4.4.0
Jinja2==2.11.2
MarkupSafe==1.1.1
opentracing==2.4.0
redis-opentracing==1.0.0
redis==3.5.3
requests==2.25.1
six==1.15.0
threadloop==1.0.2
thrift==0.13.0
tornado==6.1
urllib3==1.26.2
Werkzeug==1.0.1

/reference-app/trial/app.py: No module named 'prometheus_client'

Ran: kubectl apply -Rf manifests/app/

Status of pods: CrashLoopBackOff
image

Due to missing dependency/
image

Then, I tried running the app.py inside the container.
image

The verified if prometheus submodule is available on jaeger_client==4.3.0, which isn't
image

The Fix

Add prometheus_client==0.9.0 into the requirements.txt
image

backend service port taken by traefik

At the moment when you deploy the cluster, the backend service can not get port assigned. This is the project

apiVersion: apps/v1
kind: Deployment
metadata:
  name: backend-app
  annotations:
    "sidecar.jaegertracing.io/inject": "true"
spec:
  replicas: 1
  selector:
    matchLabels:
      app: backend
  template:
    metadata:
      labels:
        app: backend
    spec:
      containers:
      - name: backend
        image: martinezi/metrics-backend
        ports:
        - containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
  name: backend-service
spec:
  selector:
    app: backend
  ports:
    - port: 80
      targetPort: 8080
  type: LoadBalancer
➜  Project_Starter_Files-Building_a_Metrics_Dashboard git:(main) ✗ kubectl describe pod svclb-backend-service-zjnx4
Name:           svclb-backend-service-zjnx4
Namespace:      default
Priority:       0
Node:           <none>
Labels:         app=svclb-backend-service
                controller-revision-hash=9fcfcdcf5
                pod-template-generation=1
                svccontroller.k3s.cattle.io/svcname=backend-service
Annotations:    <none>
Status:         Pending
IP:             
IPs:            <none>
Controlled By:  DaemonSet/svclb-backend-service
Containers:
  lb-port-80:
    Image:      rancher/klipper-lb:v0.1.2
    Port:       80/TCP
    Host Port:  80/TCP
    Environment:
      SRC_PORT:    80
      DEST_PROTO:  TCP
      DEST_PORT:   80
      DEST_IP:     10.43.116.140
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-dq4k4 (ro)
Conditions:
  Type           Status
  PodScheduled   False 
Volumes:
  default-token-dq4k4:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-dq4k4
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     CriticalAddonsOnly op=Exists
                 node-role.kubernetes.io/master:NoSchedule op=Exists
                 node.kubernetes.io/disk-pressure:NoSchedule op=Exists
                 node.kubernetes.io/memory-pressure:NoSchedule op=Exists
                 node.kubernetes.io/not-ready:NoExecute op=Exists
                 node.kubernetes.io/pid-pressure:NoSchedule op=Exists
                 node.kubernetes.io/unreachable:NoExecute op=Exists
                 node.kubernetes.io/unschedulable:NoSchedule op=Exists
Events:
  Type     Reason            Age   From               Message
  ----     ------            ----  ----               -------
  Warning  FailedScheduling  6h6m  default-scheduler  0/1 nodes are available: 1 node(s) didn't have free ports for the requested pod ports.

I have done some research, and it seems traefik is already is using the port. I am not sure how to proceed, to get the backend to work.

Failed to download "prometheus-community/kube-prometheus-stack" at version "0.7"

Not sure if this is related to the content under this repo, but it's related to the lessons or project setup

Please note that version 0.7 of "prometheus-community/kube-prometheus-stack" is not available.

image

The only available versions of "prometheus-community/kube-prometheus-stack" are as follows
helm search repo prometheus -l | grep "prometheus-community/kube-prometheus-stack"
image

Vagrantfile wrong 'path' for k3s.sh

The first setup for completing the project is start the virtual machine using:

vagrant up

Nevertheless, the Vagrantfile states:

config.vm.provision "k3s shell script", type: "shell", path: "scripts/k3s.sh", args: args

For consistency, it should be:

config.vm.provision "k3s shell script", type: "shell", path: "k3s.sh", args: args

Another option is ask the student to create the scripts folder and move/copy the bash script there.

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.