diff --git a/k8s/jobs/service_with_ingress_nginx/README.md b/k8s/jobs/service_with_ingress_nginx/README.md new file mode 100644 index 0000000..3e47ee6 --- /dev/null +++ b/k8s/jobs/service_with_ingress_nginx/README.md @@ -0,0 +1,17 @@ +# Service with ingress nginx + +1. Install ingress nginx controller + +``` +kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml +``` + +https://kubernetes.github.io/ingress-nginx/deploy/ + +2. Verify installation + +``` +kubectl get pods --all-namespaces -l app.kubernetes.io/name=ingress-nginx +``` + + diff --git a/k8s/jobs/service_with_ingress_nginx/default.yaml b/k8s/jobs/service_with_ingress_nginx/default.yaml new file mode 100644 index 0000000..7f0eb85 --- /dev/null +++ b/k8s/jobs/service_with_ingress_nginx/default.yaml @@ -0,0 +1,20 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: http-app +spec: + selector: + matchLabels: + app: http-server + template: + metadata: + labels: + app: http-server + spec: + containers: + - + args: + - "-text=Hello world" + image: "hashicorp/http-echo:latest" + name: http-server diff --git a/k8s/jobs/service_with_ingress_nginx/ingress.yaml b/k8s/jobs/service_with_ingress_nginx/ingress.yaml new file mode 100644 index 0000000..5721cf7 --- /dev/null +++ b/k8s/jobs/service_with_ingress_nginx/ingress.yaml @@ -0,0 +1,14 @@ +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: http-app-ingress + annotations: + kubernetes.io/ingress.class: "nginx" # ingress will scan it +spec: + rules: + - http: + paths: + - path: /sub-path + backend: + serviceName: http-app-service + servicePort: 5678 diff --git a/k8s/jobs/service_with_ingress_nginx/service.yaml b/k8s/jobs/service_with_ingress_nginx/service.yaml new file mode 100644 index 0000000..7ca3bfa --- /dev/null +++ b/k8s/jobs/service_with_ingress_nginx/service.yaml @@ -0,0 +1,11 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: http-app-service +spec: + type: NodePort + ports: + - port: 5678 + selector: + app: http-server diff --git a/k8s/jobs/simple_http_server/README.md b/k8s/jobs/simple_http_server/README.md new file mode 100644 index 0000000..3e38dab --- /dev/null +++ b/k8s/jobs/simple_http_server/README.md @@ -0,0 +1,21 @@ +# Simple http server + +1. Apply deployment and service + +``` +kubectl apply ./ +``` + +2. Expose the deployment to outside + +It's based on K8S environment. If we use minikube, please use: + +``` +minikube service http-app-service +``` + +3. Browse the cluster with exposed service IP + +``` +Hello world +``` diff --git a/k8s/jobs/simple_http_server/default.yaml b/k8s/jobs/simple_http_server/default.yaml new file mode 100644 index 0000000..7f0eb85 --- /dev/null +++ b/k8s/jobs/simple_http_server/default.yaml @@ -0,0 +1,20 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: http-app +spec: + selector: + matchLabels: + app: http-server + template: + metadata: + labels: + app: http-server + spec: + containers: + - + args: + - "-text=Hello world" + image: "hashicorp/http-echo:latest" + name: http-server diff --git a/k8s/jobs/simple_http_server/service.yaml b/k8s/jobs/simple_http_server/service.yaml new file mode 100644 index 0000000..7ca3bfa --- /dev/null +++ b/k8s/jobs/simple_http_server/service.yaml @@ -0,0 +1,11 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: http-app-service +spec: + type: NodePort + ports: + - port: 5678 + selector: + app: http-server diff --git a/k8s/setup/minikube.md b/k8s/setup/minikube.md new file mode 100644 index 0000000..8ccb433 --- /dev/null +++ b/k8s/setup/minikube.md @@ -0,0 +1,32 @@ +# Minikube + +## Installation + +Prerequirement: +- hypervisor (KVM, virtual box) +- docker + +https://minikube.sigs.k8s.io/docs/start/macos/ + +Note: + - Sometime we need to restart to manachine to make hypervisor and minikube work together + +## Commands + +- Start minikube: + +``` +minikube start +``` + +- Check minikube status: + +``` +minikube status +``` + +- Start dashboard with minikube: + +``` +minikube dashboard +```