Generate TLS Secret for kubernetes

DevOps Nov 26, 2018

สำหรับใครที่ต้องการนำไฟล์ SSL เช่น domain.com.key หรือ domain.com.crt มาใช้งานใน K8S เราสามารถนำเข้ามาได้โดยวิธีการสร้าง Secret ดังนี้

นำไฟล์ .key และ .crt มาทำเป็น base64 ก่อน

⚡ cat twinsynergy.co.th.key | base64 -w0
LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS...
⚡ cat twinsynergy.co.th.crt | base64 -w0
LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS...

สร้างไฟล์ secret.yml ดังนี้

apiVersion: v1
kind: Secret
data:
  tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdYVENDQlVXZ0F3...
  tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2Z0lCQ...
metadata:
  name: <secret_name>
type: Opaque
  • tls.crt กับ tls.key ก็ให้เราใส่ค่า base64 จากด้านบนที่ได้มา
  • <secret_name> ไว้ให้เราตั้งชื่อ secret ที่จะสร้าง

นำ secret.yml มาใช้

⚡ kubectl create -f secret.yml

ตรวจสอบ secret ใน K8S ของเรา

⚡ kubectl get secret
NAME                                                           TYPE                                  DATA      AGE
ssl-key-twin                                                   Opaque                                2         76d
ssl-vertobase                                                  Opaque                                2         47d

ส่วนวิธีการนำมาใช้เดียวผมจะกล่าวในครั้งต่อไป

Arnon Kijlerdphon

IT manager & DevOps @Twin Synergy Co.,Ltd

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.