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
b1480983
Commit
b1480983
authored
Apr 20, 2016
by
gmarek
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add heapster to kubemark
parent
32121e34
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
122 additions
and
22 deletions
+122
-22
common.sh
test/kubemark/common.sh
+2
-0
heapster_template.json
test/kubemark/resources/heapster_template.json
+83
-0
hollow-node_template.json
test/kubemark/resources/hollow-node_template.json
+0
-0
kubemark-ns.json
test/kubemark/resources/kubemark-ns.json
+0
-0
run-e2e-tests.sh
test/kubemark/run-e2e-tests.sh
+1
-1
start-kubemark.sh
test/kubemark/start-kubemark.sh
+30
-17
stop-kubemark.sh
test/kubemark/stop-kubemark.sh
+6
-4
No files found.
test/kubemark/common.sh
View file @
b1480983
...
@@ -28,6 +28,8 @@ EVENT_STORE_NAME="${INSTANCE_PREFIX}-event-store"
...
@@ -28,6 +28,8 @@ EVENT_STORE_NAME="${INSTANCE_PREFIX}-event-store"
RETRIES
=
3
RETRIES
=
3
export
KUBECTL
=
"
${
KUBE_ROOT
}
/cluster/kubectl.sh"
export
KUBECTL
=
"
${
KUBE_ROOT
}
/cluster/kubectl.sh"
export
KUBEMARK_DIRECTORY
=
"
${
KUBE_ROOT
}
/test/kubemark"
export
RESOURCE_DIRECTORY
=
"
${
KUBEMARK_DIRECTORY
}
/resources"
# Runs gcloud compute command with the given parameters. Up to $RETRIES will be made
# Runs gcloud compute command with the given parameters. Up to $RETRIES will be made
# to execute the command.
# to execute the command.
...
...
test/kubemark/resources/heapster_template.json
0 → 100644
View file @
b1480983
{
"kind"
:
"ReplicationController"
,
"apiVersion"
:
"v1"
,
"metadata"
:
{
"name"
:
"heapster-v1.1.0.beta1"
,
"labels"
:
{
"k8s-app"
:
"heapster"
,
"version"
:
"v1.1.0.beta1"
}
},
"spec"
:
{
"replicas"
:
1
,
"selector"
:
{
"k8s-app"
:
"heapster"
,
"version"
:
"v1.1.0.beta1"
},
"template"
:
{
"metadata"
:
{
"labels"
:
{
"k8s-app"
:
"heapster"
,
"version"
:
"v1.1.0.beta1"
}
},
"spec"
:
{
"volumes"
:
[
{
"name"
:
"kubeconfig-volume"
,
"secret"
:
{
"secretName"
:
"kubeconfig"
}
}
],
"containers"
:
[
{
"name"
:
"heapster"
,
"image"
:
"gcr.io/google_containers/heapster:v1.1.0-beta1"
,
"resources"
:
{
"requests"
:
{
"cpu"
:
"100m"
,
"memory"
:
"##METRICS_MEM##Mi"
}
},
"command"
:
[
"/heapster"
],
"args"
:
[
"--source=kubernetes:https://##MASTER_IP##:443?inClusterConfig=0&useServiceAccount=0&auth=/kubeconfig/kubeconfig"
],
"volumeMounts"
:
[
{
"name"
:
"kubeconfig-volume"
,
"mountPath"
:
"/kubeconfig"
}
]
},
{
"name"
:
"eventer"
,
"image"
:
"gcr.io/google_containers/heapster:v1.1.0-beta1"
,
"resources"
:
{
"requests"
:
{
"cpu"
:
"100m"
,
"memory"
:
"##EVENTER_MEM##Ki"
}
},
"command"
:
[
"/eventer"
],
"args"
:
[
"--source=kubernetes:https://104.197.233.84:443?inClusterConfig=0&useServiceAccount=0&auth=/kubeconfig/kubeconfig"
],
"volumeMounts"
:
[
{
"name"
:
"kubeconfig-volume"
,
"mountPath"
:
"/kubeconfig"
}
]
}]
}
}
}
}
test/kubemark/hollow-node_template.json
→
test/kubemark/
resources/
hollow-node_template.json
View file @
b1480983
File moved
test/kubemark/kubemark-ns.json
→
test/kubemark/
resources/
kubemark-ns.json
View file @
b1480983
File moved
test/kubemark/run-e2e-tests.sh
View file @
b1480983
...
@@ -30,7 +30,7 @@ echo "Kubemark master name: ${MASTER_NAME}"
...
@@ -30,7 +30,7 @@ echo "Kubemark master name: ${MASTER_NAME}"
detect-master
detect-master
export
KUBE_MASTER_URL
=
"https://
${
KUBE_MASTER_IP
}
"
export
KUBE_MASTER_URL
=
"https://
${
KUBE_MASTER_IP
}
"
export
KUBECONFIG
=
"
${
ABSOLUTE_ROOT
}
/test/kubemark/kubeconfig.loc"
export
KUBECONFIG
=
"
${
ABSOLUTE_ROOT
}
/test/kubemark/
resources/
kubeconfig.loc"
export
E2E_MIN_STARTUP_PODS
=
0
export
E2E_MIN_STARTUP_PODS
=
0
if
[[
-z
"
$@
"
]]
;
then
if
[[
-z
"
$@
"
]]
;
then
...
...
test/kubemark/start-kubemark.sh
View file @
b1480983
...
@@ -104,9 +104,9 @@ create-certs ${MASTER_IP}
...
@@ -104,9 +104,9 @@ create-certs ${MASTER_IP}
KUBELET_TOKEN
=
$(
dd
if
=
/dev/urandom
bs
=
128
count
=
1 2>/dev/null |
base64
|
tr
-d
"=+/"
|
dd
bs
=
32
count
=
1 2>/dev/null
)
KUBELET_TOKEN
=
$(
dd
if
=
/dev/urandom
bs
=
128
count
=
1 2>/dev/null |
base64
|
tr
-d
"=+/"
|
dd
bs
=
32
count
=
1 2>/dev/null
)
KUBE_PROXY_TOKEN
=
$(
dd
if
=
/dev/urandom
bs
=
128
count
=
1 2>/dev/null |
base64
|
tr
-d
"=+/"
|
dd
bs
=
32
count
=
1 2>/dev/null
)
KUBE_PROXY_TOKEN
=
$(
dd
if
=
/dev/urandom
bs
=
128
count
=
1 2>/dev/null |
base64
|
tr
-d
"=+/"
|
dd
bs
=
32
count
=
1 2>/dev/null
)
echo
"
${
CA_CERT_BASE64
}
"
|
base64
-d
>
ca.crt
echo
"
${
CA_CERT_BASE64
}
"
|
base64
-d
>
"
${
RESOURCE_DIRECTORY
}
/ca.crt"
echo
"
${
KUBECFG_CERT_BASE64
}
"
|
base64
-d
>
kubecfg.crt
echo
"
${
KUBECFG_CERT_BASE64
}
"
|
base64
-d
>
"
${
RESOURCE_DIRECTORY
}
/kubecfg.crt"
echo
"
${
KUBECFG_KEY_BASE64
}
"
|
base64
-d
>
kubecfg.key
echo
"
${
KUBECFG_KEY_BASE64
}
"
|
base64
-d
>
"
${
RESOURCE_DIRECTORY
}
/kubecfg.key"
until
gcloud compute ssh
--zone
=
"
${
ZONE
}
"
--project
=
"
${
PROJECT
}
"
"
${
MASTER_NAME
}
"
--command
=
"ls"
&> /dev/null
;
do
until
gcloud compute ssh
--zone
=
"
${
ZONE
}
"
--project
=
"
${
PROJECT
}
"
"
${
MASTER_NAME
}
"
--command
=
"ls"
&> /dev/null
;
do
sleep
1
sleep
1
...
@@ -129,14 +129,14 @@ gcloud compute ssh --zone="${ZONE}" --project="${PROJECT}" "${MASTER_NAME}" \
...
@@ -129,14 +129,14 @@ gcloud compute ssh --zone="${ZONE}" --project="${PROJECT}" "${MASTER_NAME}" \
if
[
"
${
RUN_FROM_DISTRO
}
"
==
"false"
]
;
then
if
[
"
${
RUN_FROM_DISTRO
}
"
==
"false"
]
;
then
gcloud compute copy-files
--zone
=
"
${
ZONE
}
"
--project
=
"
${
PROJECT
}
"
\
gcloud compute copy-files
--zone
=
"
${
ZONE
}
"
--project
=
"
${
PROJECT
}
"
\
"
${
KUBE_ROOT
}
/_output/release-tars/kubernetes-server-linux-amd64.tar.gz"
\
"
${
KUBE_ROOT
}
/_output/release-tars/kubernetes-server-linux-amd64.tar.gz"
\
"
${
KUBE
_ROOT
}
/test/kubemark
/start-kubemark-master.sh"
\
"
${
KUBE
MARK_DIRECTORY
}
/start-kubemark-master.sh"
\
"
${
KUBE
_ROOT
}
/test/kubemark
/configure-kubectl.sh"
\
"
${
KUBE
MARK_DIRECTORY
}
/configure-kubectl.sh"
\
"
${
MASTER_NAME
}
"
:~
"
${
MASTER_NAME
}
"
:~
else
else
gcloud compute copy-files
--zone
=
"
${
ZONE
}
"
--project
=
"
${
PROJECT
}
"
\
gcloud compute copy-files
--zone
=
"
${
ZONE
}
"
--project
=
"
${
PROJECT
}
"
\
"
${
KUBE_ROOT
}
/server/kubernetes-server-linux-amd64.tar.gz"
\
"
${
KUBE_ROOT
}
/server/kubernetes-server-linux-amd64.tar.gz"
\
"
${
KUBE
_ROOT
}
/test/kubemark
/start-kubemark-master.sh"
\
"
${
KUBE
MARK_DIRECTORY
}
/start-kubemark-master.sh"
\
"
${
KUBE
_ROOT
}
/test/kubemark
/configure-kubectl.sh"
\
"
${
KUBE
MARK_DIRECTORY
}
/configure-kubectl.sh"
\
"
${
MASTER_NAME
}
"
:~
"
${
MASTER_NAME
}
"
:~
fi
fi
...
@@ -163,7 +163,7 @@ contexts:
...
@@ -163,7 +163,7 @@ contexts:
name: kubemark-context
name: kubemark-context
current-context: kubemark-context"
|
base64
|
tr
-d
"
\n\r
"
)
current-context: kubemark-context"
|
base64
|
tr
-d
"
\n\r
"
)
KUBECONFIG_SECRET
=
kubeconfig_secret.json
KUBECONFIG_SECRET
=
"
${
RESOURCE_DIRECTORY
}
/kubeconfig_secret.json"
cat
>
"
${
KUBECONFIG_SECRET
}
"
<<
EOF
cat
>
"
${
KUBECONFIG_SECRET
}
"
<<
EOF
{
{
"apiVersion": "v1",
"apiVersion": "v1",
...
@@ -178,7 +178,7 @@ cat > "${KUBECONFIG_SECRET}" << EOF
...
@@ -178,7 +178,7 @@ cat > "${KUBECONFIG_SECRET}" << EOF
}
}
EOF
EOF
LOCAL_KUBECONFIG
=
${
KUBE_ROOT
}
/test/kubemark/kubeconfig.loc
LOCAL_KUBECONFIG
=
"
${
RESOURCE_DIRECTORY
}
/kubeconfig.loc"
cat
>
"
${
LOCAL_KUBECONFIG
}
"
<<
EOF
cat
>
"
${
LOCAL_KUBECONFIG
}
"
<<
EOF
apiVersion: v1
apiVersion: v1
kind: Config
kind: Config
...
@@ -202,17 +202,30 @@ contexts:
...
@@ -202,17 +202,30 @@ contexts:
current-context: kubemark-context
current-context: kubemark-context
EOF
EOF
sed
"s/##numreplicas##/
${
NUM_NODES
:-
10
}
/g"
"
${
KUBE_ROOT
}
"
/test/kubemark/hollow-node_template.json
>
"
${
KUBE_ROOT
}
"
/test/kubemark/hollow-node.json
sed
-i
''
-e
"s/##project##/
${
PROJECT
}
/g"
"
${
KUBE_ROOT
}
"
/test/kubemark/hollow-node.json
sed
"s/##numreplicas##/
${
NUM_NODES
:-
10
}
/g"
"
${
RESOURCE_DIRECTORY
}
/hollow-node_template.json"
>
"
${
RESOURCE_DIRECTORY
}
/hollow-node.json"
"
${
KUBECTL
}
"
create
-f
"
${
KUBE_ROOT
}
"
/test/kubemark/kubemark-ns.json
sed
-i
''
-e
"s/##project##/
${
PROJECT
}
/g"
"
${
RESOURCE_DIRECTORY
}
/hollow-node.json"
mkdir
"
${
RESOURCE_DIRECTORY
}
/addons"
||
true
sed
"s/##MASTER_IP##/
${
MASTER_IP
}
/g"
"
${
RESOURCE_DIRECTORY
}
/heapster_template.json"
>
"
${
RESOURCE_DIRECTORY
}
/addons/heapster.json"
metrics_mem_per_node
=
4
metrics_mem
=
$((
200
+
${
metrics_mem_per_node
}
*
${
NUM_NODES
:-
10
}))
sed
-i
''
-e
"s/##METRICS_MEM##/
${
metrics_mem
}
/g"
"
${
RESOURCE_DIRECTORY
}
/addons/heapster.json"
eventer_mem_per_node
=
500
eventer_mem
=
$((
200
*
1024
+
${
eventer_mem_per_node
}
*
${
NUM_NODES
:-
10
}))
sed
-i
''
-e
"s/##EVENTER_MEM##/
${
eventer_mem
}
/g"
"
${
RESOURCE_DIRECTORY
}
/addons/heapster.json"
"
${
KUBECTL
}
"
create
-f
"
${
RESOURCE_DIRECTORY
}
/kubemark-ns.json"
"
${
KUBECTL
}
"
create
-f
"
${
KUBECONFIG_SECRET
}
"
--namespace
=
"kubemark"
"
${
KUBECTL
}
"
create
-f
"
${
KUBECONFIG_SECRET
}
"
--namespace
=
"kubemark"
"
${
KUBECTL
}
"
create
-f
"
${
KUBE_ROOT
}
"
/test/kubemark/hollow-node.json
--namespace
=
"kubemark"
"
${
KUBECTL
}
"
create
-f
"
${
RESOURCE_DIRECTORY
}
/addons"
--namespace
=
"kubemark"
"
${
KUBECTL
}
"
create
-f
"
${
RESOURCE_DIRECTORY
}
/hollow-node.json"
--namespace
=
"kubemark"
rm
"
${
KUBECONFIG_SECRET
}
"
rm
"
${
KUBECONFIG_SECRET
}
"
echo
"Waiting for all HollowNodes to become Running..."
echo
"Waiting for all HollowNodes to become Running..."
start
=
$(
date
+%s
)
start
=
$(
date
+%s
)
nodes
=
$(
"
${
KUBECTL
}
"
--kubeconfig
=
"
${
KUBE_ROOT
}
"
/test/kubemark/kubeconfig.loc
get node
)
||
true
nodes
=
$(
"
${
KUBECTL
}
"
--kubeconfig
=
"
${
RESOURCE_DIRECTORY
}
/kubeconfig.loc"
get node
)
||
true
ready
=
$(($(
echo
"
${
nodes
}
"
|
grep
-v
"NotReady"
|
wc
-l
)
-
1
))
ready
=
$(($(
echo
"
${
nodes
}
"
|
grep
-v
"NotReady"
|
wc
-l
)
-
1
))
until
[[
"
${
ready
}
"
-ge
"
${
NUM_NODES
}
"
]]
;
do
until
[[
"
${
ready
}
"
-ge
"
${
NUM_NODES
}
"
]]
;
do
...
@@ -224,16 +237,16 @@ until [[ "${ready}" -ge "${NUM_NODES}" ]]; do
...
@@ -224,16 +237,16 @@ until [[ "${ready}" -ge "${NUM_NODES}" ]]; do
echo
""
echo
""
echo
"Timeout waiting for all HollowNodes to become Running"
echo
"Timeout waiting for all HollowNodes to become Running"
# Try listing nodes again - if it fails it means that API server is not responding
# Try listing nodes again - if it fails it means that API server is not responding
if
"
${
KUBECTL
}
"
--kubeconfig
=
"
${
KUBE_ROOT
}
"
/test/kubemark/kubeconfig.loc
get node &> /dev/null
;
then
if
"
${
KUBECTL
}
"
--kubeconfig
=
"
${
RESOURCE_DIRECTORY
}
/kubeconfig.loc"
get node &> /dev/null
;
then
echo
"Found only
${
ready
}
ready Nodes while waiting for
${
NUM_NODES
}
."
echo
"Found only
${
ready
}
ready Nodes while waiting for
${
NUM_NODES
}
."
exit
1
exit
1
fi
fi
echo
"Got error while trying to list Nodes. Probably API server is down."
echo
"Got error while trying to list Nodes. Probably API server is down."
exit
1
exit
1
fi
fi
nodes
=
$(
"
${
KUBECTL
}
"
--kubeconfig
=
"
${
KUBE_ROOT
}
"
/test/kubemark/kubeconfig.loc
get node
)
||
true
nodes
=
$(
"
${
KUBECTL
}
"
--kubeconfig
=
"
${
RESOURCE_DIRECTORY
}
/kubeconfig.loc"
get node
)
||
true
ready
=
$(($(
echo
"
${
nodes
}
"
|
grep
-v
"NotReady"
|
wc
-l
)
-
1
))
ready
=
$(($(
echo
"
${
nodes
}
"
|
grep
-v
"NotReady"
|
wc
-l
)
-
1
))
done
done
echo
""
echo
""
echo
"Password to kubemark master:
${
password
}
"
echo
"Password to kubemark master:
${
password
}
"
test/kubemark/stop-kubemark.sh
View file @
b1480983
...
@@ -19,8 +19,10 @@ KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../..
...
@@ -19,8 +19,10 @@ KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../..
source
"
${
KUBE_ROOT
}
/test/kubemark/common.sh"
source
"
${
KUBE_ROOT
}
/test/kubemark/common.sh"
"
${
KUBECTL
}
"
delete
-f
${
KUBE_ROOT
}
/test/kubemark/hollow-kubelet.json &> /dev/null
||
true
"
${
KUBECTL
}
"
delete
-f
"
${
RESOURCE_DIRECTORY
}
/hollow-kubelet.json"
&> /dev/null
||
true
"
${
KUBECTL
}
"
delete
-f
${
KUBE_ROOT
}
/test/kubemark/kubemark-ns.json &> /dev/null
||
true
"
${
KUBECTL
}
"
delete
-f
"
${
RESOURCE_DIRECTORY
}
/addons"
&> /dev/null
||
true
"
${
KUBECTL
}
"
delete
-f
"
${
RESOURCE_DIRECTORY
}
/kubemark-ns.json"
&> /dev/null
||
true
rm
-rf
"
${
RESOURCE_DIRECTORY
}
/addons"
GCLOUD_COMMON_ARGS
=
"--project
${
PROJECT
}
--zone
${
ZONE
}
--quiet"
GCLOUD_COMMON_ARGS
=
"--project
${
PROJECT
}
--zone
${
ZONE
}
--quiet"
...
@@ -42,5 +44,5 @@ if [ "${SEPARATE_EVENT_MACHINE:-false}" == "true" ]; then
...
@@ -42,5 +44,5 @@ if [ "${SEPARATE_EVENT_MACHINE:-false}" == "true" ]; then
${
GCLOUD_COMMON_ARGS
}
||
true
${
GCLOUD_COMMON_ARGS
}
||
true
fi
fi
rm
-rf
"
${
KUBE_ROOT
}
/test/kubemark
/kubeconfig.loc"
&> /dev/null
||
true
rm
-rf
"
${
RESOURCE_DIRECTORY
}
/addons"
"
${
RESOURCE_DIRECTORY
}
/kubeconfig.loc"
&> /dev/null
||
true
rm
"
ca.crt"
"kubecfg.crt"
"kubecfg.key"
"
${
KUBE_ROOT
}
/test/kubemark
/hollow-node.json"
&> /dev/null
||
true
rm
"
${
RESOURCE_DIRECTORY
}
/ca.crt"
"
${
RESOURCE_DIRECTORY
}
/kubecfg.crt"
"
${
RESOURCE_DIRECTORY
}
/kubecfg.key"
"
${
RESOURCE_DIRECTORY
}
/hollow-node.json"
&> /dev/null
||
true
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