help/rtfd/public/kubernetes/index.rst

167 lines
1.9 KiB
ReStructuredText
Raw Normal View History

2023-07-08 18:24:09 +02:00
**********
Kubernetes
**********
Pods
====
2023-07-08 18:29:00 +02:00
Read
----
2023-07-08 18:24:09 +02:00
.. code:: shell
2023-07-08 18:29:00 +02:00
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
2023-07-08 18:24:09 +02:00
Deployments
===========
2023-07-08 18:33:10 +02:00
Read
----
2023-07-08 18:24:09 +02:00
.. code:: shell
kubectl get \
deploy my-deployment \
-n my-namespace \
-o wide
.. code:: shell
kubectl get \
deployments \
-n my-namespace
2023-07-08 18:33:10 +02:00
Execute
-------
2023-07-08 18:24:09 +02:00
.. 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:
2023-07-08 18:29:00 +02:00
- name: my-container
2023-07-08 18:24:09 +02:00
image: my-image
2023-07-08 18:33:10 +02:00
Write
-----
.. code:: shell
kubectl \
set image \
deployment/my-deployment \
my-app=my-app:1.0.1 \
-n my-namespace
2023-07-08 18:34:59 +02:00
2023-07-08 18:40:04 +02:00
.. code:: shell
kubectl \
delete deploy my-deployment \
-n my-namespace
2023-07-08 18:34:59 +02:00
Scale
-----
.. code:: shell
kubectl \
scale deploy my-deployment \
--replicas 3 \
-n my-namespace
2023-07-08 18:59:58 +02:00
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!