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