7,540
edits
Changes
→DeploymentConfig
==DeploymentConfig==
<br>
==service with ssl encryption==
Az egésznek a mozgató rugója, hogy a service objektumban szerepeltetjük a '''service.alpha.openshift.io/serving-cert-secret-name''' annotációt. Az itt megadott értékkel (a példában '''my-app-internal-cert''') létre fog jönni automatikusan egy TLS típusú secret mikor kiadjuk a svc-re az apply parancsot.
service.yaml
<source lang="C++">
apiVersion: v1
kind: Service
metadata:
annotations:
service.alpha.openshift.io/serving-cert-secret-name: my-app-internal-cert
labels:
app: my-app
configurable: "true"
name: my-app
namespace: mynamespace
...
</source>
Ezt a kulcsot fogja a service titkosításra használni.
<pre>
# kubectl get secret pod-monitor-internal-cert -o yaml
------------------------------------------------------
apiVersion: v1
data:
tls.crt: SDGSDFGsda...
tls.key: AFGGSDGcs....
kind: Secret
metadata:
name: my-app-internal-cert
namespace: mynamespace
ownerReferences:
- apiVersion: v1
kind: Service
name: my-app
type: kubernetes.io/tls
</pre>
A '''my-app-internal-cert''' secret-et bele kell tenni a Deployment-hez tartozó service-account-ba is, hogy mount-olni tudjuk majd a pod-ba: <br>
service-account.yaml
<source lang="C++">
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
app: my-app
name: my-app
secrets:
...
- name: my-app-internal-cert
</source>
deployment.yaml
<source lang="C++">
- mountPath: /var/run/secrets/https-internal-cert
name: https-internal-cert
readOnly: true
...
volumes:
- name: https-internal-cert
secret:
defaultMode: 420
secretName: my-app-internal-cert
</source>
<br>
<br>