Code Monkey home page Code Monkey logo

cookbook-kube's People

Contributors

aespinosa avatar dy-dx avatar jperville avatar lchi avatar swalberg avatar tas50 avatar tk3fftk avatar yugui avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cookbook-kube's Issues

Complete custom resources

master components:

  • kube_apiserver
  • kube_scheduler
  • kube_controller_manager

node components:

  • kubelet
  • kube_proxy

Unable to use latest v4 cookbook for deployment

Hi,
I am using the latest Kube cookbook for deploying Kubernetes cluster in my environment Here is my recipe

# Etcd 
etcd_service 'default' do
  action %w(create start)
end

# Kubernetes cluster

kube_apiserver 'default' do
  service_cluster_ip_range '10.0.0.1/24'
  etcd_servers 'http://127.0.0.1:2379'
  insecure_bind_address '0.0.0.0'
  action %w(create start)
end

group 'docker' do
  members %w(kubernetes)
end

kube_scheduler 'default' do
  master '127.0.0.1:8080'
  action %w(create start)
end

kube_controller_manager 'default' do
  master '127.0.0.1:8080'
  action %w(create start)
end

Here is my metadata.rb

depends 'etcd', '>= 6.0.0'
depends 'kube', '>= 4.0.0'
depends 'docker', '>= 7.0.0'

But after running the recipe I get the following error:

    ================================================================================
    virtualbox-iso: Recipe Compile Error in /var/chef/cache/cookbooks/k8_master/recipes/default.rb
    virtualbox-iso: ================================================================================
    virtualbox-iso:
    virtualbox-iso: NoMethodError
    virtualbox-iso: -------------
    virtualbox-iso: undefined method `kube_apiserver' for cookbook: k8_master, recipe: default :Chef::Recipe
    virtualbox-iso:
    virtualbox-iso: Cookbook Trace: (most recent call first)
    virtualbox-iso: ----------------------------------------
    virtualbox-iso:   /var/chef/cache/cookbooks/k8_master/recipes/default.rb:48:in `from_file'
    virtualbox-iso:
    virtualbox-iso: Relevant File Content:
    virtualbox-iso: ----------------------
    virtualbox-iso: /var/chef/cache/cookbooks/k8_master/recipes/default.rb:
    virtualbox-iso:
    virtualbox-iso:  46:  # Kubernetes cluster
    virtualbox-iso:  47:
    virtualbox-iso:  48>> kube_apiserver 'default' do
    virtualbox-iso:  49:    service_cluster_ip_range '10.0.0.1/24'
    virtualbox-iso:  50:    etcd_servers 'http://127.0.0.1:2379'
    virtualbox-iso:  51:    insecure_bind_address '0.0.0.0'
    virtualbox-iso:  52:    action %w(create start)
    virtualbox-iso:  53:  end
    virtualbox-iso: 
    virtualbox-iso: System Info:
    virtualbox-iso: ------------
    virtualbox-iso: chef_version=16.4.41
    virtualbox-iso: platform=centos
    virtualbox-iso: platform_version=7.8.2003
    virtualbox-iso: ruby=ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux]
    virtualbox-iso: program_name=/bin/chef-client
    virtualbox-iso: executable=/opt/chef/bin/chef-client
    virtualbox-iso:
    virtualbox-iso:

I followed exactly as specified in Readme
Can someone tell me whats wrong here ?

RFC: apiserver/controller-manager/scheduler as pods

I usually apiserver, controller-manager, scheduler as containers with the official hyperkube image, and let kubelet manage those containers.

I am thinking of porting our recipes which manage such containerized daemons to this cookbook.
Do you accept such changes if I send a pull request?

It would be a set of new providers of the existing kubernetes_* resources.

Handle version upgrades

Right now if you change the version or download URL to a new version nothing happens. We should provide an option to handle the service upgrade.

  • test-kitchen suite prepping the previous minor version (1.6.x) then upgrade to the latest one
  • the actual option to service upgrade

Resource defaults are not rendered

Hello!

I was trying to use this cookbook to get started with launching a Kubernetes cluster, but noticed that a basic declaration like:

kubelet_service 'kubelet' do
  action [:create, :start]
  address '127.0.01'
end

does not render the default properties for the systemd ExecStart option. As it stands I don't think any of the resources can render out default properties.


Actual behavior:

# in /etc/systemd/system/kubelet.service
ExecStart=/usr/sbin/kubelet

Expected behavior:

# in /etc/systemd/system/kubelet.service
ExecStart=/usr/sbin/kubelet --address=0.0.0.0 --allow-privileged=false ...

Is this intended? If not, I believe the fix could be simple and I'd be happy to implement it.

Kubelet 1.9 does not pickup kubeconfig in default location

When using kubelet_service with v1.9, the kubeconfig (and therefore the api server address) does not get picked up without the --kubeconfig argument. Explicitly setting this argument as the /var/lib/kubelet/kubeconfig doesn't help either as the command generator doesn't add flags that are the default. Currently, you have to specify a kubeconfig path that isn't the default in order to get kubelet to work properly.

Default instantiation throws errors about auth...

I tried instantiating a simple master with the example resource declarations from README.md - I get the following, along with a daemon startup failure:

Jan 31 12:37:13 pavlov kube-apiserver[736]: W0131 12:37:13.680583     736 authentication.go:368] AnonymousAuth is not allowed with the AllowAll authorizer.  Resetting AnonymousAuth to false. You should use a different authorizer``

kubeadm init

what setup is required in lieu of running kubeadm init to generate certificates, etc ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.