Fampidirana ny Fanomezan-dàlana Kubernetes an'ny Hashicorp Consul

Fampidirana ny Fanomezan-dàlana Kubernetes an'ny Hashicorp Consul

Marina izany, aorian'ny famoahana Hashicorp Consul 1.5.0 amin'ny fiandohan'ny volana Mey 2019, ao amin'ny Consul dia azonao atao ny manome alalana ny fampiharana sy serivisy mandeha amin'ny Kubernetes teratany.

Amin'ity lesona ity dia hamorona tsikelikely isika POC (Proof of concept, PoC) mampiseho an'io endri-javatra vaovao io. Antenaina ny hanana fahalalana fototra momba an'i Kubernetes sy ny Consul's Hashicorp. Na dia afaka mampiasa sehatra rahona na tontolo iainana eny an-toerana aza ianao, amin'ity lesona ity dia hampiasa ny Cloud Platform an'ny Google ianao.

topy maso

Raha mankany amin'ny Ny antontan-taratasin'ny Consul momba ny fomba fanomezan-dàlana azy, dia hahazo topimaso haingana momba ny tanjony sy ny tranga fampiasana azy, ary koa ny antsipiriany ara-teknika sasany ary ny fijery ankapobeny momba ny lojika. Manoro hevitra mafy aho hamaky azy indray mandeha, fara fahakeliny, alohan'ny hanohizana, satria hanazava sy hitsakotsako azy rehetra aho izao.

Fampidirana ny Fanomezan-dàlana Kubernetes an'ny Hashicorp Consul

Kisary 1: Fijery ofisialy momba ny fomba fanomezan-dàlana ny Consul

Andeha hojerentsika antontan-taratasy momba ny fomba fanomezan-dàlana manokana Kubernetes.

Mazava ho azy fa misy fampahalalana mahasoa ao, saingy tsy misy torolàlana momba ny fampiasana azy rehetra. Noho izany, sahala amin'ny olona salama saina, dia mikaroka ny Internet ianao mba hahazoana tari-dalana. Ary avy eo... Tsy nahomby ianao. Mitranga izany. Aleo amboary ity.

Alohan'ny handrosoantsika amin'ny famoronana POC, andeha isika hiverina amin'ny topimaso momba ny fomba fanomezan-dàlana ataon'ny Consul (Kisary 1) ary hanatsara izany amin'ny tontolon'ny Kubernetes.

maritrano

Amin'ity lesona ity dia hamorona mpizara Consul amin'ny milina mitokana izay hifandray amin'ny cluster Kubernetes miaraka amin'ny mpanjifa Consul napetraka. Avy eo dia hamorona ny fampiharana dummy ao amin'ny pod izahay ary hampiasa ny fomba fanomezan-dàlana voafantina hamaky avy amin'ny fivarotana key/value Consul.

Ny kisary etsy ambany dia manazava ny maritrano noforoninay ato amin'ity lesona ity, ary koa ny lojika ao ambadiky ny fomba fanomezan-dàlana, izay hazavaina any aoriana.

Fampidirana ny Fanomezan-dàlana Kubernetes an'ny Hashicorp Consul

Kisary 2: Overview fomba fanomezan-dàlana Kubernetes

Fanamarihana haingana: tsy mila mipetraka ivelan'ny cluster Kubernetes ny mpizara Consul raha te hiasa. Saingy eny, afaka manao izany izy sy izao.

Noho izany, maka ny Consul overview diagram (Kisary 1) ary mampihatra Kubernetes aminy, dia mahazo ny kisary etsy ambony (Kisary 2), ary ny lojika eto dia toy izao manaraka izao:

  1. Ny pod tsirairay dia hanana kaonty serivisy mifandray aminy misy marika JWT novokarina sy fantatry ny Kubernetes. Ampidirina ao anaty pod ihany koa io famantarana io.
  2. Ny fampiharana na serivisy ataonay ao anatin'ny pod dia manomboka baiko fidirana amin'ny mpanjifa Consuly. Ny fangatahana fidirana dia hampiditra ihany koa ny marika sy ny anaranay noforonina manokana fomba fanomezan-dàlana (karazana Kubernetes). Ity dingana #2 ity dia mifanitsy amin'ny dingana 1 amin'ny kisary Consul (Skema 1).
  3. Ny mpanjifan'ny Consuly dia handefa izany fangatahana izany any amin'ny mpizara Consuly.
  4. MAGIC! Eo no anamarinan'ny mpizara Consul ny maha-azo itokiana ny fangatahana, manangona vaovao momba ny mombamomba ny fangatahana ary mampitaha izany amin'ireo fitsipika efa voafaritra mialoha mifandraika amin'izany. Ity ambany ity ny kisary iray hafa hanehoana izany. Ity dingana ity dia mifanaraka amin'ny dingana 3, 4 ary 5 amin'ny kisary overview Consul (Kisary 1).
  5. Ny mpizara Consuly dia mamorona token'ny Consul miaraka amin'ny fahazoan-dàlana araka ny fitsipika momba ny fomba fanomezan-dàlana voafaritra (izay nofaritanay) momba ny mombamomba ilay mpangataka. Halefany indray io token io avy eo. Izany dia mifanaraka amin'ny dingana faha-6 amin'ny kisary Consul (Kisary 1).
  6. Ny mpanjifa Consuly dia mandefa ny mari-pamantarana amin'ny fangatahana na serivisy mangataka.

Ny fampiharana na ny serivisinay dia afaka mampiasa ity token'ny Consul ity mba hifandraisana amin'ny angon'ny Consuly, araka izay voafaritra amin'ny tombontsoan'ny token.

Miseho ny ody!

Ho anao izay tsy faly amin'ny bitro tsy misy satroka fotsiny ary te-hahafantatra ny fomba fiasan'izy io ... avelao aho "asehoko anao ny lalina lavaka bitro".

Araka ny voalaza teo aloha, ny dingana "majika" ataontsika (sary 2: Dingana 4) dia ny toerana misy ny mpizara Consul manamarina ny fangatahana, manangona vaovao momba ny fangatahana, ary mampitaha azy amin'ny fitsipika efa voafaritra mialoha. Ity dingana ity dia mifanaraka amin'ny dingana 3, 4 ary 5 amin'ny kisary overview Consul (Kisary 1). Ity ambany ity ny kisary (Kisary 3), ny tanjona amin'izany dia ny hampiseho mazava ny zava-mitranga marina ambanin'ny hood fomba fanomezan-dàlana manokana Kubernetes.

Fampidirana ny Fanomezan-dàlana Kubernetes an'ny Hashicorp Consul

Kisary 3: Naseho ny ody!

  1. Ho fanombohana, ny mpanjifan'ny Consuly dia mandefa ny fangatahana fidirana amin'ny mpizara Consul miaraka amin'ny mari-pamantarana kaonty Kubernetes sy anarana manokana momba ny fomba fanomezan-dàlana noforonina teo aloha. Ity dingana ity dia mifanitsy amin'ny dingana 3 amin'ny fanazavana ny faritra teo aloha.
  2. Ankehitriny dia mila manamarina ny maha-azo itokiana ny marika voaray ny mpizara Consul (na mpitarika). Noho izany, hifampidinika amin'ny kluster Kubernetes (amin'ny alàlan'ny mpanjifa Consul) izy ary, miaraka amin'ny fahazoan-dàlana mety, dia ho hitantsika raha tena izy ilay famantarana ary an'iza izy io.
  3. Ny fangatahana voamarina dia averina any amin'ny mpitarika Consul, ary ny mpizara Consul dia mijery ny fomba fanomezan-dàlana miaraka amin'ny anarana voatondro avy amin'ny fangatahana fidirana (sy karazana Kubernetes).
  4. Ny mpitarika ny kaonsily dia mamaritra ny fomba fanomezan-dàlana voatondro (raha hita) ary mamaky ny fehezan-dalàna mifamatotra izay mifatotra aminy. Mamaky ireo fitsipika ireo izy avy eo ary mampitaha azy ireo amin'ny toetran'ny maha-izy azy.
  5. TA-dah! Andao hiroso amin’ny dingana faha-5 amin’ny fanazavana ny faritra teo aloha.

Mandehana Consul-server amin'ny milina virtoaly mahazatra

Manomboka izao dia hanome toromarika momba ny fomba hamoronana ity POC ity aho, matetika amin'ny teboka bala, tsy misy fanazavana fehezanteny feno. Ary koa, araka ny nomarihina teo aloha, dia hampiasa ny GCP aho mba hamoronana ny fotodrafitrasa rehetra, saingy afaka mamorona fotodrafitrasa mitovy amin'ny toerana hafa ianao.

  • Atombohy ny milina virtoaly (ohatra / mpizara).

Fampidirana ny Fanomezan-dàlana Kubernetes an'ny Hashicorp Consul

  • Mamorona fitsipika ho an'ny firewall (vondrona fiarovana ao amin'ny AWS):
  • Tiako ny manome anarana milina mitovy amin'ny fitsipika sy ny tag tambajotra, amin'ity tranga ity "skywiz-consul-server-poc".
  • Tadiavo ny adiresy IP an'ny solosainao eo an-toerana ary ampio amin'ny lisitry ny adiresy IP loharano mba ahafahantsika miditra amin'ny interface interface (UI).
  • Sokafy ny port 8500 ho an'ny UI. Tsindrio Create. Hanova ity rindrina afo ity indray izahay tsy ho ela [rohy].
  • Manampia fitsipika firewall amin'ny ohatra. Miverena any amin'ny dashboard VM ao amin'ny Consul Server ary ampio "skywiz-consul-server-poc" amin'ny sahan'ny marika tambajotra. Tsindrio Save.

Fampidirana ny Fanomezan-dàlana Kubernetes an'ny Hashicorp Consul

  • Mametraka Consul amin'ny milina virtoaly, jereo eto. Tsarovy fa mila Consul version ≥ 1.5 [rohy]
  • Andao hamorona Konsul node tokana - ny fanamafisana dia toy izao manaraka izao.

groupadd --system consul
useradd -s /sbin/nologin --system -g consul consul
mkdir -p /var/lib/consul
chown -R consul:consul /var/lib/consul
chmod -R 775 /var/lib/consul
mkdir /etc/consul.d
chown -R consul:consul /etc/consul.d

  • Raha mila torolalana amin'ny antsipiriany momba ny fametrahana ny Consul sy ny fametrahana cluster misy node 3, jereo eto.
  • Mamorona rakitra /etc/consul.d/agent.json toy izao manaraka izao [rohy]:

### /etc/consul.d/agent.json
{
 "acl" : {
 "enabled": true,
 "default_policy": "deny",
 "enable_token_persistence": true
 }
}

  • Atombohy ny mpizara Consul anay:

consul agent 
-server 
-ui 
-client 0.0.0.0 
-data-dir=/var/lib/consul 
-bootstrap-expect=1 
-config-dir=/etc/consul.d

  • Tokony hahita andiana vokatra ianao ary hiafara amin'ny "... fanavaozana voasakana avy amin'ny ACLs."
  • Tadiavo ny adiresy IP ivelany an'ny mpizara Consul ary sokafy ny navigateur miaraka amin'ity adiresy IP ity amin'ny seranana 8500. Ataovy azo antoka fa misokatra ny UI.
  • Andramo ampio mpivady fanalahidy/sanda. Tena mety misy hadisoana ka. Izany dia satria nampiditra ACL ny mpizara Consul izahay ary nanakana ny fitsipika rehetra.
  • Miverena any amin'ny akorandriakao amin'ny mpizara Consul ary atombohy ny dingana ao ambadika na fomba hafa hampandehanana azy ary ampidiro ireto manaraka ireto:

consul acl bootstrap

  • Tadiavo ny sanda "SecretID" ary miverena any amin'ny UI. Ao amin'ny tabilao ACL, ampidiro ny ID tsiambaratelon'ny marika nadikao. Adikao any amin'ny toerana hafa ny SecretID, mila izany isika any aoriana.
  • Manampia mpivady key/value izao. Ho an'ity POC ity, ampio ireto manaraka ireto: fanalahidy: "custom-ns/test_key", sanda: "Ao amin'ny lahatahiry custom-ns aho!"

Famoahana cluster Kubernetes ho an'ny fampiharana ataontsika miaraka amin'ny mpanjifa Consul ho Daemonset

  • Mamorona cluster K8s (Kubernetes). Hamorona azy ao amin'ny faritra mitovy amin'ny lohamilina izahay mba hidirana haingana kokoa, ary mba hahafahantsika mampiasa ny subnet mitovy mba hifandraisana mora amin'ny adiresy IP anatiny. Hantsoinay hoe "skywiz-app-with-consul-client-poc" izany.

Fampidirana ny Fanomezan-dàlana Kubernetes an'ny Hashicorp Consul

  • Ho fanamarihan'ny lafiny iray, ity misy lesona tsara hitako teo am-panaovana cluster POC Consul miaraka amin'ny Consul Connect.
  • Hampiasa tabilao Helm Hashicorp miaraka amina rakitra sanda miitatra ihany koa izahay.
  • Apetraho sy amboary ny Helm. Dingana fanamboarana:

kubectl create serviceaccount tiller --namespace kube-system
kubectl create clusterrolebinding tiller-admin-binding 
   --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
./helm init --service-account=tiller
./helm update

### poc-helm-consul-values.yaml
global:
 enabled: false
 image: "consul:latest"
# Expose the Consul UI through this LoadBalancer
ui:
 enabled: false
# Allow Consul to inject the Connect proxy into Kubernetes containers
connectInject:
 enabled: false
# Configure a Consul client on Kubernetes nodes. GRPC listener is required for Connect.
client:
 enabled: true
 join: ["<PRIVATE_IP_CONSUL_SERVER>"]
 extraConfig: |
{
  "acl" : {
 "enabled": true,   
 "default_policy": "deny",   
 "enable_token_persistence": true 
  }
}
# Minimal Consul configuration. Not suitable for production.
server:
 enabled: false
# Sync Kubernetes and Consul services
syncCatalog:
 enabled: false

  • Ampiharo tabilao mitondra fiara:

./helm install -f poc-helm-consul-values.yaml ./consul-helm - name skywiz-app-with-consul-client-poc

  • Rehefa manandrana mihazakazaka izy dia mila fahazoan-dàlana ho an'ny mpizara Consul, ka ndao hanampy azy ireo.
  • Mariho ny "Saran'ny Adiresy Pod" hita eo amin'ny dashboard cluster ary avereno jerena ny fitsipiky ny firewall "skywiz-consul-server-poc".
  • Ampio ny isan'ny adiresy ho an'ny pod amin'ny lisitry ny adiresy IP ary misokatra ny seranana 8301 sy 8300.

Fampidirana ny Fanomezan-dàlana Kubernetes an'ny Hashicorp Consul

  • Mankanesa any amin'ny Consul UI ary afaka minitra vitsy dia ho hitanao ao amin'ny tabilao nodes ny cluster.

Fampidirana ny Fanomezan-dàlana Kubernetes an'ny Hashicorp Consul

Fametrahana fomba fanomezan-dàlana amin'ny alàlan'ny fampidirana Consul amin'ny Kubernetes

  • Miverena any amin'ny shell server Consul ary manondrana ny marika voatahiry teo aloha:

export CONSUL_HTTP_TOKEN=<SecretID>

  • Mila fampahalalana avy amin'ny cluster Kubernetes izahay mba hamoronana ohatra amin'ny fomba auth:
  • kubernetes-host

kubectl get endpoints | grep kubernetes

  • kubernetes-service-account-jwt

kubectl get sa <helm_deployment_name>-consul-client -o yaml | grep "- name:"
kubectl get secret <secret_name_from_prev_command> -o yaml | grep token:

  • Ny famantarana dia base64 voakodia, koa decrypt azy amin'ny fampiasana ny fitaovana tianao indrindra [rohy]
  • kubernetes-ca-cert

kubectl get secret <secret_name_from_prev_command> -o yaml | grep ca.crt:

  • Raiso ny taratasy fanamarinana "ca.crt" (aorian'ny fanaparitahana base64) ary soraty ao anaty rakitra "ca.crt".
  • Alefaso izao ny fomba auth, soloy ny toerana misy ny soatoavina vao azonao.

consul acl auth-method create 
-type "kubernetes" 
-name "auth-method-skywiz-consul-poc" 
-description "This is an auth method using kubernetes for the cluster skywiz-app-with-consul-client-poc" 
-kubernetes-host "<k8s_endpoint_retrieved earlier>" 
[email protected] 
-kubernetes-service-account-
jwt="<decoded_token_retrieved_earlier>"

  • Avy eo dia mila mamorona fitsipika isika ary ampifandraisina amin'ny andraikitra vaovao. Amin'ity ampahany ity dia azonao ampiasaina ny Consul UI, fa hampiasa ny baiko izahay.
  • Manorata fitsipika

### kv-custom-ns-policy.hcl
key_prefix "custom-ns/" {
 policy = "write"
}

  • Ampiharo ny fitsipika

consul acl policy create 
-name kv-custom-ns-policy 
-description "This is an example policy for kv at custom-ns/" 
-rules @kv-custom-ns-policy.hcl

  • Tadiavo ny ID ny fitsipika vao noforoninao avy amin'ny vokatra.
  • Mamorona andraikitra amin'ny fitsipika vaovao.

consul acl role create 
-name "custom-ns-role" 
-description "This is an example role for custom-ns namespace" 
-policy-id <policy_id>

consul acl binding-rule create 
-method=auth-method-skywiz-consul-poc 
-bind-type=role 
-bind-name='custom-ns-role' 
-selector='serviceaccount.namespace=="custom-ns"'

Configurations farany

Zon'ny fidirana

  • Mamorona zo fidirana. Mila manome alalana ny Consul izahay hanamarina sy hamantatra ny mombamomba ny token'ny kaonty serivisy K8s.
  • Soraty amin'ny rakitra ity manaraka ity [rohy]:

###skywiz-poc-consul-server_rbac.yaml
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
 name: review-tokens
 namespace: default
subjects:
- kind: ServiceAccount
 name: skywiz-app-with-consul-client-poc-consul-client
 namespace: default
roleRef:
 kind: ClusterRole
 name: system:auth-delegator
 apiGroup: rbac.authorization.k8s.io
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
 name: service-account-getter
 namespace: default
rules:
- apiGroups: [""]
 resources: ["serviceaccounts"]
 verbs: ["get"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
 name: get-service-accounts
 namespace: default
subjects:
- kind: ServiceAccount
 name: skywiz-app-with-consul-client-poc-consul-client
 namespace: default
roleRef:
 kind: ClusterRole
 name: service-account-getter
 apiGroup: rbac.authorization.k8s.io

  • Andao hamorona zo fidirana

kubectl create -f skywiz-poc-consul-server_rbac.yaml

Mifandraisa amin'ny mpanjifa Consul

  • Araka ny nomarihina etoMisy safidy maromaro hifandraisana amin'ny daemonset, fa hiroso amin'ity vahaolana tsotra ity isika:
  • Ampiharo ity rakitra manaraka ity [rohy].

### poc-consul-client-ds-svc.yaml
apiVersion: v1
kind: Service
metadata:
 name: consul-ds-client
spec:
 selector:
   app: consul
   chart: consul-helm
   component: client
   hasDNS: "true"
   release: skywiz-app-with-consul-client-poc
 ports:
 - protocol: TCP
   port: 80
   targetPort: 8500

  • Avy eo dia ampiasao ity baiko naorina manaraka ity mba hamoronana configmap [rohy]. Mariho fa ny anaran'ny serivisy no resahinay, soloy raha ilaina izany.

cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: ConfigMap
metadata:
 labels:
   addonmanager.kubernetes.io/mode: EnsureExists
 name: kube-dns
 namespace: kube-system
data:
 stubDomains: |
   {"consul": ["$(kubectl get svc consul-ds-client -o jsonpath='{.spec.clusterIP}')"]}
EOF

Fitsapana ny fomba auth

Andeha hojerentsika izao ny herin'ny maizina!

  • Mamorona lahatahiry manan-danja maromaro miaraka amin'ny fanalahidy ambony ambony (izany hoe. /sample_key) ary ny sandan'ny safidinao. Mamorona politika sy andraikitra sahaza ho an'ny lalana fototra vaovao. Hanao ny famatorana izahay any aoriana.

Fampidirana ny Fanomezan-dàlana Kubernetes an'ny Hashicorp Consul

Fitsapana namespace manokana:

  • Andao hamorona ny espace anarantsika manokana:

kubectl create namespace custom-ns

  • Andao hamorona pod ao amin'ny namespace vaovao. Soraty ny config ho an'ny pod.

###poc-ubuntu-custom-ns.yaml
apiVersion: v1
kind: Pod
metadata:
 name: poc-ubuntu-custom-ns
 namespace: custom-ns
spec:
 containers:
 - name: poc-ubuntu-custom-ns
   image: ubuntu
   command: ["/bin/bash", "-ec", "sleep infinity"]
 restartPolicy: Never

  • Mamorona eo ambanin'ny:

kubectl create -f poc-ubuntu-custom-ns.yaml

  • Rehefa mandeha ny fitoeran-javatra, mankanesa any ary mametraka curl.

kubectl exec poc-ubuntu-custom-ns -n custom-ns -it /bin/bash
apt-get update && apt-get install curl -y

  • Ankehitriny dia handefa fangatahana fidirana amin'ny Consul izahay amin'ny alàlan'ny fomba fanomezan-dàlana noforoninay teo aloha [rohy].
  • Raha hijery ny marika nampidirina avy amin'ny kaontinao serivisy:

cat /run/secrets/kubernetes.io/serviceaccount/token

  • Soraty amin'ny rakitra ao anaty fitoeran-javatra izao manaraka izao:

### payload.json
{
 "AuthMethod": "auth-method-test",
 "BearerToken": "<jwt_token>"
}

  • Hiditra!

curl 
--request POST 
--data @payload.json 
consul-ds-client.default.svc.cluster.local/v1/acl/login

  • Mba hamitana ireo dingana etsy ambony amin'ny andalana iray (satria hanao fitsapana marobe izahay), azonao atao izao manaraka izao:

echo "{ 
"AuthMethod": "auth-method-skywiz-consul-poc", 
"BearerToken": "$(cat /run/secrets/kubernetes.io/serviceaccount/token)" 
}" 
| curl 
--request POST 
--data @- 
consul-ds-client.default.svc.cluster.local/v1/acl/login

  • Asa! Farafaharatsiny tokony. Raiso izao ny SecretID ary andramo miditra amin'ny fanalahidy / sanda tokony ho azontsika idirana.

curl 
consul-ds-client.default.svc.cluster.local/v1/kv/custom-ns/test_key --header “X-Consul-Token: <SecretID_from_prev_response>”

  • Azonao atao ny mamadika "Value" base64 ary jereo fa mifanaraka amin'ny sanda amin'ny custom-ns/test_key ao amin'ny UI. Raha toa ka nampiasa ny sanda mitovy etsy ambony ianao amin'ity lesona ity, dia IkknbSBpbiB0aGUgY3VzdG9tLW5zIGZvbGRlciEi ny sanda voasakanao.

Fitsapana kaonty serivisy mpampiasa:

  • Mamorona ServiceAccount amin'ny fampiasana ity baiko manaraka ity [rohy].

kubectl apply -f - <<EOF
apiVersion: v1
kind: ServiceAccount
metadata:
 name: custom-sa
EOF

  • Mamorona fisie fanovana vaovao ho an'ny pod. Mariho fa nampidiriko ny fametrahana curl mba hamonjena ny asa :)

###poc-ubuntu-custom-sa.yaml
apiVersion: v1
kind: Pod
metadata:
 name: poc-ubuntu-custom-sa
 namespace: default
spec:
 serviceAccountName: custom-sa
 containers:
 - name: poc-ubuntu-custom-sa
   image: ubuntu
   command: ["/bin/bash","-ec"]
   args: ["apt-get update && apt-get install curl -y; sleep infinity"]
 restartPolicy: Never

  • Aorian'izay dia asio akorandriaka ao anaty fitoeran-javatra.

kubectl exec -it poc-ubuntu-custom-sa /bin/bash

  • Hiditra!

echo "{ 
"AuthMethod": "auth-method-skywiz-consul-poc", 
"BearerToken": "$(cat /run/secrets/kubernetes.io/serviceaccount/token)" 
}" 
| curl 
--request POST 
--data @- 
consul-ds-client.default.svc.cluster.local/v1/acl/login

  • Tsy nahazo fahazoan-dàlana. Oh, adinonay ny nanampy fitsipika vaovao mifamatotra amin'ny fahazoan-dàlana mifanaraka amin'izany, andao atao izao.

Avereno ireto dingana teo aloha ireto:
a) Mamorona Politika mitovy amin'ny tovana “custom-sa/”.
b) Mamorona Role, antsoina hoe "custom-sa-role"
c) Ampifandraiso amin'ny andraikitra ny politika.

  • Mamorona Rule-Binding (azo atao amin'ny cli/api ihany). Mariho ny dikan'ny sainam-pamiliana samihafa.

consul acl binding-rule create 
-method=auth-method-skywiz-consul-poc 
-bind-type=role 
-bind-name='custom-sa-role' 
-selector='serviceaccount.name=="custom-sa"'

  • Midira indray avy amin'ny kaontenera "poc-ubuntu-custom-sa". Fahombiazana!
  • Jereo ny fidiranay amin'ny lalana custom-sa/key.

curl 
consul-ds-client.default.svc.cluster.local/v1/kv/custom-sa/test_key --header “X-Consul-Token: <SecretID>”

  • Azonao atao ihany koa ny miantoka fa ity famantarana ity dia tsy manome fidirana amin'ny kv amin'ny "custom-ns/". Avereno fotsiny ilay baiko etsy ambony rehefa avy nosoloina ny "custom-sa" amin'ny prefix "custom-ns".
    Tsy nahazo fahazoan-dàlana.

Ohatra overlay:

  • Tsara ny manamarika fa ny sarintany rehetra mamatotra ny fitsipika dia ampiana amin'ny famantarana miaraka amin'ireo zo ireo.
  • Ny fitoeranay "poc-ubuntu-custom-sa" dia ao amin'ny toeran'ny anarana mahazatra - koa andao hampiasa azy io amin'ny famatorana fitsipika hafa.
  • Avereno ny dingana teo aloha:
    a) Mamorona Politika mitovy amin'ny tovan'ny fanalahidy "default/".
    b) Mamorona Role, anarana hoe "default-ns-role"
    c) Ampifandraiso amin'ny andraikitra ny politika.
  • Mamorona Rule-Binding (azo atao amin'ny cli/api ihany)

consul acl binding-rule create 
-method=auth-method-skywiz-consul-poc 
-bind-type=role 
-bind-name='default-ns-role' 
-selector='serviceaccount.namespace=="default"'

  • Miverena any amin'ny fitoerany "poc-ubuntu-custom-sa" ary andramo miditra amin'ny lalana kv "default/".
  • Tsy nahazo fahazoan-dàlana.
    Azonao atao ny mijery ny fahazoan-dàlana voafaritra ho an'ny marika tsirairay ao amin'ny UI eo ambanin'ny ACL > Token. Araka ny hitanao, ny token-tsika amin'izao fotoana izao dia manana "custom-sa-role" tokana miraikitra aminy. Ny mari-pamantarana ampiasainay amin'izao fotoana izao dia novokarina rehefa niditra izahay ary tsy nisy afa-tsy fitsipika iray nifamatotra tamin'izany. Mila miditra indray isika ary mampiasa ny famantarana vaovao.
  • Ataovy azo antoka fa afaka mamaky avy amin'ny lalana "custom-sa/" sy "default/" kv ianao.
    Fahombiazana!
    Izany dia satria ny "poc-ubuntu-custom-sa" antsika dia mifanaraka amin'ny fatorana "custom-sa" sy ny "default-ns".

famaranana

TTL token mgmt?

Amin'ny fotoana anoratana ity lahatsoratra ity dia tsy misy fomba mitambatra hamaritana ny TTL ho an'ny marika vokarin'ity fomba fanomezan-dàlana ity. Fotoana mahafinaritra ny manome automatique azo antoka amin'ny fanomezan-dàlana Consul.

Misy safidy hamoronana marika amin'ny TTL:

Antenaina fa ao anatin'ny fotoana fohy dia ho afaka hifehy ny fomba famokarana marika (isaky ny fitsipika na fomba fanomezan-dàlana) isika ary ampio TTL.

Mandra-pahatongan'izany, dia soso-kevitra ny hampiasa teboka fiafaran'ny fidirana ao amin'ny lojikanao.

Vakio ihany koa lahatsoratra hafa ao amin'ny bilaoginay:

Source: www.habr.com

Add a comment