CNCF Projects Overview
-
Upload
neependra-khare -
Category
Software
-
view
327 -
download
0
Transcript of CNCF Projects Overview
About the Presenter • Founder and Principal Consultant at CloudYuga
• Docker Captain
• Author of “Introduction to Kubernetes” course on Edx
• Author of Docker Cookbook
• Co-author of “Introduction to Cloud Infrastructure Technologies” course on Edx
• Self Paced online courses at school.cloudyuga.guru
• Containers Fundamentals - Docker, runC & rkt, online self paced course (2017)
• Containers (Docker) for Dev and QA , online self paced course (2017)
CNCF• A Linux Foundation Project
• Aims to acceleration adoption of containers, microservices and cloud native application
• CNCF hosts procjects like Containerd, Kubernetes but they work under their pre-existing governance structure.
• New projects can be added
Container Runtime Containerd
• Container runtime
• Available as daemon on Linux and Windows
• Uses runC to run containers
• Manages complete life-cycle of containers
• image transfer and storage
• container execution and supervision
• low level storage
• network attachment
• Exposes gRPC APIs over local Unix socket
Container Runtime rkt
• Container runtime
• Available on Linux
• Supports swappable execution engines
• Can run Docker and OCI images
• Currently it based on appc specification. Development is progress to fully support OCI images and runtimes.
Remote Procedure Call
• High performance
• Open source Universal RPC
• With gRPC, we define a service
• specifies methods that can be called remotely
• uses Protocol Buffers as Interface Definition Language (IDL)
• Protocol Buffers are a language and platform neutral mechanism to serialise structured data
• Bi-directional streaming with integrated auth
https://grpc.io
Container Networking Container Network Interface (CNI)
Container Runtime
Container Network Interface
Loopback Plugin
Bridge Plugin
MACvlan Plugin
IPvlan Plugin
3rd Party Plugins
Orchestration Kubernetes
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.
• Kubernetes features • Automatic binpacking • Self-healing • Horizontal scaling • Service discovery and load balancing • Automated rollouts and rollbacks • Secrets and configuration management • Storage orchestration • Batch execution
DNS & Service Discovery CoreDNS
• Provides DNS and Service Discovery
• DNS functions are implemented as middlewares like
• Kubernetes Service Discovery
• Re-writing queries
• loadbalance
• …
• CoreDNS chains middlewares, based on requirement
• Can replace kube-dns in Kubernetes
Service Mesh Linkerd
• Layer 5 Proxy
• Work with HTTP, HTTP/2, gRPC (not raw TCP)
• Provides
• Service Discovery ( Kubernetes, Marathon, Swarm)
• Intelligent Load Balancing
• Retries (Improve success rate)
• Circuit Breakers (Improve resilience)
• Metrics and Tracing
Logging Fluentd
• Unified Logging with JSON
• Pluggable Architecture
• Minimum Resources Required
• Built-in Reliabilityhttps://www.fluentd.org/architecture
Tracing OpenTracing
• Standard instrumentation APIs
• Tracing tools, that uses OpenTracing
• Zipkin
• LightStep
• Jaeger
• Hawkular
• ….
References • http://cncf.io
• http://kubernetes.io/
• https://prometheus.io/
• http://opentracing.io/
• http://fluentd.org/
• https://www.linkerd.io/
• http://www.grpc.io/
• https://coredns.io/
• http://containerd.io/
• https://github.com/rkt/rkt
• https://github.com/containernetworking