Integrace s nasazením Kubernetes pomocí Helm
Helm poskytuje způsob, jak definovat, instalovat a upgradovat aplikace běžící v Kubernetes. Graf Helm obsahuje informace potřebné k vytvoření instance aplikace Kubernetes. Konfigurace je uložena mimo samotný graf, v souboru s názvem Values. yaml.
Během procesu vydávání Helm sloučí graf se správnou konfigurací pro spuštění aplikace. Například proměnné definované v hodnotách. yaml mohou být odkazovány jako proměnné prostředí uvnitř spuštěných kontejnerů. Helm také podporuje vytváření tajných klíčů Kubernetes, které se dají připojit jako datové svazky nebo zveřejnit jako proměnné prostředí.
Hodnoty uložené v hodnotách. yaml můžete přepsat tak, že na příkazovém řádku zadáte další konfigurační soubory založené na YAML při spuštění Helm. Konfigurace aplikace Azure podporuje export hodnot konfigurace do souborů YAML. Integrací této možnosti exportu do nasazení umožníte aplikacím Kubernetes využívat konfigurační hodnoty uložené v konfiguraci aplikace.
V tomto kurzu se naučíte:
- Při nasazování aplikace do Kubernetes pomocí Helm používejte hodnoty z konfigurace aplikace.
- Vytvoření tajného klíče Kubernetes na základě odkazu na Key Vault v konfiguraci aplikace.
V tomto kurzu se předpokládá základní znalost správy Kubernetes pomocí Helm. Přečtěte si další informace o instalaci aplikací pomocí Helm ve službě Azure Kubernetes.
Požadavky
- Pokud ještě nemáte předplatné Azure,vytvořte si bezplatný účet před tím, než začnete.
- Instalace rozhraní příkazového řádku Azure (verze 2.4.0 nebo novější)
- Nainstalovat Helm (verze 2.14.0 nebo novější)
- Cluster Kubernetes.
Vytvoření úložiště konfigurace aplikace
Pokud chcete vytvořit nové úložiště konfigurace aplikace, přihlaste se k Azure Portal. V levém horním rohu domovské stránky vyberte vytvořit prostředek. Do pole Hledat na Marketplace zadejte Konfigurace aplikace a vyberte ENTER.

Ve výsledcích hledání vyberte Konfigurace aplikace a pak vyberte vytvořit.

V podokně vytvořit konfiguraci aplikace zadejte následující nastavení:
Nastavení Navrhovaná hodnota Popis Předplatné Vaše předplatné Vyberte předplatné Azure, které chcete použít k testování konfigurace aplikace. Pokud má váš účet jenom jedno předplatné, vybere se automaticky a seznam předplatných se nezobrazí. Skupina prostředků AppConfigTestResources Vyberte nebo vytvořte skupinu prostředků pro prostředek úložiště konfigurace aplikace. Tato skupina je užitečná k organizování více prostředků, které můžete chtít odstranit současně odstraněním skupiny prostředků. Další informace najdete v tématu použití skupin prostředků ke správě prostředků Azure. Název prostředku Globálně jedinečný název Zadejte jedinečný název prostředku, který se má použít pro prostředek úložiště konfigurace aplikace. Název musí být řetězec o 5 až 50 znaků a obsahovat pouze čísla, písmena a -znak. Název nesmí začínat ani končit-znakem.Umístění USA – střed Umístění použijte k určení geografického umístění, ve kterém je úložiště konfigurace aplikace hostované. Nejlepšího výkonu dosáhnete vytvořením prostředku ve stejné oblasti jako jiné součásti aplikace. Cenová úroveň Free Vyberte požadovanou cenovou úroveň. Další informace najdete na stránce s cenami konfigurace aplikací. Vyberte zkontrolovat + vytvořit a ověřte nastavení.
Vyberte Vytvořit. Nasazení může trvat několik minut.
Po dokončení nasazení přejděte do prostředku konfigurace aplikace. Vyberte Nastavení > Přístupové klíče. Poznamenejte si primární připojovací řetězec klíče jen pro čtení. Pomocí tohoto připojovacího řetězce později nakonfigurujete aplikaci tak, aby komunikovala s úložištěm konfigurace aplikace, které jste vytvořili.
Vyberte Průzkumník konfigurace > vytvořit a přidejte následující páry klíč-hodnota:
Klíč Hodnota Settings. Color White nastavení. zpráva Data z konfigurace aplikace Azure V tuto chvíli ponechat popisek a typ obsahu prázdné.
Přidat odkaz Key Vault do konfigurace aplikace
Přihlaste se k Azure Portal a přidejte tajný klíč do Key Vault s názvem heslo a hodnotou.
Vyberte instanci úložiště konfigurace aplikace, kterou jste vytvořili v předchozí části.
Vyberte Průzkumník konfigurace.
Vyberte + vytvořit > odkaz na Trezor klíčů a pak zadejte následující hodnoty:
- Klíč: vyberte tajné klíče. Password.
- Popisek: Nechte tuto hodnotu prázdnou.
- Předplatné, Skupina prostředků a Trezor klíčů: zadejte hodnoty odpovídající klíčům v trezoru klíčů, který jste vytvořili v předchozím kroku.
- Tajný kód: vyberte tajný kód s názvem heslo , které jste vytvořili v předchozí části.
Vytvořit graf Helm
Nejprve vytvořte ukázkový graf Helm pomocí následujícího příkazu:
helm create mychart
Helm vytvoří nový adresář s názvem Mychart se strukturou uvedenou níže.
Tip
Další informace najdete v tomto Průvodci grafy .
mychart
|-- Chart.yaml
|-- charts
|-- templates
| |-- NOTES.txt
| |-- _helpers.tpl
| |-- deployment.yaml
| |-- ingress.yaml
| `-- service.yaml
`-- values.yaml
Dále aktualizujte část Specifikace: Šablona: specifikace: Containers souboru Deployment. yaml . Následující fragment kódu přidá do kontejneru dvě proměnné prostředí. Hodnoty se nastavují dynamicky v době nasazení.
env:
- name: Color
value: {{ .Values.settings.color }}
- name: Message
value: {{ .Values.settings.message }}
Úplný soubor Deployment. yaml po aktualizaci by měl vypadat níže.
apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: {{ include "mychart.fullname" . }}
labels:
app.kubernetes.io/name: {{ include "mychart.name" . }}
helm.sh/chart: {{ include "mychart.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
app.kubernetes.io/name: {{ include "mychart.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
template:
metadata:
labels:
app.kubernetes.io/name: {{ include "mychart.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
spec:
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
env:
- name: Color
value: {{ .Values.settings.color }}
- name: Message
value: {{ .Values.settings.message }}
ports:
- name: http
containerPort: 80
protocol: TCP
livenessProbe:
httpGet:
path: /
port: http
readinessProbe:
httpGet:
path: /
port: http
resources:
{{ toYaml .Values.resources | indent 12 }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
Pokud chcete uložit citlivá data jako Kubernetes tajné klíče, přidejte do složky Templates soubor tajných kódů. yaml .
Tip
Přečtěte si další informace o používání Kubernetes tajných klíčů.
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
data:
password: {{ .Values.secrets.password | b64enc }}
Nakonec aktualizujte soubor Values. yaml následujícím obsahem, abyste mohli volitelně zadat výchozí hodnoty nastavení konfigurace a tajné klíče, na které se odkazuje v souborech Deployment. yaml a tajné soubory. YAML . Jejich skutečné hodnoty budou přepsány konfigurací získanými z konfigurace aplikace.
# settings will be overwritten by App Configuration
settings:
color: red
message: myMessage
Předání konfigurace z konfigurace aplikace v instalaci Helm
Nejdřív Stáhněte konfiguraci z konfigurace aplikace do souboru myConfig. yaml . Pomocí klíčového filtru Stáhněte pouze ty klíče, které začínají na nastavení.. Pokud v takovém případě filtr klíčů není dostačující pro vyloučení klíčů Key Vault odkazů, můžete k jejich vyloučení použít argument --Skip-a trezor .
Tip
Přečtěte si další informace o příkazu Export.
az appconfig kv export -n myAppConfiguration -d file --path myConfig.yaml --key "settings.*" --separator "." --format yaml
Dále Stáhněte tajné klíče do souboru s názvem mySecrets. yaml. Argument příkazového řádku --Resolve-úložiště klíčů řeší odkazy na Key Vault tím, že načtou skutečné hodnoty v Key Vault. Tento příkaz budete muset spustit s přihlašovacími údaji, které mají přístupová oprávnění k odpovídajícímu Key Vault.
Upozornění
Vzhledem k tomu, že tento soubor obsahuje citlivé informace, ponechte soubor na starosti a vyčistěte ho, když ho ještě nepotřebujete.
az appconfig kv export -n myAppConfiguration -d file --path mySecrets.yaml --key "secrets.*" --separator "." --resolve-keyvault --format yaml
Použijte argument -f upgradu Helm a předejte dva konfigurační soubory, které jste vytvořili. Přepisují hodnoty konfigurace definované v hodnotách. yaml s hodnotami exportovanými z konfigurace aplikace.
helm upgrade --install -f myConfig.yaml -f mySecrets.yaml "example" ./mychart
Můžete také použít argument --set pro upgrade Helm k předání hodnot literálních klíčů. Použití argumentu --set je dobrým způsobem, jak zabránit zachování citlivých dat na disk.
$secrets = az appconfig kv list -n myAppConfiguration --key "secrets.*" --resolve-keyvault --query "[*].{name:key, value:value}" | ConvertFrom-Json
foreach ($secret in $secrets) {
$keyvalues += $secret.name + "=" + $secret.value + ","
}
if ($keyvalues){
$keyvalues = $keyvalues.TrimEnd(',')
helm upgrade --install --set $keyvalues "example" ./mychart
}
else{
helm upgrade --install "example" ./mychart
}
Přístup k řídicímu panelu Kubernetesověřte, že se konfigurace a tajné kódy úspěšně nastavily. Uvidíte, že barvy a hodnoty zpráv z konfigurace aplikace byly naplněny do proměnných prostředí kontejneru.

V konfiguraci aplikace se do Kubernetes tajných klíčů Přidal také jeden tajný kód a heslo, které obsahuje odkaz na Key Vault.

Vyčištění prostředků
Pokud nechcete dál používat prostředky vytvořené v tomto článku, odstraňte skupinu prostředků, kterou jste tady vytvořili, abyste předešli poplatkům.
Důležité
Odstranění skupiny prostředků je nevratné. Skupina prostředků a všechny prostředky v ní se trvale odstraní. Ujistěte se, že nechtěně neodstraníte nesprávnou skupinu prostředků nebo prostředky. Pokud jste vytvořili prostředky pro tento článek v rámci skupiny prostředků, která obsahuje další prostředky, které chcete zachovat, odstraňte všechny prostředky jednotlivě z příslušného podokna, místo aby se odstranila skupina prostředků.
- Přihlaste se k Azure Portala vyberte skupiny prostředků.
- Do pole filtrovat podle názvu zadejte název vaší skupiny prostředků.
- V seznamu výsledků vyberte název skupiny prostředků, aby se zobrazil přehled.
- Vyberte Odstranit skupinu prostředků.
- Zobrazí se výzva k potvrzení odstranění skupiny prostředků. Zadejte název vaší skupiny prostředků, který chcete potvrdit, a vyberte Odstranit.
Po chvíli se odstraní skupina prostředků a všechny její prostředky.
Další kroky
V tomto kurzu jste exportovali data konfigurace aplikace Azure, která se mají používat v nasazení Kubernetes s Helm. Další informace o tom, jak používat konfiguraci aplikací, najdete v ukázkách Azure CLI.