mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-02 08:17:26 +00:00
Merge pull request #4460 from sub-mod/guestbook_ns
Adding guestbook example with latest json format for v1beta3 api
This commit is contained in:
commit
754a2a8305
@ -115,6 +115,30 @@ func TestExampleObjectSchemas(t *testing.T) {
|
|||||||
"redis-master-service": &api.Service{},
|
"redis-master-service": &api.Service{},
|
||||||
"redis-slave-service": &api.Service{},
|
"redis-slave-service": &api.Service{},
|
||||||
},
|
},
|
||||||
|
"../examples/guestbook/v1beta3": {
|
||||||
|
"frontend-controller": &api.ReplicationController{},
|
||||||
|
"redis-slave-controller": &api.ReplicationController{},
|
||||||
|
"redis-master": &api.ReplicationController{},
|
||||||
|
"frontend-service": &api.Service{},
|
||||||
|
"redis-master-service": &api.Service{},
|
||||||
|
"redis-slave-service": &api.Service{},
|
||||||
|
},
|
||||||
|
"../examples/guestbook-go": {
|
||||||
|
"guestbook-controller": &api.ReplicationController{},
|
||||||
|
"redis-slave-controller": &api.ReplicationController{},
|
||||||
|
"redis-master-controller": &api.ReplicationController{},
|
||||||
|
"guestbook-service": &api.Service{},
|
||||||
|
"redis-master-service": &api.Service{},
|
||||||
|
"redis-slave-service": &api.Service{},
|
||||||
|
},
|
||||||
|
"../examples/guestbook-go/v1beta3": {
|
||||||
|
"guestbook-controller": &api.ReplicationController{},
|
||||||
|
"redis-slave-controller": &api.ReplicationController{},
|
||||||
|
"redis-master-controller": &api.ReplicationController{},
|
||||||
|
"guestbook-service": &api.Service{},
|
||||||
|
"redis-master-service": &api.Service{},
|
||||||
|
"redis-slave-service": &api.Service{},
|
||||||
|
},
|
||||||
"../examples/walkthrough": {
|
"../examples/walkthrough": {
|
||||||
"pod1": &api.Pod{},
|
"pod1": &api.Pod{},
|
||||||
"pod2": &api.Pod{},
|
"pod2": &api.Pod{},
|
||||||
|
14
examples/guestbook-go/v1beta3/README.md
Normal file
14
examples/guestbook-go/v1beta3/README.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
## GuestBook v1beta3 example
|
||||||
|
|
||||||
|
This example shows how to build a simple, multi-tier web application using Kubernetes and Docker.
|
||||||
|
|
||||||
|
The example consists of:
|
||||||
|
- A web frontend
|
||||||
|
- A redis master (for storage and a replicated set of redis slaves)
|
||||||
|
|
||||||
|
The web front end interacts with the redis master via javascript redis API calls.
|
||||||
|
|
||||||
|
The v1beta3 API is not enabled by default. The kube-apiserver process needs to run with the --runtime_config=api/v1beta3 argument. Use the following command to enable it:
|
||||||
|
$sudo sed -i 's|KUBE_API_ARGS="|KUBE_API_ARGS="--runtime_config=api/v1beta3 |' /etc/kubernetes/apiserver
|
||||||
|
|
||||||
|
|
38
examples/guestbook-go/v1beta3/guestbook-controller.json
Normal file
38
examples/guestbook-go/v1beta3/guestbook-controller.json
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
{
|
||||||
|
"kind":"ReplicationController",
|
||||||
|
"apiVersion":"v1beta3",
|
||||||
|
"metadata":{
|
||||||
|
"name":"guestbook",
|
||||||
|
"labels":{
|
||||||
|
"name":"guestbook"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spec":{
|
||||||
|
"replicas":3,
|
||||||
|
"selector":{
|
||||||
|
"name":"guestbook"
|
||||||
|
},
|
||||||
|
"template":{
|
||||||
|
"metadata":{
|
||||||
|
"labels":{
|
||||||
|
"name":"guestbook"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spec":{
|
||||||
|
"containers":[
|
||||||
|
{
|
||||||
|
"image":"kubernetes/guestbook",
|
||||||
|
"name":"guestbook",
|
||||||
|
"ports":[
|
||||||
|
{
|
||||||
|
"name":"http-server",
|
||||||
|
"containerPort":3000,
|
||||||
|
"protocol":"TCP"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
18
examples/guestbook-go/v1beta3/guestbook-service.json
Normal file
18
examples/guestbook-go/v1beta3/guestbook-service.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"kind":"Service",
|
||||||
|
"apiVersion":"v1beta3",
|
||||||
|
"metadata":{
|
||||||
|
"name":"guestbook",
|
||||||
|
"labels":{
|
||||||
|
"name":"guestbook"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spec":{
|
||||||
|
"port":3000,
|
||||||
|
"containerPort":"http-server",
|
||||||
|
"protocol":"TCP",
|
||||||
|
"selector":{
|
||||||
|
"name":"guestbook"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
42
examples/guestbook-go/v1beta3/redis-master-controller.json
Normal file
42
examples/guestbook-go/v1beta3/redis-master-controller.json
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
{
|
||||||
|
"kind":"ReplicationController",
|
||||||
|
"apiVersion":"v1beta3",
|
||||||
|
"id":"redis-master",
|
||||||
|
"metadata":{
|
||||||
|
"name":"redis-master",
|
||||||
|
"labels":{
|
||||||
|
"name":"redis",
|
||||||
|
"role":"master"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spec":{
|
||||||
|
"replicas":1,
|
||||||
|
"selector":{
|
||||||
|
"name":"redis",
|
||||||
|
"role":"master"
|
||||||
|
},
|
||||||
|
"template":{
|
||||||
|
"metadata":{
|
||||||
|
"labels":{
|
||||||
|
"name":"redis",
|
||||||
|
"role":"master"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spec":{
|
||||||
|
"containers":[
|
||||||
|
{
|
||||||
|
"name":"redis-master",
|
||||||
|
"image":"gurpartap/redis",
|
||||||
|
"ports":[
|
||||||
|
{
|
||||||
|
"name":"redis-server",
|
||||||
|
"containerPort":6379,
|
||||||
|
"protocol":"TCP"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
20
examples/guestbook-go/v1beta3/redis-master-service.json
Normal file
20
examples/guestbook-go/v1beta3/redis-master-service.json
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"kind":"Service",
|
||||||
|
"apiVersion":"v1beta3",
|
||||||
|
"metadata":{
|
||||||
|
"name":"redis-master",
|
||||||
|
"labels":{
|
||||||
|
"name":"redis",
|
||||||
|
"role":"master"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spec":{
|
||||||
|
"port":6379,
|
||||||
|
"containerPort":"redis-server",
|
||||||
|
"protocol":"TCP",
|
||||||
|
"selector":{
|
||||||
|
"name":"redis",
|
||||||
|
"role":"master"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
47
examples/guestbook-go/v1beta3/redis-slave-controller.json
Normal file
47
examples/guestbook-go/v1beta3/redis-slave-controller.json
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
{
|
||||||
|
"kind":"ReplicationController",
|
||||||
|
"apiVersion":"v1beta3",
|
||||||
|
"id":"redis-slave",
|
||||||
|
"metadata":{
|
||||||
|
"name":"redis-slave",
|
||||||
|
"labels":{
|
||||||
|
"name":"redis",
|
||||||
|
"role":"slave"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spec":{
|
||||||
|
"replicas":1,
|
||||||
|
"selector":{
|
||||||
|
"name":"redis",
|
||||||
|
"role":"slave"
|
||||||
|
},
|
||||||
|
"template":{
|
||||||
|
"metadata":{
|
||||||
|
"labels":{
|
||||||
|
"name":"redis",
|
||||||
|
"role":"slave"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spec":{
|
||||||
|
"containers":[
|
||||||
|
{
|
||||||
|
"name":"redis-slave",
|
||||||
|
"image":"gurpartap/redis",
|
||||||
|
"command":[
|
||||||
|
"sh",
|
||||||
|
"-c",
|
||||||
|
"redis-server /etc/redis/redis.conf --slaveof $REDIS_MASTER_SERVICE_HOST $REDIS_MASTER_SERVICE_PORT"
|
||||||
|
],
|
||||||
|
"ports":[
|
||||||
|
{
|
||||||
|
"name":"redis-server",
|
||||||
|
"containerPort":6379,
|
||||||
|
"protocol":"TCP"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
20
examples/guestbook-go/v1beta3/redis-slave-service.json
Normal file
20
examples/guestbook-go/v1beta3/redis-slave-service.json
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"kind":"Service",
|
||||||
|
"apiVersion":"v1beta3",
|
||||||
|
"metadata":{
|
||||||
|
"name":"redis-slave",
|
||||||
|
"labels":{
|
||||||
|
"name":"redis",
|
||||||
|
"role":"slave"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spec":{
|
||||||
|
"port":6379,
|
||||||
|
"containerPort":"redis-server",
|
||||||
|
"protocol":"TCP",
|
||||||
|
"selector":{
|
||||||
|
"name":"redis",
|
||||||
|
"role":"slave"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
14
examples/guestbook/v1beta3/README.md
Normal file
14
examples/guestbook/v1beta3/README.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
## GuestBook v1beta3 example
|
||||||
|
|
||||||
|
This example shows how to build a simple, multi-tier web application using Kubernetes and Docker.
|
||||||
|
|
||||||
|
The example consists of:
|
||||||
|
- A web frontend
|
||||||
|
- A redis master (for storage and a replicated set of redis slaves)
|
||||||
|
|
||||||
|
The web front end interacts with the redis master via javascript redis API calls.
|
||||||
|
|
||||||
|
The v1beta3 API is not enabled by default. The kube-apiserver process needs to run with the --runtime_config=api/v1beta3 argument. Use the following command to enable it:
|
||||||
|
$sudo sed -i 's|KUBE_API_ARGS="|KUBE_API_ARGS="--runtime_config=api/v1beta3 |' /etc/kubernetes/apiserver
|
||||||
|
|
||||||
|
|
37
examples/guestbook/v1beta3/frontend-controller.json
Normal file
37
examples/guestbook/v1beta3/frontend-controller.json
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
"kind":"ReplicationController",
|
||||||
|
"apiVersion":"v1beta3",
|
||||||
|
"metadata":{
|
||||||
|
"name":"frontend",
|
||||||
|
"labels":{
|
||||||
|
"name":"frontend"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spec":{
|
||||||
|
"replicas":2,
|
||||||
|
"selector":{
|
||||||
|
"name":"frontend"
|
||||||
|
},
|
||||||
|
"template":{
|
||||||
|
"metadata":{
|
||||||
|
"labels":{
|
||||||
|
"name":"frontend"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spec":{
|
||||||
|
"containers":[
|
||||||
|
{
|
||||||
|
"name":"php-redis",
|
||||||
|
"image":"kubernetes/example-guestbook-php-redis",
|
||||||
|
"ports":[
|
||||||
|
{
|
||||||
|
"containerPort":80,
|
||||||
|
"protocol":"TCP"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
18
examples/guestbook/v1beta3/frontend-service.json
Normal file
18
examples/guestbook/v1beta3/frontend-service.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"kind":"Service",
|
||||||
|
"apiVersion":"v1beta3",
|
||||||
|
"metadata":{
|
||||||
|
"name":"frontend",
|
||||||
|
"labels":{
|
||||||
|
"name":"frontend"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spec":{
|
||||||
|
"port":80,
|
||||||
|
"containerPort":80,
|
||||||
|
"protocol":"TCP",
|
||||||
|
"selector":{
|
||||||
|
"name":"frontend"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
18
examples/guestbook/v1beta3/redis-master-service.json
Normal file
18
examples/guestbook/v1beta3/redis-master-service.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"kind":"Service",
|
||||||
|
"apiVersion":"v1beta3",
|
||||||
|
"metadata":{
|
||||||
|
"name":"redis-master",
|
||||||
|
"labels":{
|
||||||
|
"name":"redis-master"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spec":{
|
||||||
|
"port":6379,
|
||||||
|
"containerPort":6379,
|
||||||
|
"protocol":"TCP",
|
||||||
|
"selector":{
|
||||||
|
"name":"redis-master"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
37
examples/guestbook/v1beta3/redis-master.json
Normal file
37
examples/guestbook/v1beta3/redis-master.json
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
"kind":"ReplicationController",
|
||||||
|
"apiVersion":"v1beta3",
|
||||||
|
"metadata":{
|
||||||
|
"name":"redis-master",
|
||||||
|
"labels":{
|
||||||
|
"name":"redis-master"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spec":{
|
||||||
|
"replicas":1,
|
||||||
|
"selector":{
|
||||||
|
"name":"redis-master"
|
||||||
|
},
|
||||||
|
"template":{
|
||||||
|
"metadata":{
|
||||||
|
"labels":{
|
||||||
|
"name":"redis-master"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spec":{
|
||||||
|
"containers":[
|
||||||
|
{
|
||||||
|
"name":"master",
|
||||||
|
"image":"dockerfile/redis",
|
||||||
|
"ports":[
|
||||||
|
{
|
||||||
|
"containerPort":6379,
|
||||||
|
"protocol":"TCP"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
37
examples/guestbook/v1beta3/redis-slave-controller.json
Normal file
37
examples/guestbook/v1beta3/redis-slave-controller.json
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
"kind":"ReplicationController",
|
||||||
|
"apiVersion":"v1beta3",
|
||||||
|
"metadata":{
|
||||||
|
"name":"redis-slave",
|
||||||
|
"labels":{
|
||||||
|
"name":"redis-slave"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spec":{
|
||||||
|
"replicas":2,
|
||||||
|
"selector":{
|
||||||
|
"name":"redis-slave"
|
||||||
|
},
|
||||||
|
"template":{
|
||||||
|
"metadata":{
|
||||||
|
"labels":{
|
||||||
|
"name":"redis-slave"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spec":{
|
||||||
|
"containers":[
|
||||||
|
{
|
||||||
|
"name":"slave",
|
||||||
|
"image":"brendanburns/redis-slave",
|
||||||
|
"ports":[
|
||||||
|
{
|
||||||
|
"containerPort":6379,
|
||||||
|
"protocol":"TCP"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
18
examples/guestbook/v1beta3/redis-slave-service.json
Normal file
18
examples/guestbook/v1beta3/redis-slave-service.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"kind":"Service",
|
||||||
|
"apiVersion":"v1beta3",
|
||||||
|
"metadata":{
|
||||||
|
"name":"redis-slave",
|
||||||
|
"labels":{
|
||||||
|
"name":"redis-slave"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spec":{
|
||||||
|
"port":6379,
|
||||||
|
"containerPort":6379,
|
||||||
|
"protocol":"TCP",
|
||||||
|
"selector":{
|
||||||
|
"name":"redis-slave"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user