Cargando…

Kubernetes Programming with Go : Programming Kubernetes Clients and Operators Using Go and the Kubernetes API /

This book begins by introducing the structure of the Kubernetes API and which operations it serves. Following chapters demonstrate how to write native Kubernetes resources definitions using Go structures defined in the API and API Machinery libraries. Miscellaneous utilities are described to help yo...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Martin, Philippe (Autor)
Formato: Electrónico eBook
Idioma:Inglés
Publicado: New York, NY : Apress L. P., [2023]
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)

MARC

LEADER 00000cam a2200000 i 4500
001 OR_on1356574762
003 OCoLC
005 20231017213018.0
006 m o d
007 cr cnu---unuuu
008 221231s2023 nyua o 001 0 eng d
040 |a EBLCP  |b eng  |e rda  |c EBLCP  |d ORMDA  |d GW5XE  |d YDX  |d EBLCP  |d YDX  |d OCLCQ  |d UPM  |d OCLCQ  |d OCLCF 
019 |a 1356295060  |a 1356981934 
020 |a 9781484290262  |q electronic book 
020 |a 1484290267  |q electronic book 
020 |z 9781484290255 
020 |z 1484290259 
024 7 |a 10.1007/978-1-4842-9026-2  |2 doi 
029 1 |a AU@  |b 000073225577 
029 1 |a AU@  |b 000073291038 
035 |a (OCoLC)1356574762  |z (OCoLC)1356295060  |z (OCoLC)1356981934 
037 |a 9781484290262  |b O'Reilly Media 
050 4 |a QA76.73.G63  |b M37 2023 
050 4 |a QA76.76.O62 
072 7 |a U  |2 bicssc 
072 7 |a COM051390  |2 bisacsh 
072 7 |a ULJ  |2 thema 
082 0 4 |a 005.3  |2 23/eng/20230105 
049 |a UAMI 
100 1 |a Martin, Philippe,  |e author. 
245 1 0 |a Kubernetes Programming with Go :  |b Programming Kubernetes Clients and Operators Using Go and the Kubernetes API /  |c Philippe Martin. 
264 1 |a New York, NY :  |b Apress L. P.,  |c [2023] 
300 |a 1 online resource (xx, 316 pages) :  |b illustrations 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
500 |a Includes index. 
520 |a This book begins by introducing the structure of the Kubernetes API and which operations it serves. Following chapters demonstrate how to write native Kubernetes resources definitions using Go structures defined in the API and API Machinery libraries. Miscellaneous utilities are described to help you work with different resource fields and to convert your resource definitions to or from YAML or JSON. Next, you will learn how to interact with the Kubernetes API server to create, delete, update, and monitor resources in a cluster using the client-go library. A complete chapter is devoted to tools provided to test your programs using the client-go library. An example follows to wrap up the first part of the book, describing how to write a kubectl plugin. Next, you will learn how to extend the Kubernetes API using Custom Resource Definitions, and how to write Kubernetes resources in a generic way as well as how to create your own resources using the unstructured concept. The next chapters delve into the controller-runtime library, useful for extending Kubernetes by writing operators, and the kubebuilder framework, which leverages this library, to help you start writing operators in minutes. After reading this book, you will have a deep understanding of the Kubernetes API's structure and how Kubernetes resources are organized within it, and have at your disposal a complete toolbox to help you write Kubernetes clients and operators. What You Will Learn Understand how the Kubernetes API and its resources are organized Write Kubernetes resources in Go Create resources in a cluster Leverage your newly-gained knowledge to write Kubernetes clients and operators Who is this Book for: Software engineers and (Site Reliability Engineers) SREs wishing to write Kubernetes clients and operators using the Go language. 
505 0 |a Intro -- Table of Contents -- About the Author -- About the Technical Reviewers -- Acknowledgments -- Introduction -- Chapter 1: Kubernetes API Introduction -- Kubernetes Platform at a Glance -- OpenAPI Specification -- Verbs and Kinds -- Group-Version-Resource -- Sub-resources -- Official API Reference Documentation -- The Deployment Documentation -- Operations Documentation -- The Pod Documentation -- One-Page Version of the Documentation -- Conclusion -- Chapter 2: Kubernetes API Operations -- Examining Requests -- Making Requests -- Using kubectl as a Proxy -- Creating a Resource 
505 8 |a Getting Information About a Resource -- Getting the List of Resources -- Cluster-wide -- In a Specific namespace -- Filtering the Result of a List -- Using Label Selectors -- Using Field Selectors -- Deleting a Resource -- Deleting a Collection of Resources -- Updating a Resource -- Managing Conflicts When Updating a Resource -- Using a Strategic Merge Patch to Update a Resource -- Patching Array Fields -- Special Directives -- replace Directive -- delete Directive -- deleteFromPrimitiveList Directive -- setElementOrder Directive -- Applying Resources Server-side -- Watching Resources 
505 8 |a Filtering During a Watch Session -- Watching After Listing Resources -- Restarting a watch Request -- Allowing Bookmarks to Efficiently Restart a watch Request -- Paginating Results -- Consistency of the Full List -- Detecting the Last Chunk -- Getting Results in Various Formats -- Getting Results as a Table -- Column Definitions -- Row Data -- Using the YAML Format -- Using the Protobuf Format -- Conclusion -- Chapter 3: Working with API Resources in Go -- API Library Sources and Import -- Content of a Package -- types.go -- register.go -- doc.go -- generated.pb.go and generated.proto 
505 8 |a Types_swagger_doc_generated.go -- zz_generated.deepcopy.go -- Specific Content in core/v1 -- ObjectReference -- ResourceList -- Taint -- Toleration -- Well-Known Labels -- Writing Kubernetes Resources in Go -- Importing the Package -- The TypeMeta Fields -- The ObjectMeta Fields -- Name -- Namespace -- UID, ResourceVersion, and Generation -- Labels and Annotations -- OwnerReferences -- Setting APIVersion and Kind -- Setting Controller -- Setting BlockOwnerDeletion -- Spec and Status -- Comparison with Writing YAML Manifests -- A Complete Example -- Conclusion -- Chapter 4: Using Common Types 
505 8 |a Pointers -- Getting the Reference of a Value -- Dereferencing a Pointer -- Comparing Two Referenced Values -- Quantities -- Parsing a String as Quantity -- Using an inf.Dec as a Quantity -- Using a Scaled Integer as a Quantity -- Operations on Quantities -- IntOrString -- Time -- Factory Methods -- Operations on Time -- Conclusion -- Chapter 5: The API Machinery -- The Schema Package -- Scheme -- Initialization -- Mapping -- Conversion -- Adding Conversion Functions -- Converting -- Serialization -- JSON and YAML Serializer -- Protobuf Serializer -- Encoding and Decoding -- RESTMapper 
588 |a Description based on online resource; title from digital title page (viewed on January 17, 2023). 
590 |a O'Reilly  |b O'Reilly Online Learning: Academic/Public Library Edition 
630 0 0 |a Kubernetes. 
650 0 |a Go (Computer program language) 
650 0 |a Software container technologies. 
650 0 |a Application software  |x Development. 
650 7 |a Application software  |x Development.  |2 fast  |0 (OCoLC)fst00811707 
650 7 |a Go (Computer program language)  |2 fast  |0 (OCoLC)fst01893916 
650 7 |a Software container technologies.  |2 fast  |0 (OCoLC)fst02060635 
776 0 8 |i Print version:  |a Martin, Philippe  |t Kubernetes Programming with Go  |d Berkeley, CA : Apress L. P.,c2023  |z 9781484290255 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781484290262/?ar  |z Texto completo (Requiere registro previo con correo institucional) 
938 |a ProQuest Ebook Central  |b EBLB  |n EBL7164105 
938 |a YBP Library Services  |b YANK  |n 304025896 
994 |a 92  |b IZTAP