Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
The Complete Kubernetes Guide

You're reading from   The Complete Kubernetes Guide Become an expert in container management with the power of Kubernetes

Arrow left icon
Product type Course
Published in May 2019
Publisher Packt
ISBN-13 9781838647346
Length 628 pages
Edition 1st Edition
Arrow right icon
Authors (3):
Arrow left icon
Jesse White Jesse White
Author Profile Icon Jesse White
Jesse White
Gigi Sayfan Gigi Sayfan
Author Profile Icon Gigi Sayfan
Gigi Sayfan
Jonathan Baier Jonathan Baier
Author Profile Icon Jonathan Baier
Jonathan Baier
Arrow right icon
View More author details
Toc

Table of Contents (26) Chapters Close

Title Page
Copyright and Credits
About Packt
Contributors
Preface
1. Introduction to Kubernetes FREE CHAPTER 2. Understanding Kubernetes Architecture 3. Building a Foundation with Core Kubernetes Constructs 4. Working with Networking, Load Balancers, and Ingress 5. Using Critical Kubernetes Resources 6. Exploring Kubernetes Storage Concepts 7. Monitoring and Logging 8. Monitoring, Logging, and Troubleshooting 9. Operating Systems, Platforms, and Cloud and Local Providers 10. Creating Kubernetes Clusters 11. Cluster Federation and Multi-Tenancy 12. Cluster Authentication, Authorization, and Container Security 13. Running Stateful Applications with Kubernetes 14. Rolling Updates, Scalability, and Quotas 15. Advanced Kubernetes Networking 16. Kubernetes Infrastructure Management 17. Customizing Kubernetes - API and Plugins 18. Handling the Kubernetes Package Manager 19. The Future of Kubernetes 1. Other Books You May Enjoy Index

Service discovery


As we discussed earlier, the Kubernetes master keeps track of all service definitions and updates. Discovery can occur in one of three ways. The first two methods use Linux environment variables. There is support for the Docker link style of environment variables, but Kubernetes also has its own naming convention. Here is an example of what our node-js service example might look like using K8s environment variables (note that IPs will vary):

NODE_JS_PORT_80_TCP=tcp://10.0.103.215:80
NODE_JS_PORT=tcp://10.0.103.215:80
NODE_JS_PORT_80_TCP_PROTO=tcp
NODE_JS_PORT_80_TCP_PORT=80
NODE_JS_SERVICE_HOST=10.0.103.215
NODE_JS_PORT_80_TCP_ADDR=10.0.103.215
NODE_JS_SERVICE_PORT=80

 

 

 

 

Another option for discovery is through DNS. While environment variables can be useful when DNS is not available, it has drawbacks. The system only creates variables at creation time, so services that come online later will not be discovered or will require some additional tooling to update all the system...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at £16.99/month. Cancel anytime