K8s/Service
Redis
kubectl config get-contexts
kubectl get ns | grep redis
| ||
| ||
cat << YML | kubectl -n redis apply -f -
---
apiVersion: v1
kind: Service
metadata:
name: redis-lb
namespace: redis
labels:
app.kubernetes.io/instance: redis
app.kubernetes.io/name: redis
annotations:
meta.helm.sh/release-name: redis
meta.helm.sh/release-namespace: redis
spec:
type: LoadBalancer
ports:
- port: 6379
name: redis
protocol: TCP
targetPort: redis
selector:
app.kubernetes.io/instance: redis
app.kubernetes.io/name: redis
YML
|
||
| ||
GitLab
kubectl config get-contexts
kubectl get ns |grep gitlab
| ||
| ||
cat << YML | kubectl -n gitlab apply -f -
---
apiVersion: v1
kind: Service
metadata:
name: gitlab-lb
namespace: gitlab
labels:
app: gitlab
app.kubernetes.io/managed-by: kubectl
annotations:
meta.helm.sh/release-name: gitlab
meta.helm.sh/release-namespace: gitlab
spec:
type: LoadBalancer
ports:
- port: 22
name: ssh
protocol: TCP
targetPort: 22
selector:
app: gitlab
release: gitlab
YML
|
cat << YML | kubectl -n gitlab apply -f -
---
apiVersion: v1
kind: Service
metadata:
name: gitlab-lb
namespace: gitlab
labels:
app: gitlab-shell
app.kubernetes.io/managed-by: kubectl
annotations:
meta.helm.sh/release-name: gitlab
meta.helm.sh/release-namespace: gitlab
spec:
type: LoadBalancer
ports:
- port: 22
name: ssh
protocol: TCP
targetPort: 2222
selector:
app: gitlab-shell
release: gitlab
YML
|
|
| ||
External
kubectl config get-contexts
kubectl get ns|grep external
kubectl create namespace external
Internal
kubectl config get-contexts
kubectl get ns|grep internal
kubectl create namespace internal
| ||
| ||
cat << YML|kubectl apply -n internal -f -
---
apiVersion: v1
kind: Service
metadata:
name: minikube-host
namespace: internal
labels:
app.kubernetes.io/version: 1.0.0
app.kubernetes.io/managed-by: kubectl
app.kubernetes.io/name: minikube-host
app.kubernetes.io/instance: minikube-host
spec:
type: ExternalName
externalName: host.minikube.internal
YML
|
||
| ||
PostgreSQL
kubectl config get-contexts
kubectl get ns|grep postgresql
| ||
| ||
cat << YML | kubectl -n postgresql apply -f -
---
apiVersion: v1
kind: Service
metadata:
name: postgresql-lb
namespace: postgresql
labels:
app.kubernetes.io/name: postgresql
app.kubernetes.io/managed-by: kubectl
annotations:
meta.helm.sh/release-name: postgresql
meta.helm.sh/release-namespace: postgresql
spec:
type: LoadBalancer
ports:
- port: 5432
protocol: TCP
name: tcp-postgresql
targetPort: tcp-postgresql
selector:
app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: postgresql
YML
|
||
| ||
Ingress » Nginx
kubectl config get-contexts
kubectl get ns|grep ingress-nginx
| ||
| ||
cat << YML | kubectl apply -n ingress-nginx -f -
---
apiVersion: v1
kind: Service
metadata:
name: ingress-nginx
namespace: ingress-nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
spec:
type: LoadBalancer
ports:
- name: http
port: 80
targetPort: 80
protocol: TCP
- name: https
port: 443
targetPort: 443
protocol: TCP
- name: proxied-tcp-5432
port: 5432
targetPort: 5432
protocol: TCP
- name: proxied-tcp-6379
port: 6379
targetPort: 6379
protocol: TCP
- name: proxied-udp-1194
port: 1194
targetPort: 1194
protocol: UDP
- name: proxied-udp-53
port: 53
targetPort: 53
protocol: UDP
selector:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
YML
|
Playground
kubectl -n external get endpoints
kubectl -n external get service
kubectl -n external get ingress
|
kubectl -n internal get endpoints
kubectl -n internal get service
kubectl -n internal get ingress
|
kubectl config get-contexts
sudo -i -u minikube
helm list -A
|
| ||
kubectl get all -A
kubectl get ns
|
||
| ||
References
| ||
| ||