skip to main content
10.1145/3319647.3325857acmconferencesArticle/Chapter ViewAbstractPublication PagessystorConference Proceedingsconference-collections
poster

Exploring and troubleshooting istio issues

Published: 22 May 2019 Publication History

Abstract

Cloud computing gave rise to a Cloud-native[1] approach for operating application software in the cloud, whereby applications are segmented into micro-services that can be designed and deployed independently of each other. This significantly increases application maintainability, reduces time to market, and helps leveraging cloud computing model. On the other hand, this approach increases the system level complexity of the application and poses new challenges, such as how services discover each other, and how application handles individual service upgrades. To support cloud-native paradigm, new development, deployment, and orchestration tools are created. One of such tools is Istio [2] service mesh, built to connect, secure, control, and observe services. While immensely useful to application developers, Istio is an additional layer in cloud compute platform software stack and is thus prone to failure or misuse.
In this work, we address the question of how to explore and troubleshoot software systems managed by Istio, focusing on micro-services upgrades and versioning. Cloud native applications are not upgraded at once like monolithic applications are. Instead, individual micro-services are gradually upgraded over time, so that older service instances live side by side with newer ones, as part of a single application. Istio supports application upgrades by splitting traffic as defined in configurable resources named virtualservices. When everything is good, Istio relieves operators from overheads related to system upgrades. The question is what happens when something goes wrong, e.g. when Istio is misconfigured. Such errors are inherently hard to detect, especially as overall systems complexity and scale grow.
We have extended a real-time network topology and protocol analyzer, Skydive [4], developed to explore and troubleshoot the physical, the virtual, and the application connectivity in the cloud. To support cloud-native environments, we have developed k8s [3] and Istio probes and contributed them to the community. These probes enrich Skydive object model with k8s objects, e.g. pods and services, as well as with Istio objects, e.g. virtualservices and destinationrules.
We use Bookinfo, an online book store application, to demonstrate how Skydive helps exploring misconfiguration in Istio versioning. One of Bookinfo microservices, called Reviews, has two functionally different versions, and the user expects Istio to split traffic between them according to weights configured in the related virtualservice. Figure 1 presents Skydive's representation of the actual configuration, discovered at run-time by our probes. Using this representation, aided by querying and filtering capabilities of Skydive, one can explore Istio and k8s objects and relationships between them, to debug an undesired versioning behavior.
In the future, we aim at supporting additional use cases, e.g security policies, circuit breakers, timeouts, and retries. We expect that the most value will be derived from multilayer exploration combined with Skydive's capability to capture/inject traffic.

References

[1]
Cloud Native Computing Foundation. https://www.cncf.io/
[2]
Istio. https://istio.io/
[3]
Kubernetes. https://kubernetes.io
[4]
Skydive Project. http://skydive.network

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SYSTOR '19: Proceedings of the 12th ACM International Conference on Systems and Storage
May 2019
211 pages
ISBN:9781450367493
DOI:10.1145/3319647
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

Sponsors

In-Cooperation

  • USENIX Assoc: USENIX Assoc

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 May 2019

Check for updates

Qualifiers

  • Poster

Conference

SYSTOR '19
Sponsor:

Acceptance Rates

Overall Acceptance Rate 108 of 323 submissions, 33%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)9
  • Downloads (Last 6 weeks)0
Reflects downloads up to 18 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media