Merge pull request #9281 from pedro-r-marques/beta1_to_beta3

Upgrade k8petstore example to v1beta3 API.
This commit is contained in:
krousey 2015-06-08 10:16:30 -07:00
commit 5cffd96e28
1 changed files with 123 additions and 109 deletions

View File

@ -46,173 +46,187 @@ function create {
cat << EOF > fe-rc.json cat << EOF > fe-rc.json
{ {
"id": "fectrl",
"kind": "ReplicationController", "kind": "ReplicationController",
"apiVersion": "v1beta1", "apiVersion": "v1beta3",
"desiredState": { "metadata": {
"name": "fectrl",
"labels": {"name": "frontend"}
},
"spec": {
"replicas": $FE, "replicas": $FE,
"replicaSelector": {"name": "frontend"}, "selector": {"name": "frontend"},
"podTemplate": { "template": {
"desiredState": { "metadata": {
"manifest": { "labels": {
"version": "v1beta1", "name": "frontend",
"id": "frontendCcontroller", "uses": "redis-master"
}
},
"spec": {
"containers": [{ "containers": [{
"name": "frontend-go-restapi", "name": "frontend-go-restapi",
"image": "jayunit100/k8-petstore-web-server:$VERSION" "image": "jayunit100/k8-petstore-web-server:$VERSION"
}] }]
} }
},
"labels": {
"name": "frontend",
"uses": "redis-master"
} }
}}, }
"labels": {"name": "frontend"}
} }
EOF EOF
cat << EOF > bps-load-gen-rc.json cat << EOF > bps-load-gen-rc.json
{ {
"id": "bpsloadgenrc",
"kind": "ReplicationController", "kind": "ReplicationController",
"apiVersion": "v1beta1", "apiVersion": "v1beta3",
"desiredState": { "metadata": {
"name": "bpsloadgenrc",
"labels": {"name": "bpsLoadGenController"}
},
"spec": {
"replicas": $LG, "replicas": $LG,
"replicaSelector": {"name": "bps"}, "selector": {"name": "bps"},
"podTemplate": { "template": {
"desiredState": { "metadata": {
"manifest": { "labels": {
"version": "v1beta1", "name": "bps",
"id": "bpsLoadGenController", "uses": "frontend"
}
},
"spec": {
"containers": [{ "containers": [{
"name": "bps", "name": "bps",
"image": "jayunit100/bigpetstore-load-generator", "image": "jayunit100/bigpetstore-load-generator",
"command": ["sh","-c","/opt/PetStoreLoadGenerator-1.0/bin/PetStoreLoadGenerator http://\$FRONTEND_SERVICE_HOST:3000/rpush/k8petstore/ 4 4 1000 123"] "command": ["sh","-c","/opt/PetStoreLoadGenerator-1.0/bin/PetStoreLoadGenerator http://\$FRONTEND_SERVICE_HOST:3000/rpush/k8petstore/ 4 4 1000 123"]
}] }]
} }
},
"labels": {
"name": "bps",
"uses": "frontend"
} }
}}, }
"labels": {"name": "bpsLoadGenController"}
} }
EOF EOF
cat << EOF > fe-s.json cat << EOF > fe-s.json
{ {
"id": "frontend",
"kind": "Service", "kind": "Service",
"apiVersion": "v1beta1", "apiVersion": "v1beta3",
"port": 3000, "metadata": {
"containerPort": 3000, "name": "frontend",
"labels": {
"name": "frontend"
}
},
"spec": {
"ports": [{
"port": 3000
}],
"publicIPs":["$PUBLIC_IP","10.1.4.89"], "publicIPs":["$PUBLIC_IP","10.1.4.89"],
"selector": { "selector": {
"name": "frontend" "name": "frontend"
}, }
"labels": {
"name": "frontend"
} }
} }
EOF EOF
cat << EOF > rm.json cat << EOF > rm.json
{ {
"id": "redismaster",
"kind": "Pod", "kind": "Pod",
"apiVersion": "v1beta1", "apiVersion": "v1beta3",
"desiredState": { "metadata": {
"manifest": { "name": "redismaster",
"version": "v1beta1", "labels": {
"id": "redismaster", "name": "redis-master"
}
},
"spec": {
"containers": [{ "containers": [{
"name": "master", "name": "master",
"image": "jayunit100/k8-petstore-redis-master:$VERSION", "image": "jayunit100/k8-petstore-redis-master:$VERSION",
"ports": [{ "ports": [{
"containerPort": 6379, "containerPort": 6379
"hostPort": 6379
}] }]
}] }]
} }
},
"labels": {
"name": "redis-master"
}
} }
EOF EOF
cat << EOF > rm-s.json cat << EOF > rm-s.json
{ {
"id": "redismaster",
"kind": "Service", "kind": "Service",
"apiVersion": "v1beta1", "apiVersion": "v1beta3",
"port": 6379, "metadata": {
"containerPort": 6379, "name": "redismaster",
"selector": {
"name": "redis-master"
},
"labels": { "labels": {
"name": "redis-master" "name": "redis-master"
} }
},
"spec": {
"ports": [{
"port": 6379
}],
"selector": {
"name": "redis-master"
}
}
} }
EOF EOF
cat << EOF > rs-s.json cat << EOF > rs-s.json
{ {
"id": "redisslave",
"kind": "Service", "kind": "Service",
"apiVersion": "v1beta1", "apiVersion": "v1beta3",
"port": 6379, "metadata": {
"containerPort": 6379, "name": "redisslave",
"labels": { "labels": {
"name": "redisslave" "name": "redisslave"
}
}, },
"spec": {
"ports": [{
"port": 6379
}],
"selector": { "selector": {
"name": "redisslave" "name": "redisslave"
} }
} }
}
EOF EOF
cat << EOF > slave-rc.json cat << EOF > slave-rc.json
{ {
"id": "redissc",
"kind": "ReplicationController", "kind": "ReplicationController",
"apiVersion": "v1beta1", "apiVersion": "v1beta3",
"desiredState": { "metadata": {
"replicas": $SLAVE, "name": "redissc",
"replicaSelector": {"name": "redisslave"}, "labels": {"name": "redisslave"}
"podTemplate": {
"desiredState": {
"manifest": {
"version": "v1beta1",
"id": "redissc",
"containers": [{
"name": "slave",
"image": "jayunit100/k8-petstore-redis-slave:$VERSION",
"ports": [{"containerPort": 6379, "hostPort": 6380}]
}]
}
}, },
"spec": {
"replicas": $SLAVE,
"selector": {"name": "redisslave"},
"template": {
"metadata": {
"labels": { "labels": {
"name": "redisslave", "name": "redisslave",
"uses": "redis-master" "uses": "redis-master"
} }
}
}, },
"labels": {"name": "redisslave"} "spec": {
"containers": [{
"name": "slave",
"image": "jayunit100/k8-petstore-redis-slave:$VERSION",
"ports": [{"containerPort": 6379}]
}]
}
}
}
} }
EOF EOF
$kubectl create -f rm.json --api-version=v1beta1 --namespace=$NS $kubectl create -f rm.json --namespace=$NS
$kubectl create -f rm-s.json --api-version=v1beta1 --namespace=$NS $kubectl create -f rm-s.json --namespace=$NS
sleep 3 # precaution to prevent fe from spinning up too soon. sleep 3 # precaution to prevent fe from spinning up too soon.
$kubectl create -f slave-rc.json --api-version=v1beta1 --namespace=$NS $kubectl create -f slave-rc.json --namespace=$NS
$kubectl create -f rs-s.json --api-version=v1beta1 --namespace=$NS $kubectl create -f rs-s.json --namespace=$NS
sleep 3 # see above comment. sleep 3 # see above comment.
$kubectl create -f fe-rc.json --api-version=v1beta1 --namespace=$NS $kubectl create -f fe-rc.json --namespace=$NS
$kubectl create -f fe-s.json --api-version=v1beta1 --namespace=$NS $kubectl create -f fe-s.json --namespace=$NS
$kubectl create -f bps-load-gen-rc.json --api-version=v1beta1 --namespace=$NS $kubectl create -f bps-load-gen-rc.json --namespace=$NS
} }
function pollfor { function pollfor {