Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
347a5097
Commit
347a5097
authored
Feb 22, 2016
by
k8s-merge-robot
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #21226 from justinsb/aws_jessie_image
Auto commit by PR queue bot
parents
818aaaa5
f117b26c
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
130 additions
and
0 deletions
+130
-0
README.md
cluster/cloudimages/README.md
+40
-0
k8s-ebs-jessie-amd64-hvm.yml
cluster/cloudimages/k8s-ebs-jessie-amd64-hvm.yml
+90
-0
No files found.
cluster/cloudimages/README.md
0 → 100644
View file @
347a5097
## Kubernetes-optimized images
This directory contains manifests for building Kubernetes-optimized images for
various clouds (currently just AWS). It is currently highly experimental, and
these images are not used by default (though you can pass
`AWS_IMAGE`
to the
AWS kube-up script if you're feeling brave).
Advantages of an optimized image:
*
We can preinstall packages that would otherwise require a download. Great
for speed, and also for reliability (in case the source repository is down)
*
We can make kernel configuration changes that might otherwise require a
reboot, or even apply kernel patches if we really want to. For example,
Debian requires a kernel boot parameter to enable the cgroup memory
controller, which we require.
*
The more configuration we can do in advance, the easier it is for people that
don't want to use kube-up to get a cluster up and running.
Advantages of a harmonized image:
*
All the platforms can test with the same versions of software, rather than
relying on whatever image happens to be optimal on that cloud.
## bootstrap-vz
Currently images are built using
(bootstrap-vz)
[
https://github.com/andsens/bootstrap-vz
]
, because this is
default builder for the official Debian images, and because it supports
multiple clouds including AWS, Azure & GCE. It also supports KVM, which should
support OpenStack.
## Building an image
A go program/script to build images in (in
progress)
[
https://github.com/kubernetes/contrib/pull/486
]
, in the contrib
project.
[

]()
cluster/cloudimages/k8s-ebs-jessie-amd64-hvm.yml
0 → 100644
View file @
347a5097
---
name
:
k8s-1.2-debian-{system.release}-{system.architecture}-{provider.virtualization}-{%Y}-{%m}-{%d}-ebs
provider
:
name
:
ec2
virtualization
:
hvm
enhanced_networking
:
simple
description
:
Kubernetes 1.2 Base Image - Debian {system.release} {system.architecture}
bootstrapper
:
workspace
:
/target
# tarball speeds up development, but for prod builds we want to be 100% sure...
# tarball: true
system
:
release
:
jessie
architecture
:
amd64
# We use grub, not extlinux.
# See https://github.com/andsens/bootstrap-vz/issues/182
# extlinux makes it harder to modify boot args, and may have reboot problems
# bootloader: extlinux
bootloader
:
grub
charmap
:
UTF-8
locale
:
en_US
timezone
:
UTC
volume
:
backing
:
ebs
partitions
:
type
:
msdos
root
:
filesystem
:
ext4
size
:
8GiB
packages
:
mirror
:
http://cloudfront.debian.net/debian
install
:
# these packages are included in the official image
-
python-boto
-
python3-boto
-
apt-transport-https
-
lvm2
-
ncurses-term
-
parted
-
bootlogd
-
cloud-init
-
cloud-utils
-
gdisk
-
sysvinit
-
systemd
-
systemd-sysv
# these packages are included in the official image, but we remove them
# awscli : we install from pip instead
# cloud-initramfs-growroot will resize the master partition on boot
-
cloud-initramfs-growroot
# These packages would otherwise be installed during first boot
-
aufs-tools
-
curl
-
python-yaml
-
git
-
nfs-common
-
bridge-utils
-
logrotate
-
socat
-
python-apt
-
apt-transport-https
-
unattended-upgrades
-
lvm2
-
btrfs-tools
# So we can install the latest awscli
-
python-pip
plugins
:
cloud_init
:
metadata_sources
:
Ec2
username
:
admin
ntp
:
{}
commands
:
commands
:
# Install python-pip
-
[
'
chroot'
,
'
{root}'
,
'
pip'
,
'
install'
,
'
awscli'
]
# We perform a full replacement of some grub conf variables:
# GRUB_CMDLINE_LINUX_DEFAULT (add memory cgroup)
# GRUB_TIMEOUT (remove boot delay)
# (but leave the old versions commented out for people to see)
-
[
'
chroot'
,
'
{root}'
,
'
touch'
,
'
/etc/default/grub'
]
-
[
'
chroot'
,
'
{root}'
,
'
sed'
,
'
-i'
,
'
s/^GRUB_CMDLINE_LINUX_DEFAULT=/#GRUB_CMDLINE_LINUX_DEFAULT=/g'
,
'
/etc/default/grub'
]
-
[
'
chroot'
,
'
{root}'
,
'
sed'
,
'
-i'
,
'
s/^GRUB_TIMEOUT=/#GRUB_TIMEOUT=/g'
,
'
/etc/default/grub'
]
-
[
'
chroot'
,
'
{root}'
,
'
/bin/sh'
,
'
-c'
,
'
echo
"#
kubernetes
image
changes"
>>
/etc/default/grub'
]
-
[
'
chroot'
,
'
{root}'
,
'
/bin/sh'
,
'
-c'
,
'
echo
"GRUB_CMDLINE_LINUX_DEFAULT=\"cgroup_enable=memory
oops=panic
panic=10
console=ttyS0\""
>>
/etc/default/grub'
]
-
[
'
chroot'
,
'
{root}'
,
'
/bin/sh'
,
'
-c'
,
'
echo
"GRUB_TIMEOUT=0"
>>
/etc/default/grub'
]
-
[
'
chroot'
,
'
{root}'
,
'
update-grub2'
]
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment