αααα»αααΆαααΆα
αα»αααΊαααααΆααα ααααΌαβα‘αΎαβαααα»αβαααααΆααβαα»αααΊααα (αααα»αβααααΆααβα’ααβαααα»αβααΆαβααα½αβααααΆααβααΆ) ααα»ααααβα₯α‘αΌαβαααα»αβααΆααααβαααΆαβαααβααα αΉαβα ααααβααΆαβααααΎβααααΆααβαα αα αααα·ααααΆβαααα ααααα·αααΎα’ααααααα»αα’αΆαααΏαααα α’ααααααααΉαααΆααΆααααααααααα»αααΆααα»αααααα»ααα Docker ααΉαααΈα’ααααααααααααααα Kubernetes αα·αααααΎα±ααααΈαα·αααααα’αααααΆααααααΆααααα½αααΆαα½α Helmα
ααααααΆαααΆααααα ααΏαααααα
αααΆααααΆαα·ααΆαααΆαα’αααΈααααα½αααααααΌαααΆαα
ααΎααααΎααΌα
ααααα
ααΎααααΈαααααΎαα’αΆααααααΆαααααααααααααααααα·αα
αααααααΎαα
αα
α»ααααααααΆα?
α’αΆααααααΆαα Kubernetes ααΊααΆααααΆααααααΆαααΌαααααΉα/ααααααααα’αααα ααααααΎαααα»αααΌαααααα’αααα ααΆαααααα’αΆα ααΆααααααααΆααααΌαααααΆααα·αααααα ααΆααααααααΆααα’ααΈααα αα·αα’αααΈαααααααααα αααααααΎα’αΆααααααΆαα α’ααααααααΎαααΆαααααααααΆαα αααΆααααΆαααααΆαααΌα αα·αααΆαααααα αααα’αα»ααααΆαα±ααα’ααααααααααΆαααΆαααααααΆαααααααααΆαααααααΆααααΆαααΆααααα½αααααα·αα αΆαααΆα αααααΆααααααΌαααΌαααααΆαααΌαα
ααααΆαααΆαααΌαα ααΊαα αααααααααΌαα»αααΈαααααΌαααααΆααααααααΆαααααααΎααΌαααααΌαα α ααααΆαααααΆααααΆαααα ααΆααααα α ααααααα½αααααααΆααααααααα αααααααΆααααΌαααΆαααααα»ααα»ααααααΆααααΆαααααΆαααααααα½ααα αα½ααα αααα»αα αααααα
αααααΎαα’αΆααααααΆαα
ααΆααααααΆ ααΎααααΈαααααΎαα’αΆααααααΆαααα αααα»α Helm α’αααααααΌαα
- αα·αααααΆβα’αΆααααααΆααβαααα»αβα―αααΆαβααααα;
- αααααααΆα‘αΎααα·ααααα»αα’αα‘α»ααααααααΎαααΆαααΆαααααααΆα;
- ααααα ααΆαα ααΆααααα»αααΆαααΆαααααααΆα / pod;
- ...α αααα!
ααΆααααααΆααΆααΎααα ααΌα αααα
apiVersion: v1
kind: Secret
metadata:
name: my-super-awesome-api-key
type: Opaque
stringData:
apiKey: {{ .Values.MyApiKeySecret | quote }}
α’αΆααααααΆαα Kubernetes ααΆαααααααααααΎαααααααΈ values.yml
ααα»ααααα§αααΆααΆα’ααααα·αα αααααααΆααα’αΆααααααΆααααααα’ααααα αααα»αα―αααΆααααααααα
ααΆααααααΎαααΆα αααΎααα ααααααααΆαααΆαααααααΆαααΆαααΆααααα½α αααααααΌααααααααΎαααα‘α»ααααααα‘αΎαα
αα αααα»αα§ααΆα αααααααΆααααααααΈαααΌαα»ααα½ααα αααΌαα»αααΆαααΎ ααΆαα·αα ααα αααααααα’αΆααααααΆαααα ααΆααααα ααΆαααΆααα±ααααααΎααααΆαααααααα ααΌα ααααα αΎα ααΆααΆααΆαα ααααΆααααΆαααααΆααααα Helm ααΆαααααααΆαααΎααααΈαααααΎαα’αΆααααααΆαααααααααααααααααα· ααααα·αα αΆαααΆα ααααααΆαααααααααΆααα
ααααα
Hooks α’αα»ααααΆαα±ααα’αααααααΎαααΆαααΌααα ααΈααΆααααΆααααΆαααααα»αα’αα‘α»ααααααααΎαααΆαααα‘αΎαα ααΆα’αΆα ααΆαααΆαααΆαααααααα ααΆαααααααααααααααΌαααΆαααααΎαααΆααααααΆααααΈααΆαααα‘αΎαααααΌα α¬αααα ααααΆααΆααααα’αΆαααααΌαααααΎαα»ααααααααΎαα αα α»ααααααααΆαααΆαα½αα
ααΎααααΈαααααααΆααααα αΆααααααΎααααα»αααΆααααααααααααααΆααααααΎαααα‘α»ααααααα‘αΎα ααααααα»αααΆαααα‘αΎαααΊααα’αααα»αα ααα»ααααααΆαααΆαα αΆααααΆααα½αα α’ααααα·αα’αΆα αααααΎαααΆααααααΆαααααααααααααααααα·αα αααααααΎαα αα α»ααααααααΆαααΆαααα Hooks ααΉαααααΎαααΆαααΎααΆααααΆαα’αΆαααααα
ααααα·αααΎα’αααααΆααααααΎαα’αΆααααααΆααααααα’ααα α αΎαααΆαααα‘αΎαααααΌαααααα’ααααα·αααΆααααΎαα‘αΎααα αααααΆαααααααα’αΆα ααααααα»αααα‘αΎαααΉαααααΎαααΆαααα’αααααΆααα’αααα
ααα»ααααααααα·αααΎα’αΆααααααΆααααΊααΆααααααα½αααααΆαα’αΆααααα (αααα ααααΆαα»αααΆαααααΈααααα·αααΆααα αααααα‘αΎα) αααααΆααΆααΆαα’αΆαααΆαααααα’ααααα·αα’αΆα αααααΎαααααααα»αααΆαααα‘αΎααααααααΎαααΆαααααααααα»αααααα
α’αα»αααα
αα»αααΆα Helm α’αα»ααααΆαα±ααα’αααααααααααΆαα»ααααααΈααααααααα ααααααΈαααΆαααααααΆαααααα’αααα
apiVersion: v1
kind: Secret
metadata:
name: my-super-awesome-api-key
type: Opaque
stringData:
apiKey: {{ uuidv4 | quote }} #Generate a new UUID and quote it
α§ααΆα αααααααααα αΆαααΆααααααα apiKey secret ααΉαααααΆαααΆ UUID ααααΈαααααΆααααααΎαααα‘α»ααααααα‘αΎαα
Helm αα½ααααα αΌααααααΆααααααααααα·ααααααΆαααΌααααΌααΆααααααααΎααααΆαααα»αααΆαααααΌ GO ααα’ααα αΆααα αα·ααααααΆααααααααααα·ααααααα Sprig ααΎααααΈαααααΎαααΆαααΆααα±ααααααΎααααΆααααααΆαααααα½αα
αα»αααΆαααααααα
ααΆααααααααα
αααα»α Helm 3.1
- αα·αα·αααα’αααα·ααΆαααααααΆα;
- αααα‘αααααααααααααΆααααααΆαααααΆαααααααΆααααΆαααααΎααααΆαααα ααααααααα
αααααααΎαααααααΆαααΆααααΈαααα ααΎαα’αΆα αααααΎαααΆααααααΆααααααααααΎααααααΆααααααααααα!
# 1. ΠΠ°ΠΏΡΠΎΡΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΠ΅ΡΠ° ΠΈ Π²Π΅ΡΠ½ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $secret
{{- $secret := (lookup "v1" "Secret" .Release.Namespace "some-awesome-secret" -}}
apiVersion: v1
kind: Secret
metadata:
name: some-awesome-secret
type: Opaque
# 2. ΠΡΠ»ΠΈ ΡΠ΅ΠΊΡΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, Π²Π·ΡΡΡ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ apiKey (ΡΠ΅ΠΊΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Base64, ΡΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»ΡΡ "data")
{{ if $secret -}}
data:
apiKey: {{ $secret.data.apiKey }}
# 3. ΠΡΠ»ΠΈ ΡΠ΅ΠΊΡΠ΅Ρ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ β ΡΠΎΠ·Π΄Π°ΡΡ Π΅Π³ΠΎ (Π² ΡΡΠΎΡ ΡΠ°Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ "stringData", ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅)!
{{ else -}}
stringData:
apiKey: {{ uuidv4 | quote }}
{{ end }}
αα αααααΆαααααΆαα’αΆαααααααααΈααααΌαααΆαα’αα»ααααα αααααααΆαααΈααα α ααααΉααααααΎαααααααααααΆααααααΈ (ααααα·αααΎαα·αααΆααααΆαα’αΆααααααΆαααα α‘αΎα) α¬ααααΎααααααααααΆαααααΆααα‘αΎααα·αα
ααΌαααααΆαααα’!
ααΎααΆαα’αααΈααααααααααΌαα’αΆαααΎαααααΆααα:
ααααα·αααααΆαααααΎααΆαααααααΆααααααααααααααααα·α ααα½αααΈαα αααα»α Kubernetes αα·αααααααααΎααααΆαααα½αααΆααααααααααααα·αααααΆα .Kubernetes αααα»αααααΆαααΈααααΆααα½α α ααααααΆαα½αααααΌαααααΆααααΆαα’αα»αααα .ααα»αααα·αααααααΎααα αα»ααα·α Kubernetes αα αααα»α Telegram .
ααααα: www.habr.com