Skip to content

Instantly share code, notes, and snippets.

View hakaneroztekin's full-sized avatar

Hakan Eroztekin hakaneroztekin

View GitHub Profile
@hakaneroztekin
hakaneroztekin / statefulset-architecture.sh
Created July 29, 2022 04:24
statefulset-architecture [kubernetes in a nutshell]
┏━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━┓
| my-pod-1 |--->| mysql (r/w replica) |
┗━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━┛
┏━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━┓
| my-pod-2 |--->| mysql (read replica) |
┗━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━┛
@hakaneroztekin
hakaneroztekin / service.yml
Created July 21, 2022 17:42
service [kubernetes in a nutshell]
apiVersion: v1
kind: Service
metadata:
name: basic-spring-service
spec:
type: NodePort
ports:
- port: 8080
nodePort: 30056
targetPort: 8080
@hakaneroztekin
hakaneroztekin / deployment-v2.yml
Created July 20, 2022 17:46
deployment-v2 [kubernetes in a nutshell]
apiVersion: apps/v1
kind: Deployment
metadata:
name: basic-spring-app-deployment
spec:
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
@hakaneroztekin
hakaneroztekin / deployment.yml
Last active July 19, 2022 18:12
deployment [kube in a nutshell]
apiVersion: apps/v1
kind: Deployment
metadata:
name: basic-spring-app-deployment
spec:
replicas: 5
selector:
matchLabels:
env: development
minReadySeconds: 15
@hakaneroztekin
hakaneroztekin / pod.yml
Last active July 19, 2022 18:04
pod [kubernetes in a nutshell]
apiVersion: v1
kind: Pod
metadata:
name: basic-spring-app
labels:
env: development
spec:
containers:
- name: basic-spring-app
image: hakaneroztekin/basic-spring-app
@hakaneroztekin
hakaneroztekin / kube-architecture.sh
Created July 19, 2022 17:01
kube-architecture [kubernetes in a nutshell]
control plane
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|┏━━━━━━━━━━┓ ┏━━━━━━━━━━━━━┓|
|| |<-->|cluster store||
|| | ┗━━━━━━━━━━━━━┛|
|| | ┏━━━━━━━━━━━━━┓|
kubectl<-->||api server|<-->| controller ||
|| | ┗━━━━━━━━━━━━━┛|
┏-->|| | ┏━━━━━━━━━━━━━┓|
| || |<-->| scheduler ||
@hakaneroztekin
hakaneroztekin / docker-compose-with-network.yml
Last active June 17, 2022 09:24
docker-compose-with-network [docker in a nutshell]
version: "3.7"
services:
spring-app:
build: .
image: spring-app
ports:
- "4000:8080"
networks:
- shared-network
depends_on:
@hakaneroztekin
hakaneroztekin / docker-compose-with-volume.yml
Created June 17, 2022 05:31
docker-compose-with-volume [docker in a nutshell]
version: "3.7"
services:
spring-app:
build: .
image: spring-app
ports:
- "4000:8080"
networks:
- shared-network
depends_on:
@hakaneroztekin
hakaneroztekin / docker-create-bridge-network.ls
Created June 16, 2022 10:26
docker-create-bridge-network [docker in a nutshell]
$ docker network create -d bridge my-bridge-network
0ced7774d30c6be499dea707770a2a3783ef8336404d2b6bbb2e4d5743daebc9
@hakaneroztekin
hakaneroztekin / docker-spring-controller.java
Last active June 16, 2022 13:39
docker-spring-main-method [spring in a nutshell]
@RestController
@RequestMapping("/")
@RequiredArgsConstructor
public class GreetingsController {
private static final String DOCUMENT_KEY = "clickCount";
private final ClickCountRepository clickCountRepository;
@GetMapping