Skip to content

Commit

Permalink
adding service account to libvirt
Browse files Browse the repository at this point in the history
  • Loading branch information
sdminonne committed Dec 7, 2015
1 parent 33eda2f commit ea1c97c
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 5 deletions.
6 changes: 5 additions & 1 deletion cluster/libvirt-coreos/user_data_master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ coreos:
[Service]
ExecStart=/opt/kubernetes/bin/kube-apiserver \
--service-account-key-file=/opt/kubernetes/certs/kube-serviceaccount.key \
--service-account-lookup=${SERVICE_ACCOUNT_LOOKUP} \
--admission-control=${ADMISSION_CONTROL} \
--insecure-bind-address=0.0.0.0 \
--insecure-port=8080 \
--etcd-servers=http://127.0.0.1:2379 \
Expand All @@ -36,7 +39,8 @@ coreos:
[Service]
ExecStart=/opt/kubernetes/bin/kube-controller-manager \
--master=127.0.0.1:8080
--master=127.0.0.1:8080 \
--service-account-private-key-file=/opt/kubernetes/certs/kube-serviceaccount.key \
Restart=always
RestartSec=2
Expand Down
17 changes: 16 additions & 1 deletion cluster/libvirt-coreos/util.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ source "$ROOT/${KUBE_CONFIG_FILE:-"config-default.sh"}"
source "$KUBE_ROOT/cluster/common.sh"

export LIBVIRT_DEFAULT_URI=qemu:///system

export SERVICE_ACCOUNT_LOOKUP=${SERVICE_ACCOUNT_LOOKUP:-false}
export ADMISSION_CONTROL=${ADMISSION_CONTROL:-NamespaceLifecycle,LimitRanger,ServiceAccount,ResourceQuota}
readonly POOL=kubernetes
readonly POOL_PATH="$(cd $ROOT && pwd)/libvirt_storage_pool"

Expand Down Expand Up @@ -51,6 +52,19 @@ function detect-nodes {
KUBE_NODE_IP_ADDRESSES=("${NODE_IPS[@]}")
}

function set_service_accounts {
SERVICE_ACCOUNT_KEY=${SERVICE_ACCOUNT_KEY:-"/tmp/kube-serviceaccount.key"}
# Generate ServiceAccount key if needed
if [[ ! -f "${SERVICE_ACCOUNT_KEY}" ]]; then
mkdir -p "$(dirname ${SERVICE_ACCOUNT_KEY})"
openssl genrsa -out "${SERVICE_ACCOUNT_KEY}" 2048 2>/dev/null
fi

mkdir -p "$POOL_PATH/kubernetes/certs"
cp "${SERVICE_ACCOUNT_KEY}" "$POOL_PATH/kubernetes/certs"
}


# Verify prereqs on host machine
function verify-prereqs {
if ! which virsh >/dev/null; then
Expand Down Expand Up @@ -185,6 +199,7 @@ function kube-up {
detect-nodes
load-or-gen-kube-bearertoken
initialize-pool keep_base_image
set_service_accounts
initialize-network

readonly ssh_keys="$(cat ~/.ssh/id_*.pub | sed 's/^/ - /')"
Expand Down
7 changes: 4 additions & 3 deletions docs/getting-started-guides/libvirt-coreos.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,11 +83,12 @@ On the other hand, `libvirt-coreos` might be useful for people investigating low
2. Install [ebtables](http://ebtables.netfilter.org/)
3. Install [qemu](http://wiki.qemu.org/Main_Page)
4. Install [libvirt](http://libvirt.org/)
5. Enable and start the libvirt daemon, e.g:
5. Install [openssl](http://openssl.org/)
6. Enable and start the libvirt daemon, e.g:
* ``systemctl enable libvirtd``
* ``systemctl start libvirtd``
6. [Grant libvirt access to your user¹](https://libvirt.org/aclpolkit.html)
7. Check that your $HOME is accessible to the qemu user²
7. [Grant libvirt access to your user¹](https://libvirt.org/aclpolkit.html)
8. Check that your $HOME is accessible to the qemu user²

#### ¹ Depending on your distribution, libvirt access may be denied by default or may require a password at each access.

Expand Down

2 comments on commit ea1c97c

@k8s-teamcity-mesosphere

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TeamCity OSS :: Kubernetes Mesos :: 4 - Smoke Tests Build 8336 outcome was FAILURE
Summary: Tests failed: 1 (1 new), passed: 0, ignored: 205 Build time: 00:05:13

Failed tests

null: Kubernetes e2e suite.Kubectl client Guestbook application should create and stop a working application [Conformance]: <no details avaliable>

@k8s-teamcity-mesosphere

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TeamCity OSS :: Kubernetes Mesos :: 4 - Smoke Tests Build 8337 outcome was FAILURE
Summary: Tests failed: 1, passed: 0, ignored: 205 Build time: 00:05:01

Failed tests

null: Kubernetes e2e suite.Kubectl client Guestbook application should create and stop a working application [Conformance]: <no details avaliable>

Please sign in to comment.