Aperçu de Docker et Kubernetes
Déploiement de Rancher
- Machine Provisioning
- Installation du serveur de Rancher
- Présentation de l'interface graphique
Déploiement de Kubernetes
- Installation du cluster Kubernetes
- Management du cluster Kubernetes
- Déploiement applicatif
Author: Oleg Chunikhin, www.eastbanctech.com
Kubernetes is a portable open source system for managing and orchestrating containerized cluster applications. Kubernetes solves a number of DevOps related problems out of the box in a simple and unified way – rolling updates and update rollback, canary deployment and other complicated deployment scenarios, scaling, load balancing, service discovery, logging, monitoring, persistent storage management, and much more. You will learn how in less than 30 minutes a reliable self-healing production-ready Kubernetes cluster may be deployed on AWS and used to host and operate multiple environments and applications.
A Comprehensive Introduction to Kubernetes. This slide deck serves as the lecture portion of a full-day Workshop covering the architecture, concepts and components of Kubernetes. For the interactive portion, please see the tutorials here:
https://github.com/mrbobbytables/k8s-intro-tutorials
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesSlideTeam
Get these visually appealing Kubernetes Concepts And Architecture PowerPoint Presentation Slides to discuss the process of operating containerized applications. You can display the need for containers by the company with the help of an open-source architecture PPT slideshow. The architecture of containers can be demonstrated with the help of a visually appealing PPT slideshow. The reasons for opting for Kubernetes by an organization can be explained to your teammates with the help of containers PowerPoint infographics. Highlight the roadmap for installing Kubernetes in the organization by using content-ready PPT slides. Take the assistance of visually appealing PPT templates to depict the major advantages of Kubernetes such as improving productivity, the stability of application run, and many more. After that, display 30 60 90 days plan to implement Kubernetes in the organization. Display the key components of Kubernetes with the help of a diagram using this professionally designed cluster architecture PPT layouts. Describe the functionality of each components of Kubernetes. Hence, download Kubernetes architecture PPT slides to easily and efficiently manage the clusters. https://bit.ly/34DWa7x
Aperçu de Docker et Kubernetes
Déploiement de Rancher
- Machine Provisioning
- Installation du serveur de Rancher
- Présentation de l'interface graphique
Déploiement de Kubernetes
- Installation du cluster Kubernetes
- Management du cluster Kubernetes
- Déploiement applicatif
Author: Oleg Chunikhin, www.eastbanctech.com
Kubernetes is a portable open source system for managing and orchestrating containerized cluster applications. Kubernetes solves a number of DevOps related problems out of the box in a simple and unified way – rolling updates and update rollback, canary deployment and other complicated deployment scenarios, scaling, load balancing, service discovery, logging, monitoring, persistent storage management, and much more. You will learn how in less than 30 minutes a reliable self-healing production-ready Kubernetes cluster may be deployed on AWS and used to host and operate multiple environments and applications.
A Comprehensive Introduction to Kubernetes. This slide deck serves as the lecture portion of a full-day Workshop covering the architecture, concepts and components of Kubernetes. For the interactive portion, please see the tutorials here:
https://github.com/mrbobbytables/k8s-intro-tutorials
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesSlideTeam
Get these visually appealing Kubernetes Concepts And Architecture PowerPoint Presentation Slides to discuss the process of operating containerized applications. You can display the need for containers by the company with the help of an open-source architecture PPT slideshow. The architecture of containers can be demonstrated with the help of a visually appealing PPT slideshow. The reasons for opting for Kubernetes by an organization can be explained to your teammates with the help of containers PowerPoint infographics. Highlight the roadmap for installing Kubernetes in the organization by using content-ready PPT slides. Take the assistance of visually appealing PPT templates to depict the major advantages of Kubernetes such as improving productivity, the stability of application run, and many more. After that, display 30 60 90 days plan to implement Kubernetes in the organization. Display the key components of Kubernetes with the help of a diagram using this professionally designed cluster architecture PPT layouts. Describe the functionality of each components of Kubernetes. Hence, download Kubernetes architecture PPT slides to easily and efficiently manage the clusters. https://bit.ly/34DWa7x
Traditional virtualization technologies have been used by cloud infrastructure providers for many years in providing isolated environments for hosting applications. These technologies make use of full-blown operating system images for creating virtual machines (VMs). According to this architecture, each VM needs its own guest operating system to run application processes. More recently, with the introduction of the Docker project, the Linux Container (LXC) virtualization technology became popular and attracted the attention. Unlike VMs, containers do not need a dedicated guest operating system for providing OS-level isolation, rather they can provide the same level of isolation on top of a single operating system instance.
An enterprise application may need to run a server cluster to handle high request volumes. Running an entire server cluster on Docker containers, on a single Docker host could introduce the risk of single point of failure. Google started a project called Kubernetes to solve this problem. Kubernetes provides a cluster of Docker hosts for managing Docker containers in a clustered environment. It provides an API on top of Docker API for managing docker containers on multiple Docker hosts with many more features.
History and Basics of containers, LXC, Docker and Kubernetes. This presentation is given to Engineering colleage students at VIT DevFest 2018. Beginner to Intermediate level.
Kubernetes for Beginners: An Introductory GuideBytemark
An introduction to Kubernetes for beginners. Includes the definition, architecture, benefits and misconceptions of Kubernetes. Written in plain English, ideal for both developers and non-developers who are new to Kubernetes.
Find out more about Kubernetes at Bytemark here: https://www.bytemark.co.uk/managed-kubernetes/
An Operator is an application that encodes the domain knowledge of the application and extends the Kubernetes API through custom resources. They enable users to create, configure, and manage their applications. Operators have been around for a while now, and that has allowed for patterns and best practices to be developed.
In this talk, Lili will explain what operators are in the context of Kubernetes and present the different tools out there to create and maintain operators over time. She will end by demoing the building of an operator from scratch, and also using the helper tools available out there.
A basic introductory slide set on Kubernetes: What does Kubernetes do, what does Kubernetes not do, which terms are used (Containers, Pods, Services, Replica Sets, Deployments, etc...) and how basic interaction with a Kubernetes cluster is done.
** Kubernetes Certification Training: https://www.edureka.co/kubernetes-certification **
This Edureka tutorial on "Kubernetes Architecture" will give you an introduction to popular DevOps tool - Kubernetes, and will deep dive into Kubernetes Architecture and its working. The following topics are covered in this training session:
1. What is Kubernetes
2. Features of Kubernetes
3. Kubernetes Architecture and Its Components
4. Components of Master Node and Worker Node
5. ETCD
6. Network Setup Requirements
DevOps Tutorial Blog Series: https://goo.gl/P0zAfF
If you’re working with just a few containers, managing them isn't too complicated. But what if you have hundreds or thousands? Think about having to handle multiple upgrades for each container, keeping track of container and node state, available resources, and more. That’s where Kubernetes comes in. Kubernetes is an open source container management platform that helps you run containers at scale. This talk will cover Kubernetes components and show how to run applications on it.
Traditional virtualization technologies have been used by cloud infrastructure providers for many years in providing isolated environments for hosting applications. These technologies make use of full-blown operating system images for creating virtual machines (VMs). According to this architecture, each VM needs its own guest operating system to run application processes. More recently, with the introduction of the Docker project, the Linux Container (LXC) virtualization technology became popular and attracted the attention. Unlike VMs, containers do not need a dedicated guest operating system for providing OS-level isolation, rather they can provide the same level of isolation on top of a single operating system instance.
An enterprise application may need to run a server cluster to handle high request volumes. Running an entire server cluster on Docker containers, on a single Docker host could introduce the risk of single point of failure. Google started a project called Kubernetes to solve this problem. Kubernetes provides a cluster of Docker hosts for managing Docker containers in a clustered environment. It provides an API on top of Docker API for managing docker containers on multiple Docker hosts with many more features.
History and Basics of containers, LXC, Docker and Kubernetes. This presentation is given to Engineering colleage students at VIT DevFest 2018. Beginner to Intermediate level.
Kubernetes for Beginners: An Introductory GuideBytemark
An introduction to Kubernetes for beginners. Includes the definition, architecture, benefits and misconceptions of Kubernetes. Written in plain English, ideal for both developers and non-developers who are new to Kubernetes.
Find out more about Kubernetes at Bytemark here: https://www.bytemark.co.uk/managed-kubernetes/
An Operator is an application that encodes the domain knowledge of the application and extends the Kubernetes API through custom resources. They enable users to create, configure, and manage their applications. Operators have been around for a while now, and that has allowed for patterns and best practices to be developed.
In this talk, Lili will explain what operators are in the context of Kubernetes and present the different tools out there to create and maintain operators over time. She will end by demoing the building of an operator from scratch, and also using the helper tools available out there.
A basic introductory slide set on Kubernetes: What does Kubernetes do, what does Kubernetes not do, which terms are used (Containers, Pods, Services, Replica Sets, Deployments, etc...) and how basic interaction with a Kubernetes cluster is done.
** Kubernetes Certification Training: https://www.edureka.co/kubernetes-certification **
This Edureka tutorial on "Kubernetes Architecture" will give you an introduction to popular DevOps tool - Kubernetes, and will deep dive into Kubernetes Architecture and its working. The following topics are covered in this training session:
1. What is Kubernetes
2. Features of Kubernetes
3. Kubernetes Architecture and Its Components
4. Components of Master Node and Worker Node
5. ETCD
6. Network Setup Requirements
DevOps Tutorial Blog Series: https://goo.gl/P0zAfF
If you’re working with just a few containers, managing them isn't too complicated. But what if you have hundreds or thousands? Think about having to handle multiple upgrades for each container, keeping track of container and node state, available resources, and more. That’s where Kubernetes comes in. Kubernetes is an open source container management platform that helps you run containers at scale. This talk will cover Kubernetes components and show how to run applications on it.
Provided an overview about Hybrid Networking including Containers and VM. It also touches upon opensource solutions like Openstack Kuryr, Opendaylight.
Overview of OpenDaylight Container Orchestration Engine IntegrationMichelle Holley
Looking for a way to deploy a stable OpenStack Cloud Environment with Opendaylight at ease? This session is about learning to deploy a Cloud environment with OPNFV Fuel deployer. Fuel is a deployment tool which deploys a wide variety of distributions with third party plugins like OpenDayLight, while abstracting out complexities of the deployment. The intent of this session is to familiarize deployment of OpenStack with OpenDaylight.
About the presenter: Pramod Raghavendra Jayathirth is a software developer in OpenStack and OpenDayLight, working for OTC, SSG at Intel. His Area of Interest is in Cloud Networking and Applications. He has prior experience in Databases and his current focus is on developing features of Cloud Networking Platform. He holds Masters Degree from San Jose State University.
Kubernetes: від знайомства до використання у CI/CDStfalcon Meetups
Kubernetes: від знайомства до використання у CI/CD
Олександр Занічковський
Technical Lead у компанії SoftServe
14+ років досвіду розробки різноманітного програмного забезпечення, як для десктопа, так і для веб
Працював фріланс-програмістом та в команді
Цікавиться архітектурою ПЗ, автоматизацією процесів інтеграції та доставки нових версій продукту, хмарними технологіями
Віднедавна займається менторінгом майбутніх техлідів
У вільний від роботи час грає на гітарі і мріє про велику сцену
Олександр поділиться власним досвідом роботи з Kubernetes:
ознайомить з базовими поняттями та примітивами K8S
опише можливі сценарії використання Kubernetes для CI/CD на прикладі GitLab
покаже, як можна використовувати постійне сховище, збирати метрики контейнерів, використовувати Ingress для роутинга запитів за певними правилами
покаже, як можна самому встановити K8S для ознайомлення чи локальної роботи
This talk is a gentle introduction to the core concepts required to successfully deploy your first few apps to Kubernetes, followed by an overview of the Kubernetes architecture to enable you to understand how to deploy a cluster yourself. The tool kubeadm is then used to easily set up Kubernetes clusters on any computers running Linux. We'll then try out the theory we learned by deploying some Pods, Deployments and Services to our new cluster and observing their behaviour.
Project Gardener - EclipseCon Europe - 2018-10-23msohn
Open Source project Gardener (https://gardener.cloud) is a production-grade Kubernetes-as-a-Service management tool that works across various cloud-platforms (e.g, AWS, Azure, GCP, Alibaba & SAP Datacenters) and on-premise (e.g. with OpenStack)
How to Install and Use Kubernetes by Weaveworks Weaveworks
Kubernetes is exploding with over 10,000 people in the Kubernetes Slack channel and hundreds joining every day. Why is it so popular with software developers and DevOps folks? This talk covers:
• The benefits of using containers and microservices
• An overview of Kubernetes concepts including Pods, Replica Sets, Deployments, Services and Selectors, and how they all fit together
• How to install your own Kubernetes cluster onto any machine running Linux
• How to deploy the microservices sample app, the Sock Shop, to a Kubernetes cluster
For more information read our blog: https://www.weave.works/blog/k8s-future-simplified-kubernetes-installation/
Interested in future Weave Events? Please join our Meetup group: https://www.meetup.com/Weave-User-Group/
Kubernetes Clusters as a Service with GardenerQAware GmbH
Cloud Native Night November 2018, Munich: Talk by Dirk Marwinski (SAP).
Join our Meetup: www.meetup.com/cloud-native-muc
Abstract: There are many Open Source tools which help in creating and updating single Kubernetes clusters. Corporations usually require many clusters, depending on their size they may require hundreds or even thousands of clusters. However, the more clusters you need the harder it becomes to operate, monitor, manage, and keep all of them alive and up-to-date.
That is exactly what open source project “Gardener” focuses on. It is not just another provisioning tool, but it is rather designed to manage Kubernetes clusters as a service. It provides Kubernetes-conformant clusters on various cloud providers and the ability to maintain hundreds or thousands of them at scale. At SAP, we face this heterogeneous multi-cloud & on-premise challenge not only in our own platform, but also encounter the same demand at all our larger and smaller customers implementing Kubernetes & Cloud Native.
Inspired by the possibilities of Kubernetes and the ability to self-host, the foundation of Gardener is Kubernetes itself. While self-hosting, as in, to run Kubernetes components inside Kubernetes is a popular topic in the community, we apply a special pattern catering to the needs of operating a huge number of clusters with minimal total cost of ownership.
In this session Dirk will provide a comprehensive overview of Gardener, the underlying concepts, and talk about interesting implementation details. In addition there will be a hands-on sessions where attendants will be given free access to a Gardener instance and given the opportunity to dynamically create Kubernetes cluster and test them.
Serverless is a good pattern when it comes to saving infrastructure resources: why should you run apps when there’s nothing to do? The open source project Knative is often used to run functions as serverless apps in Kubernetes clusters.
In this talk, you’ll see how to leverage Knative for Kubernetes apps, not only functions. Check out how to apply serverless patterns to an existing Spring Boot / Nodejs app (backend / frontend) with a live demo.
K8s in 3h - Kubernetes Fundamentals TrainingPiotr Perzyna
Kubernetes (K8s) is an open-source system for automating deployment, scaling, and management of containerized applications. This training helps you understand key concepts within 3 hours.
Cloud Native Night, April 2018, Mainz: Workshop led by Jörg Schad (@joerg_schad, Technical Community Lead / Developer at Mesosphere)
Join our Meetup: https://www.meetup.com/de-DE/Cloud-Native-Night/
PLEASE NOTE:
During this workshop, Jörg showed many demos and the audience could participate on their laptops. Unfortunately, we can't provide these demos. Nevertheless, Jörg's slides give a deep dive into the topic.
DETAILS ABOUT THE WORKSHOP:
Kubernetes has been one of the topics in 2017 and will probably remain so in 2018. In this hands-on technical workshop you will learn how best to deploy, operate and scale Kubernetes clusters from one to hundreds of nodes using DC/OS. You will learn how to integrate and run Kubernetes alongside traditional applications and fast data services of your choice (e.g. Apache Cassandra, Apache Kafka, Apache Spark, TensorFlow and more) on any infrastructure.
This workshop best suits operators focussed on keeping their apps and services up and running in production and developers focussed on quickly delivering internal and customer facing apps into production.
You will learn how to:
- Introduction to Kubernetes and DC/OS (including the differences between both)
- Deploy Kubernetes on DC/OS in a secure, highly available, and fault-tolerant manner
- Solve operational challenges of running a large/multiple Kubernetes cluster
- One-click deploy big data stateful and stateless services alongside a Kubernetes cluster
Recent momentum around the evolution of Containers are gradually increase in last two years.Containers virtualize an OS and applications running in each container believe that they have full access to their very own copy of that OS. This is analogous to what VMs do when they virtualize at a lower level, the hardware. In the case of containers, it’s the OS that does the virtualization and maintains the illusion.
Recent past many software companies have quickly adopted container technologies, including Docker Containers, aware of the threat and advantage of the approach. For example, Linux companies have also jumped into the ground, seeing as this as an opportunity to grow the Linux market. Also Microsoft is going to add features to support containers and VMware have made efforts in integrating support for Docker into virtual machine technology.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
2. Who Are You: Yuki Nishiwaki
● Develop/Operate OpenStack based Private Cloud
● Plan/Develop/Operate Kubernetes as a Service
● Excitingly simple multi-path OpenStack Networking (May 2018, OpenStack Summit)
Recent Talk
Current Role
4. The position against k8s from me
。。。。
。。。。
。
。。
。
。
。。
。
OpenStack based Private Cloud
Operator/Developer for Private Cloud
Server Network Database …..
Me
New Resource Type
5. Verda Kubernetes as a Service - Background
● We’ve seen about 600 k8s node users deployed/used on our Private Cloud
● Many teams find easy way/struggle to use/operate k8s
Problem description
● Operating k8s is not such a small burden every
developer can handle in spare time
● Knowledge of k8s operation is fragmented
New Resource Type
For Verda User
6. Verda Kubernetes as a Service - Target
● Provide stable Kubernetes Cluster to Verd User
○ Don’t have to automate everything but we will take responsibility to operate
● Provide API to Verda User
○ CREATE/DELETE Kubernetes Cluster (UPGRADE is not the target at the moment)
○ ADD/REMOVE Node
● Provide “Service Desk”
○ To advise/consider how to use with Verda User(Application developer)
New Resource Type
For Verda User
7. Verda Kubernetes as a Service - Status of Project
● Start Project since May 2018
○ Pretty late, relatively
● Decided to utilize existing software(OSS)
○ Reduce lead time as much as possible
○ Rancher 2.0 is one of the candidates we will use
■ We are thinking to use Rancher 2.0 for Phase 1
● Still deciding which is good to use for managing k8s part
○ Or Will we have to develop from scratch?
8. Less dependent design - Still considering
Verda Kubernetes as a Service
Provider Plugin
Rancher
API
Our own API schema
????
Cluster
Node We use Rancher as tool to provide
* Create k8s
* Monitor k8s
* Update k8s
* Add Node to k8s cluster
* Remove Node from k8s cluster
????
9. Roadmap
Phase1 (2018/09/01)
* This is First release
* No change for Kubernetes/Rancher
* Support only basic k8s cluster
* Support Limited Number of Cluster
* Train ourselves
* For Rancher (because we depended)
Phase3 (Planning)
* Enhance k8s support
* CRD/Controller for in-house Component
* Prepare skeleton template to make it easy
to start development
* Consider solution about how k8s cover
whole system including VM (kubevirt)
Phase 1
Phase2 (Planning)
* Enhance VKS control plane(Tune Rancher)
* Support More Clusters
* Enhance monitoring item
* Enhance GUI
* Enhance k8s support
* Support Type Loadbalancer for in-house LB
* Support Persistent Volume
* Optimizing Container Networking
* Train ourselves
* For Kubernetes, Etcd
Phase 3Phase 2
11. What’s Rancher?
● Container Management Tool
● Support to deploy Container Orchestration Tool itself like Kubernetes
● Make “Container Orchestration itself” abstract and Provide rich UI
● UI allow you to deploy your container workload easier than native console
● UI allow you to use well-tested catalog
12. Rancher 2.0 Released (May 1 2018)
● Focus on using Kubernetes as a Container Orchestration Platform
● Re-design to work on Kubernetes from scratch
● Re-Implement from scratch
● Introduce Rancher Kubernetes Engine (RKE)
● Unified Cluster Management including GKE, EKS… as well as RKE
● Application Workload Management
13. Rancher 2.0
● Focus on using Kubernetes as a Container Orchestration Platform
● Re-design to work on Kubernetes from scratch
● Re-Implement from scratch
● Introduce Rancher Kubernetes Engine (RKE)
● Unified Cluster Management including GKE, EKS… as well as RKE
● Application Workload Management
Our Interest as a backend
For our “k8s as a service“
14. Rancher 2.0
● Focus on using Kubernetes as a Container Orchestration Platform
● Re-design to work on Kubernetes from scratch
○ Don’t have to understand multiple container orchestrators
● Re-Implement from scratch
○ Readable amount of code (about 50,000~80,000 lines except for vendoring)
● Introduce Rancher Kubernetes Engine (RKE)
○ Support Deploy/Upgrade/Monitor Kubernetes cluster
○ Less requirements for the environment to build k8s
● Unified Cluster Management including GKE, EKS… as well as RKE
● Application Workload Management
Our Interest as a backend
For our “k8s as a service“
15. As a context: backend for Verda K8s as a Service
● In our use case, User/Operator for Rancher is different
○ Operator: Cloud Operator (us)
○ User: Application Developers for LINE Service
● Down time of Rancher affect to many users
Need to know well about How Rancher works
19. 1. Rancher Overview
1. Rancher Overview
1.1. Casts in Rancher 2.0
1.2. What Server does?
1.3. What Agent does?
1.4. Summary
2. Rancher Server Internal
2.1. Rancher API
2.2. Rancher Controllers
2.3. Example Controllers
20. 1.1. Casts in Rancher 2.0
rancher
server
Node1 Node2 Node3
rancher
node-agent
rancher
node-agent
rancher
node-agent
rancher
cluster-agent➢ Rancher Server
➢ Rancher Cluster Agent
➢ Rancher Node Agent
Parent Kubernetes
Child Kubernetes
deployed by Rancher
Child Kubernetes
deployed by Rancher
Parent k8s: k8s working with rancher
Child k8s: k8s deployed by rancher
21. 1.2. What Server does?
Server
API Controllers
CRD
Kind: Cluster
Node1 Node2 Node3
rancher
node-agent
rancher
node-agent
rancher
node-agent
rancher
cluster-agent
Child Kubernetes
deployed by Rancher
Child Kubernetes
deployed by Rancher
CRD
Kind: Node
All data stored
as CRD in k8s
Watch CRD
Deploy
Monitor Cluster/Sync Data
Call docker/k8s API via websocket, If need.
Don’t access to docker/k8s api directly from rancher server
Websocket session
Point 2 Point 3
Point 4
Point 5
Point 1
Provide API
22. 1.2. What Server does?
Server
API Controllers
CRD
Kind: Cluster
Node1 Node2 Node3
rancher
node-agent
rancher
node-agent
rancher
node-agent
rancher
cluster-agent
Child Kubernetes
deployed by Rancher
Child Kubernetes
deployed by Rancher
CRD
Kind: Node
Provide unified access to multiple k8s cluster
Point 6
23. 1.3. What Agent does?
Node Agent
Node A
Cluster Agent
Child Kubernetes
Node Agent
Node B
Parent Kubernetes
Server
Dialer API
(pkg/dialer)
RkeNodeConfig API
(pkg/rkenodeconfigserver)
Controllers
websocket session
(/v3/connect)
/v3/connect/config
Use session
For access
(k8s, docker)
Rancher Agent basically establishes websocket to provide TCP Proxy
and just checks NodeConfig periodically. Almost all configurations
will be done/triggered by controllers through websocket
Point 3
Establish websocket session
Point 1 Provide TCP Proxy
via websocket
Point 2
Check If file,container need to
create/run or not periodically
24. 1.4. Rancher 2.0 overview summary
Almost all logics are in Rancher Server and Agent is just sitting as a TCP Proxy
Server in k8s deployed for Rancher Server
● Rancher Server
a. All data for Rancher stored as CRD in Kubernetes (translating Rancher’s resource into CRD)
b. Rancher’s API is kind of proxy to Kubernetes API
c. Rancher have various controllers to watch CRD resources in parent k8s to deploy k8s
(Management Controllers)
d. Rancher have various controllers to watch CRD resources in parent k8s to inject some data
to k8s deployed (User Controllers)
e. Use websocket session to access deployed Node or K8s Cluster.
● Rancher Agent
a. Establish websocket to provide TCP Proxy
b. Check periodically if node need to create something file or run something container
Parent k8s: k8s working with rancher
Child k8s: k8s deployed by rancher
If we want to know more about How Rancher maintain
Kubernetes Cluster, It’s enough to see just Rancher Server.
Because Agent is just to provide proxy.
25. 2. Rancher Server
Internal
1. Rancher Overview
1.1. Casts in Rancher 2.0
1.2. What Server does?
1.3. What Agent does?
1.4. Summary
2. Rancher Server Internal
2.1. Rancher API
2.2. Rancher Controllers
2.3. Example Controllers
26. 2.1. Rancher API
Server
API Controllers
CRD
Kind: Cluster
CRD
Kind: Node
Node1 Node2 Node3
rancher
node-agent
rancher
node-agent
rancher
node-agent
rancher
cluster-agent
Child Kubernetes
deployed by Rancher
All data stored
as CRD in k8s
Point 2
Point 1
Provide API
27. 5 types of API
Server
Controllers
API
Parent Kubernetes
➢ API can be classified into 5 types
➢ Some API is for only Agent
○ API for user
■ Management
■ Auth
■ K8s Proxy
○ API for agent
■ Dialer
■ RKE Node Config
Auth API
Management API
K8s Proxy API
Dialer API
RKE Node Config API
Main
/v3-public
/v3/token
/v3/
/k8s/clusters
/v3/connect
/v3/connect/register
/v3/connect/config Agent
User
2.1. Rancher API
28. Management API
Server
Controllers
API
Parent Kubernetes
Auth API
Management API
K8s Proxy API
Dialer API
RKE Node Config API
Main
/v3/
Child Kubernetes
deployed by Rancher
Create/Update/Get
Resource
Create/Update/Get
Resource
POST
/v3/cluster
POST
/v3/project/
<cluster-id>:<project-id>/pods
CRD
Cluster
PodAgent
depending on Path
Use TCP Proxy
Cluster Agent provide
2.1. Rancher API
29. K8s Proxy API
Server
API
Parent Kubernetes
Management API
Dialer API
RKE Node Config API
Main
Child Kubernetes
deployed by Rancher
CRD
Token
Auth API
Authenticate with User CRD
resource for Rancher API
K8s Proxy API
Controllers
Websocket
Sessions
Agent
Call Child K8s API via TCP Proxy via Websocket
GET /k8s/clusters/<cluster>
/api/v1/componentstatuses
/k8s/clusters
GET
/api/v1/componentstatuses
2.1. Rancher API
30. Dialer API
Server
API
Parent Kubernetes
Management API
RKE Node Config API
Main
Child Kubernetes
deployed by Rancher
Auth API
K8s Proxy API
Controllers
Websocket
Sessions
Agent
Dialer API
/v3/connect
/v3/connect/register
wss://<rancher-server>/v3/connect
CRD
ClusterRegisterToken
Start Provide
TCP Proxy via websocket
Check which cluster
Does agent belong to
Add websocket session for “K8s Proxy” and
Controllers to use TCP Proxy
2.1. Rancher API
31. RKE Node Config API
Server
API
Parent Kubernetes
Management API
Main
Child Kubernetes
deployed by Rancher
Auth API
K8s Proxy API
Controllers
Agent
Dialer API
RKE Node Config API/v3/connect/config
CRD
Cluster
RKE
library
Check Config
Generate
NodeConfig
According to NodeConfig
- Create File
- Create container via docker
2.1. Rancher API
32. 2.2. Rancher Controllers
Server
API Controllers
CRD
Kind: Cluster
Node1 Node2 Node3
rancher
node-agent
rancher
node-agent
rancher
node-agent
rancher
cluster-agent
Child Kubernetes
deployed by Rancher
CRD
Kind: Node
Watch CRD
Deploy
Monitor Cluster/Sync Data
Call docker/k8s API via websocket, If need.
Don’t access to docker/k8s api directly from rancher server
Websocket session
Point 3
Point 4
Point 5
33. API Controllers
Management
Controllers
Cluster(User)
Controllers
Workload Controllers
4 types of Controllers
Server
API
Controllers
Parent Kubernetes
Create
Resource
Watch
Resource
➢ Rancher Controllers can be classified
into 4 types of group
➢ Each group have own trigger to start
➢ Triggered when Server start
○ API Controllers
○ Management Controllers
➢ Triggered when new Cluster detected
○ Cluster(User) Controllers
○ Workload Controllers
2.2. Rancher Controllers
34. API Controllers
Management
Controllers
Cluster(User)
Controllers
Workload Controllers
API Controllers
Server
API
Controllers
Parent Kubernetes
Create
Resource
Watch
Resource
Configure
➢ Watch CRD resource related to API
Server Configuration
○ settings
○ dynamicschemas
○ nodedrivers
➢ Configure API server according to
the change of resource
2.2. Rancher Controllers
35. API Controllers
Management
Controllers
Cluster(User)
Controllers
Workload Controllers
Management Controllers
Server
API
Controllers
Parent Kubernetes
Create
Resource
Watch
Resource
Provisioning/Update Cluster
Start Cluster(User),
Workload Controllers
Child Kubernetes
deployed by Rancher
➢ Watch Cluster/Node related CRD
➢ Provision/Update Cluster according
to the change of resource
➢ After Provision, Start Cluster(User),
Workload Controllers to start data
sync and monitor
2.2. Rancher Controllers
36. API Controllers
Management
Controllers
Cluster(User)
Controllers
Workload Controllers
Cluster(User) Controllers
Child Kubernetes
deployed by Rancher
Server
Controllers
Parent Kubernetes
Create
Resource
Watch
ResourceCreate
Resource
Watch
Resource
Update/Create CRD
According to Child K8s
Update/Create
Resource including Pod
According to Parent K8s CRD
36
Cluster CRD
Secret
Alerts CRD
Status
Spec
Node
For updating CRD in Parent K8s
Resource Sync between Parent and Child K8s
2.2. Rancher Controllers
37. API Controllers
Management
Controllers
Cluster(User)
Controllers
Workload Controllers
Workload Controllers
Child Kubernetes
deployed by Rancher
Server
API
Controllers
Parent Kubernetes
Create
Resource
Watch
ResourceCreate
Resource
Watch
Resource
The Simple Custom Controller to extend K8s
➢ Watch only resource@Child K8s
➢ Create/Update additional resource
➢ These Controller are more like
enhancing K8s feature itself
2.2. Rancher Controllers
39. Cluster Controller Implement (pkg/controllers/management)
Parent k8s
Server
Cluster Controller
(one of management controllers)
handlers
lifecycles
cluster-provisioner-controller
cluster-agent-controller
cluster-scoped-gc
cluster-deploy
cluster-stats
CRD
Cluster A
Informer
Child k8s
Cluster A
watch
Execute
deploy
Node Agent Cluster Agent
deploy
Cluster(User) Controllers
Alerts ingress ...
Run Cluster Controllers for Cluster A
CRD
Node A
CRD
Node B
Update Cluster Collect status
2.3. Example Controllers
40. Node Controller Implement (pkg/controllers/management)
Parent k8s
CRD
Node A
CRD
Node B
Server
Node Controller
(one of management controllers)
handlers
lifecycles
node-controller
cluster-provisioner-controller
cluster-stats
nodepool-provisioner
Informer
watch
Execute
VM
Node Agent
Managements
Controllers
Cluster
Controller
NodePool
Controller
Just trigger handlers
Run Node Agent
Create VM If
doesn’t exist
Call wss://<server>/v3/connect/register
To register node into specific cluster
docker-machine
trigger handlers
Create VM
2.3. Example Controllers
41. Cluster(Project)Logging Controller Implement
(pkg/controller/user/logging/)
Parent k8s CRD
ClusterLogging
Server
Child k8s
ClusterLogging Controller
lifecycle
cluster-logging-controllerInformer
Execute
ProjectLogging Controller
Almost same as
ClusterLogging Controller
Watch
Daemonset
cluster.conf
ConfigMap
project.conf
ConfigMap
/var/lib/docker/containers/
/var/log/containers/
/var/log/pods
/var/lib/rancher/rke/log
HostPath
Mount
Mount
Mount
Deploy
Update
Out of Scope
Send logs
2.3. Example Controllers
42. How I look Rancher 2.0
In the context of backend for Verda k8s as a Service
43. Good thing: we are thinking to utilize
● Less requirement for environment to run
○ but this cause some scalability limitation at the same time though...
● There are some interesting Controllers like alert, logging, eventsync …
○ We can utilize these feature to manage K8s Cluster
● Easy to modify/add Rancher behaviour thanks to Norman Framework
○ We will utilize this framework to extend even for k8s
44. Not good thing: we are thinking to improve
● Poor Document (Currently reading code is only way to know)
○ Norman Framework that Rancher actively used is also less document
● Doesn’t support Active-Active HA
○ Scalability limitation cannot be avoided
● 1 binary that have ton of features make it difficult to do performance tuning
● Even for K8s Proxy API, we can not deploy multiple process because that
feature depend on websocket session to cluster-agent
● Poor monitoring relying on kubelet and componentstatus
● Upgrading Strategy is just to replace old container with new one. Is it enough?
https://github.com/rancher/rke/blob/master/services/kubeapi.go#L15 , https://github.com/rancher/rke/blob/master/docker/docker.go#L72
46. Future Works
● Use Rancher 2.0 as a backend to manage k8s without any change at Phase 1
○ Modify Rancher and Give feedback to community in the long run after Phase 1 release
■ Enhance scalability
■ Enhance monitoring
■ Cut(or Disable) many unneeded features to us
● Enrich Kubernetes deployed by RKE
○ Support Type Loadbalancer for our XDP based Loadbalancer
○ Support Persistent Volume
○ Add CRD/Controller to support our In-house Component like Kafka, Database as a Service
■ We want Kubernetes to be orchestration tool for System not for Container
● Need more k8s/etcd itself knowledge
○ !!!!Read Code!!!! Not only just books/documents!!
■ Kubernetes
■ Etcd
47. We are hiring people!!!
● Love to understand/customize OSS at source code level
○ Kubernetes
○ Etcd
○ OpenStack
○ Rancher
○ Ceph...
https://linecorp.com/ja/career/position/827
https://linecorp.com/ja/career/position/564
48. Appendix
I straighten my understandings as a diagram.
It’s available in (https://github.com/ukinau/rancher-analyse)
49. VKS-API
Server
VKS-API
Server
K8s Proxy
K8s Proxy
XXX API
After start service, see the
performance and consider
to separate/scaleWithout touching anything
If we can not scale
Rancher Server anymore,
we will add one more
cluster.
Phase 1 Phase 2
Rancher Scalability Improvement
Scheduling
Other
Datastore
Use other datastore
for some data
Extra Monitoring
Enhance
Monitoring
Point 2
Point 1
Point 3
Point 4Appendix
50. Support Type Loadbalancer for in-house LB
We have our own LB
implementation for scaling
Deploy/Configure
Deploy Service with Type Loadbalancer
for our in-house LB
Type
Loadbalancer
In-house LB *1
*1 https://www.janog.gr.jp/meeting/janog40/application/files/6115/0105/4928/janog40_sp6lb.pdf
Appendix
51. Be friend with In-house Components
We provide many type
of managed as service
Deploy/Configure
Deploy Application with
information for managed service
Update IP ACL….
And so on
User configure
managed service
separately from
application lifecycle
Appendix
52. Be friend with In-house Components
Deploy/Configure
Deploy Application with CRD
CRD for
In-house
Component
Custom
Controller
User can configure
managed service with
application lifecycle
Appendix