K8s/Service: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
Line 313: Line 313:
* [[K8s/Ingress|K8s » Ingress]]
* [[K8s/Ingress|K8s » Ingress]]
* [[K8s/Run|K8s » Run]]
* [[K8s/Run|K8s » Run]]
|valign='top'|
|valign='top'|
|-
|colspan='3'|
----
|-
|valign='top'|
* [[Helm/GitLab External|Helm » GitLab » External]]
* [[Helm/PostgreSQL|Helm » PostgreSQL]]
* [[Helm/GitLab|Helm » GitLab]]
* [[Helm/Redis|Helm » Redis]]


|valign='top'|
|valign='top'|

Revision as of 22:10, 6 September 2024

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/component: primary
    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