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)
Tabla de Contenidos:
  • 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
  • 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
  • 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
  • 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
  • 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