help/rtfd/public/kubernetes/index.rst
Marc Beninca 984a59a8f0 kube/svc
2023-07-08 18:59:58 +02:00

166 lines
1.9 KiB
ReStructuredText

**********
Kubernetes
**********
Pods
====
Read
----
.. code:: shell
kubectl \
get pods \
-n my-namespace
Execute
-------
.. code:: shell
kubectl \
run my-pod \
--image my-image \
--restart Never \
-n my-namespace
Write
-----
.. code:: shell
kubectl edit \
pod my-pod \
-n my-namespace
.. code:: shell
kubectl delete \
pod my-pod \
-n my-namespace \
--grace-period 0
Deployments
===========
Read
----
.. code:: shell
kubectl get \
deploy my-deployment \
-n my-namespace \
-o wide
.. code:: shell
kubectl get \
deployments \
-n my-namespace
Execute
-------
.. code:: shell
kubectl create \
deploy my-deployment \
--image my-image \
-n my-namespace
.. code:: yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 2
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-container
image: my-image
Write
-----
.. code:: shell
kubectl \
set image \
deployment/my-deployment \
my-app=my-app:1.0.1 \
-n my-namespace
.. code:: shell
kubectl \
delete deploy my-deployment \
-n my-namespace
Scale
-----
.. code:: shell
kubectl \
scale deploy my-deployment \
--replicas 3 \
-n my-namespace
Services
========
* ClusterIP (internal)
* ExternalName (internal alias for external DNS)
* LoadBalancer (external dedicated IP) [if available]
* NodePort (exposed via node)
Read
----
.. code:: shell
kubectl \
get services \
-n my-namespace
.. code:: shell
kubectl \
get service my-service \
-n my-namespace
Write
-----
.. code:: shell
kubectl \
expose deployment my-deployment \
--type LoadBalancer \
--name my-load-balancer \
--target-port 8080 \
-n my-namespace
.. code:: shell
kubectl \
delete service my-service \
-n my-namespace
.. code:: shell
kubectl \
edit service my-service \
-n my-namespace
.. warning::
ClusterIP is immutable!