github.com/qsunny/k8s@v0.0.0-20220101153623-e6dca256d5bf/examples-master/guestbook/all-in-one/guestbook-all-in-one.yaml (about) 1 apiVersion: v1 2 kind: Service 3 metadata: 4 name: redis-master 5 labels: 6 app: redis 7 tier: backend 8 role: master 9 spec: 10 ports: 11 - port: 6379 12 targetPort: 6379 13 selector: 14 app: redis 15 tier: backend 16 role: master 17 --- 18 apiVersion: apps/v1 # for k8s versions before 1.9.0 use apps/v1beta2 and before 1.8.0 use extensions/v1beta1 19 kind: Deployment 20 metadata: 21 name: redis-master 22 spec: 23 selector: 24 matchLabels: 25 app: redis 26 role: master 27 tier: backend 28 replicas: 1 29 template: 30 metadata: 31 labels: 32 app: redis 33 role: master 34 tier: backend 35 spec: 36 containers: 37 - name: master 38 image: k8s.gcr.io/redis:e2e # or just image: redis 39 resources: 40 requests: 41 cpu: 100m 42 memory: 100Mi 43 ports: 44 - containerPort: 6379 45 --- 46 apiVersion: v1 47 kind: Service 48 metadata: 49 name: redis-slave 50 labels: 51 app: redis 52 tier: backend 53 role: slave 54 spec: 55 ports: 56 - port: 6379 57 selector: 58 app: redis 59 tier: backend 60 role: slave 61 --- 62 apiVersion: apps/v1 # for k8s versions before 1.9.0 use apps/v1beta2 and before 1.8.0 use extensions/v1beta1 63 kind: Deployment 64 metadata: 65 name: redis-slave 66 spec: 67 selector: 68 matchLabels: 69 app: redis 70 role: slave 71 tier: backend 72 replicas: 2 73 template: 74 metadata: 75 labels: 76 app: redis 77 role: slave 78 tier: backend 79 spec: 80 containers: 81 - name: slave 82 image: gcr.io/google_samples/gb-redisslave:v1 83 resources: 84 requests: 85 cpu: 100m 86 memory: 100Mi 87 env: 88 - name: GET_HOSTS_FROM 89 value: dns 90 # If your cluster config does not include a dns service, then to 91 # instead access an environment variable to find the master 92 # service's host, comment out the 'value: dns' line above, and 93 # uncomment the line below: 94 # value: env 95 ports: 96 - containerPort: 6379 97 --- 98 apiVersion: v1 99 kind: Service 100 metadata: 101 name: frontend 102 labels: 103 app: guestbook 104 tier: frontend 105 spec: 106 # comment or delete the following line if you want to use a LoadBalancer 107 type: NodePort 108 # if your cluster supports it, uncomment the following to automatically create 109 # an external load-balanced IP for the frontend service. 110 # type: LoadBalancer 111 ports: 112 - port: 80 113 selector: 114 app: guestbook 115 tier: frontend 116 --- 117 apiVersion: apps/v1 # for k8s versions before 1.9.0 use apps/v1beta2 and before 1.8.0 use extensions/v1beta1 118 kind: Deployment 119 metadata: 120 name: frontend 121 spec: 122 selector: 123 matchLabels: 124 app: guestbook 125 tier: frontend 126 replicas: 3 127 template: 128 metadata: 129 labels: 130 app: guestbook 131 tier: frontend 132 spec: 133 containers: 134 - name: php-redis 135 image: gcr.io/google-samples/gb-frontend:v4 136 resources: 137 requests: 138 cpu: 100m 139 memory: 100Mi 140 env: 141 - name: GET_HOSTS_FROM 142 value: dns 143 # If your cluster config does not include a dns service, then to 144 # instead access environment variables to find service host 145 # info, comment out the 'value: dns' line above, and uncomment the 146 # line below: 147 # value: env 148 ports: 149 - containerPort: 80