Skip to content

Development repository for the kubernetes cookbook

License

Notifications You must be signed in to change notification settings

sous-chefs/kubernetes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8551277 · Dec 5, 2024
Dec 5, 2024
Mar 15, 2023
Nov 11, 2019
Nov 3, 2021
Nov 11, 2019
Oct 26, 2021
Jul 17, 2017
Jul 17, 2017
Nov 11, 2019
Apr 16, 2020
Nov 5, 2020
Apr 15, 2020
Nov 5, 2020
Apr 1, 2023
Nov 3, 2021
Apr 7, 2023
Jul 13, 2017
Mar 15, 2023
Aug 22, 2017
Dec 5, 2024
Nov 5, 2020
Nov 5, 2020
Nov 5, 2020
Apr 15, 2020
Nov 3, 2021
Nov 5, 2020
Dec 15, 2022
Apr 7, 2023
Apr 7, 2023
Apr 7, 2023
Feb 7, 2022
Dec 5, 2024
Nov 1, 2023

Repository files navigation

kubernetes Cookbook

Build Status Cookbook Version

Resources for deploying various Kubernetes entities, these resources are designed to be ran on the kubernetes master but can be ran anywhere that has access to a kubernetes api by changing the ['kubernetes']['master']['ip'] attribute. These resources utilize the kubeclient ruby gem and run against the v1beta1 api.

Currently broken resources: (waiting on support for v1 api through kubeclient gem)

  • Kubernetes Pod (kube_pod)
  • Kubernetes Replication Controller (kube_replication_controller)
  • Kubernetes Service (kube_service)

Requirements

Platforms

  • All platforms where kubeclient gem can be installed

Chef

  • Chef 14+

Cookbooks

  • build-essential

Attributes

  • ['kubernetes']['master']['ip'] - the address used when contacting the kubernetes api
  • ['kubernetes']['master']['port'] - the port that will be used when contacting the kubernetes api
  • ['kubernetes']['client_version'] - the version of the kubeclient gem to install

Resources

Containers and Volumes

The syntax used when specifying containers and volumes is specific to the kubernetes api, for examples on what these can/should look like please see the kubernetes documentation/examples.

Labels

Theres a bit of magic in the helper library that allows you to specify labels as either a hash 'this' => 'that', 'app' => 'redis', an array of labels ['this=that','app=redis'], or a comma delimited string 'this=that,app=redis'. All three will be treated as the same thing when writing your resources.

License and Author

Copyright 2015, Chef Software, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.