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
87cf3a31
Commit
87cf3a31
authored
May 09, 2016
by
k8s-merge-robot
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #24544 from gmarek/heapster
Automatic merge from submit-queue Add heapster to kubemark cc @mwielgus
parents
a7be41d4
b1480983
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 @
87cf3a31
...
...
@@ -28,6 +28,8 @@ EVENT_STORE_NAME="${INSTANCE_PREFIX}-event-store"
RETRIES
=
3
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
# to execute the command.
...
...
test/kubemark/resources/heapster_template.json
0 → 100644
View file @
87cf3a31
{
"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 @
87cf3a31
File moved
test/kubemark/kubemark-ns.json
→
test/kubemark/
resources/
kubemark-ns.json
View file @
87cf3a31
File moved
test/kubemark/run-e2e-tests.sh
View file @
87cf3a31
...
...
@@ -30,7 +30,7 @@ echo "Kubemark master name: ${MASTER_NAME}"
detect-master
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
if
[[
-z
"
$@
"
]]
;
then
...
...
test/kubemark/start-kubemark.sh
View file @
87cf3a31
...
...
@@ -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
)
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
"
${
KUBECFG_CERT_BASE64
}
"
|
base64
-d
>
kubecfg.crt
echo
"
${
KUBECFG_KEY_BASE64
}
"
|
base64
-d
>
kubecfg.key
echo
"
${
CA_CERT_BASE64
}
"
|
base64
-d
>
"
${
RESOURCE_DIRECTORY
}
/ca.crt"
echo
"
${
KUBECFG_CERT_BASE64
}
"
|
base64
-d
>
"
${
RESOURCE_DIRECTORY
}
/kubecfg.crt"
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
sleep
1
...
...
@@ -129,14 +129,14 @@ gcloud compute ssh --zone="${ZONE}" --project="${PROJECT}" "${MASTER_NAME}" \
if
[
"
${
RUN_FROM_DISTRO
}
"
==
"false"
]
;
then
gcloud compute copy-files
--zone
=
"
${
ZONE
}
"
--project
=
"
${
PROJECT
}
"
\
"
${
KUBE_ROOT
}
/_output/release-tars/kubernetes-server-linux-amd64.tar.gz"
\
"
${
KUBE
_ROOT
}
/test/kubemark
/start-kubemark-master.sh"
\
"
${
KUBE
_ROOT
}
/test/kubemark
/configure-kubectl.sh"
\
"
${
KUBE
MARK_DIRECTORY
}
/start-kubemark-master.sh"
\
"
${
KUBE
MARK_DIRECTORY
}
/configure-kubectl.sh"
\
"
${
MASTER_NAME
}
"
:~
else
gcloud compute copy-files
--zone
=
"
${
ZONE
}
"
--project
=
"
${
PROJECT
}
"
\
"
${
KUBE_ROOT
}
/server/kubernetes-server-linux-amd64.tar.gz"
\
"
${
KUBE
_ROOT
}
/test/kubemark
/start-kubemark-master.sh"
\
"
${
KUBE
_ROOT
}
/test/kubemark
/configure-kubectl.sh"
\
"
${
KUBE
MARK_DIRECTORY
}
/start-kubemark-master.sh"
\
"
${
KUBE
MARK_DIRECTORY
}
/configure-kubectl.sh"
\
"
${
MASTER_NAME
}
"
:~
fi
...
...
@@ -163,7 +163,7 @@ contexts:
name: kubemark-context
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
{
"apiVersion": "v1",
...
...
@@ -178,7 +178,7 @@ cat > "${KUBECONFIG_SECRET}" << EOF
}
EOF
LOCAL_KUBECONFIG
=
${
KUBE_ROOT
}
/test/kubemark/kubeconfig.loc
LOCAL_KUBECONFIG
=
"
${
RESOURCE_DIRECTORY
}
/kubeconfig.loc"
cat
>
"
${
LOCAL_KUBECONFIG
}
"
<<
EOF
apiVersion: v1
kind: Config
...
...
@@ -202,17 +202,30 @@ contexts:
current-context: kubemark-context
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
"
${
KUBECTL
}
"
create
-f
"
${
KUBE_ROOT
}
"
/test/kubemark/kubemark-ns.json
sed
"s/##numreplicas##/
${
NUM_NODES
:-
10
}
/g"
"
${
RESOURCE_DIRECTORY
}
/hollow-node_template.json"
>
"
${
RESOURCE_DIRECTORY
}
/hollow-node.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
"
${
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
}
"
echo
"Waiting for all HollowNodes to become Running..."
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
))
until
[[
"
${
ready
}
"
-ge
"
${
NUM_NODES
}
"
]]
;
do
...
...
@@ -224,16 +237,16 @@ until [[ "${ready}" -ge "${NUM_NODES}" ]]; do
echo
""
echo
"Timeout waiting for all HollowNodes to become Running"
# 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
}
."
exit
1
fi
echo
"Got error while trying to list Nodes. Probably API server is down."
exit
1
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
))
done
echo
""
echo
"Password to kubemark master:
${
password
}
"
test/kubemark/stop-kubemark.sh
View file @
87cf3a31
...
...
@@ -19,8 +19,10 @@ KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../..
source
"
${
KUBE_ROOT
}
/test/kubemark/common.sh"
"
${
KUBECTL
}
"
delete
-f
${
KUBE_ROOT
}
/test/kubemark/hollow-kubelet.json &> /dev/null
||
true
"
${
KUBECTL
}
"
delete
-f
${
KUBE_ROOT
}
/test/kubemark/kubemark-ns.json &> /dev/null
||
true
"
${
KUBECTL
}
"
delete
-f
"
${
RESOURCE_DIRECTORY
}
/hollow-kubelet.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"
...
...
@@ -42,5 +44,5 @@ if [ "${SEPARATE_EVENT_MACHINE:-false}" == "true" ]; then
${
GCLOUD_COMMON_ARGS
}
||
true
fi
rm
-rf
"
${
KUBE_ROOT
}
/test/kubemark
/kubeconfig.loc"
&> /dev/null
||
true
rm
"
ca.crt"
"kubecfg.crt"
"kubecfg.key"
"
${
KUBE_ROOT
}
/test/kubemark
/hollow-node.json"
&> /dev/null
||
true
rm
-rf
"
${
RESOURCE_DIRECTORY
}
/addons"
"
${
RESOURCE_DIRECTORY
}
/kubeconfig.loc"
&> /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