K8s/Service: Difference between revisions
Jump to navigation
Jump to search
(13 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
==Redis== | |||
{| | |||
|colspan='3'| | |||
<syntaxhighlight lang="bash"> | |||
kubectl config get-contexts | |||
kubectl get ns | grep redis | |||
</syntaxhighlight> | |||
|- | |||
|colspan='3'| | |||
---- | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang="yaml" highlight="9" line> | |||
cat << YML | kubectl -n redis apply -f - | |||
--- | |||
apiVersion: v1 | |||
kind: Service | |||
metadata: | |||
name: redis-lb | |||
namespace: redis | |||
labels: | |||
app.kubernetes.io/name: redis | |||
app.kubernetes.io/managed-by: kubectl | |||
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 | |||
</syntaxhighlight> | |||
|valign='top'| | |||
|valign='top'| | |||
|- | |||
|colspan='3'| | |||
---- | |||
|- | |||
|valign='top'| | |||
|valign='top'| | |||
|valign='top'| | |||
|} | |||
==GitLab== | |||
{| | |||
|colspan='3'| | |||
<syntaxhighlight lang="bash"> | |||
kubectl config get-contexts | |||
kubectl get ns |grep gitlab | |||
</syntaxhighlight> | |||
|- | |||
|colspan='3'| | |||
---- | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang="yaml" highlight="9" line> | |||
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 | |||
</syntaxhighlight> | |||
|valign='top'| | |||
<syntaxhighlight lang="yaml" highlight="9"> | |||
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 | |||
</syntaxhighlight> | |||
|valign='top'| | |||
|- | |||
|colspan='3'| | |||
---- | |||
|- | |||
|valign='top'| | |||
|valign='top'| | |||
|valign='top'| | |||
|} | |||
==External== | ==External== | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 36: | Line 174: | ||
type: ExternalName | type: ExternalName | ||
externalName: host.minikube.internal | externalName: host.minikube.internal | ||
YML | |||
</syntaxhighlight> | |||
|valign='top'| | |||
|valign='top'| | |||
|- | |||
|colspan='3'| | |||
---- | |||
|- | |||
|valign='top'| | |||
|valign='top'| | |||
|valign='top'| | |||
|} | |||
==MariaDB== | |||
{| | |||
|colspan='3'| | |||
<syntaxhighlight lang="bash"> | |||
kubectl config get-contexts | |||
kubectl get ns|grep mariadb | |||
</syntaxhighlight> | |||
|- | |||
|colspan='3'| | |||
---- | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang="yaml" highlight="9" line> | |||
cat << YML | kubectl -n mariadb apply -f - | |||
--- | |||
apiVersion: v1 | |||
kind: Service | |||
metadata: | |||
name: mariadb-lb | |||
namespace: mariadb | |||
labels: | |||
app.kubernetes.io/name: mariadb | |||
app.kubernetes.io/managed-by: kubectl | |||
annotations: | |||
meta.helm.sh/release-name: mariadb | |||
meta.helm.sh/release-namespace: mariadb | |||
spec: | |||
type: LoadBalancer | |||
ports: | |||
- port: 3306 | |||
name: mysql | |||
protocol: TCP | |||
targetPort: mysql | |||
selector: | |||
app.kubernetes.io/name: mariadb | |||
app.kubernetes.io/instance: mariadb | |||
YML | |||
</syntaxhighlight> | |||
|valign='top'| | |||
|valign='top'| | |||
|- | |||
|colspan='3'| | |||
---- | |||
|- | |||
|valign='top'| | |||
|valign='top'| | |||
|valign='top'| | |||
|} | |||
==PostgreSQL== | |||
{| | |||
|colspan='3'| | |||
<syntaxhighlight lang="bash"> | |||
kubectl config get-contexts | |||
kubectl get ns|grep postgresql | |||
</syntaxhighlight> | |||
|- | |||
|colspan='3'| | |||
---- | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang="yaml" highlight="9" line> | |||
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 | YML | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 151: | Line 401: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|valign='top' | |valign='top'| | ||
|valign='top'| | |||
|- | |- | ||
Line 176: | Line 424: | ||
* [[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/MariaDB|Helm » MariaDB]] | |||
* [[Helm/GitLab|Helm » GitLab]] | |||
* [[Helm/Redis|Helm » Redis]] | |||
|valign='top'| | |valign='top'| |
Latest revision as of 07:31, 11 September 2024
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/name: redis
app.kubernetes.io/managed-by: kubectl
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
|
||
| ||
MariaDB
kubectl config get-contexts
kubectl get ns|grep mariadb
| ||
| ||
cat << YML | kubectl -n mariadb apply -f -
---
apiVersion: v1
kind: Service
metadata:
name: mariadb-lb
namespace: mariadb
labels:
app.kubernetes.io/name: mariadb
app.kubernetes.io/managed-by: kubectl
annotations:
meta.helm.sh/release-name: mariadb
meta.helm.sh/release-namespace: mariadb
spec:
type: LoadBalancer
ports:
- port: 3306
name: mysql
protocol: TCP
targetPort: mysql
selector:
app.kubernetes.io/name: mariadb
app.kubernetes.io/instance: mariadb
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
| ||
| ||