# kubernetes-grid CHANGELOG
+0.1.1
+-----
+- adds the `kubernetes-grid::gp-node` recipe.
+
0.1.0
-----
- Initial release of kubernetes-grid
This recipe does nothing.
+#### kubernetes-grid::gp-node
+
+This recipe sets up a general-purpose (GP) node (master or worker).
+
#### kubernetes-grid::master
This recipe sets up a master node.
license 'Apache 2.0'
description 'Installs/Configures Kubernetes'
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
-version '0.1.0'
+version '0.1.1'
source_url 'http://scm.osdn.jp/gitroot/metasearch/grid-chef-repo.git'
issues_url 'https://osdn.jp/projects/metasearch/ticket'
--- /dev/null
+#
+# Cookbook Name:: kubernetes-grid
+# Recipe:: gp-node
+#
+# Copyright 2017, whitestar
+#
+# 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.
+#
+
+# http://kubernetes.io/docs/getting-started-guides/kubeadm/
+
+include_recipe 'kubernetes-grid::master'
+include_recipe 'kubernetes-grid::node'
# http://kubernetes.io/docs/getting-started-guides/kubeadm/
+::Chef::Recipe.send(:include, PlatformUtils::VirtUtils)
+
if node['kubernetes-grid']['docker-engine']['setup']
include_recipe 'docker-grid::engine'
end
case node['platform_family']
when 'rhel'
+=begin
+ if container_guest_node?
+ # TODO:
+ end
+=end
disable_selinux = 'disable_selinux'
resources(execute: disable_selinux) rescue execute disable_selinux do
user 'root'
notifies :run, 'execute[yum_makecache_kubernetes]', :immediately
end
when 'debian'
+ if container_guest_node?
+ Chef::Log.warn(
+ 'This node is running in the Linux container, Chef installs the linux-image. ' \
+ 'See https://github.com/kubernetes/kubernetes/issues/39282'
+ )
+ kern_pkg = "linux-image-#{node['kernel']['release']}"
+ resources(package: kern_pkg) rescue package kern_pkg do
+ action :install
+ end
+ end
+
[
'curl',
].each {|pkg|
--- /dev/null
+{
+ "run_list": [
+ "role[kube-gp-node]"
+ ]
+}
--- /dev/null
+cluster_name = 'kube'
+
+name "#{cluster_name}-gp-node"
+description "#{cluster_name} cluster general-purpose node"
+
+run_list(
+ "role[#{cluster_name}]",
+ 'recipe[kubernetes-grid::gp-node]',
+)
+
+#env_run_lists
+
+default_attributes(
+)
+
+override_attributes(
+)
--- /dev/null
+cluster_name = 'kube'
+
+name "#{cluster_name}"
+description "#{cluster_name} cluster"
+
+run_list(
+)
+
+#env_run_lists
+
+default_attributes(
+)
+
+override_attributes(
+ 'docker-grid' => {
+ 'engine' => {
+ 'version_on_centos' => '1.11.2-1',
+ 'version_on_ubuntu' => '1.11.2-0',
+ 'storage-driver_on_centos' => 'overlay',
+ 'storage-driver_on_ubuntu' => 'overlay', # default: aufs
+ #'userns-remap' => 'default',
+ 'daemon_extra_options' => '-H fd:// --bip=192.168.128.1/24 --fixed-cidr=192.168.128.0/24',
+ },
+ },
+)