Helm: рддреНрд░реБрдЯрд┐: рддреНрд░реБрдЯрд┐ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ "рд╕рд┐рд╕реНрдЯрдо: рдЕрдирд╛рдо" рдирд╛рдорд╕реНрдерд╛рди "рдХреНрдпреВрдм-рд╕рд┐рд╕реНрдЯрдо" рдореЗрдВ рдкрд░рд┐рдирд┐рдпреЛрдЬрди.рд╕рдВрдпреЛрдЬрди рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред "

рдХреЛ рдирд┐рд░реНрдорд┐рдд 8 рдЬреБрд▓ре░ 2017  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: helm/helm

рдирдорд╕реНрддреЗ,

рд╣реИ

рд╣реЗрд▓рдо 2.5.0
RCP рдХреЗ рд╕рд╛рде Kubernetes 1.6 GCP рдкрд░ рд╕рдХреНрд╖рдо рд╣реИ

рдореБрд╕реАрдмрдд

рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдХреБрдмреНрд▓реЗрдЯ рдФрд░ рд╣реЗрд▓реНрдо рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдПрдВ:

$ kubectl config set-credentials $K8S_USER --username=$K8S_USER --password=$K8S_PASS
$ kubectl config set-cluster test-cluster  --server=https://$K8S_SERVER --insecure-skip-tls- verify=$K8S_INSECURE_SKIP_TLS_VERIFY 
$ kubectl config set-context default-context --cluster=$K8S_CLUSTER_NAME --user=$K8S_USER 
$ kubectl config use-context default-context
$ kubectl cluster-info
Kubernetes master is running at https://****

$ helm init
$HELM_HOME has been configured at /config/.helm.
Error: error installing: User "system:anonymous" cannot create deployments.extensions in the namespace "kube-system".: "No policy matched.\nUnknown user \"system:anonymous\"" (post deployments.extensions)

рд╕рд╡рд╛рд▓

рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИ?

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдЪрд╛рд░реНрдЯ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд░реЛрдзрд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд┐рд▓рд░ рдкреЙрдб рдХреЗ рд╕реЗрд╡рд╛ рдЦрд╛рддреЗ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рдмрд╛рдВрдзрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЯрд┐рд▓рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдПрдХ рдирдпрд╛ рд╕рд░реНрд╡рд┐рд╕ рдЕрдХрд╛рдЙрдВрдЯ рдмрдирд╛рдирд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЙрд╕рдХреА рдкреЙрдб рдЪрд▓рддреА рд╣реИ (рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, "рдХреНрдпреВрдм-рд╕рд┐рд╕реНрдЯрдо"), рдлрд┐рд░ рдпрд╛ рддреЛ рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рдПрдХ _Role_ рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдЪрд╛рд░реНрдЯреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВ рдпрд╛ _ClusterRole_ рдЖрдк рдХрдИ рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд╛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЙрдкрд░реЛрдХреНрдд рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ Tiller- рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрд╡рд╛ рдЦрд╛рддреЗ рдореЗрдВ рдЗрди рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛ рддреЛ _RoleBinding_ рдпрд╛ _ClusterRoleBinding_ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдБред

рдореИрдВрдиреЗ рд╕реЗрд╡рд╛ рдЦрд╛рддреЗ рдФрд░ ClusterRoleBinding рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рдХрдЯ рдмрдирд╛рдпрд╛

---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: tiller
  namespace: kube-system
secrets:
  - tiller-secret
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: tiller
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: tiller
    namespace: kube-system

рдлрд┐рд░ рдЗрд╕ рд╕рд░реНрд╡рд┐рд╕ рдпреВрдЬрд░ рдХреЛ Tiller рдХреЗ рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рди рдореЗрдВ рдЬреЛрдбрд╝рд╛

kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'

рдлрд┐рд░ рдореЗрд░реА рдкрд╛рдЗрдк рд▓рд╛рдЗрди рдореЗрдирд┐рдлрд╝реЗрд╕реНрдЯ рдореЗрдВ k8s рдореЗрдВ рдСрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рд▓рд┐рд╕реНрдЯ рдмрджрд▓реАред

begin_script:
  - echo "$CA" > /ca.crt
  - kubectl config set-cluster k8s-cluster --embed-certs=true --server=https://$K8S_SERVER --certificate-authority=/ca.crt
  - kubectl config set-credentials tiller --token=$USER_TOKEN
  - kubectl config set-context k8s-cluster --cluster=k8s-cluster --user=tiller
  - kubectl config use-context k8s-cluster 

$CA рдФрд░ $USER_TOKEN - рдЧреБрдкреНрдд рдЪрд░ рд╣реИрдВ рдЬреЛ ca.crt рдбреЗрдЯрд╛ рдФрд░ рдЯрд┐рд▓рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЯреЛрдХрди рдмрдЪрд╛рддрд╛ рд╣реИред

Ca.rt рдФрд░ user_token рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрди рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

$ secret=$(kubectl get sa tiller -o json --namaspace=kube-system | jq -r .secrets[].name)
$ kubectl get secret $secret -o json | jq -r '.data["ca.crt"]' | base64 -D # $CA
$ kubectl get secret $secret -o json | jq -r '.data["token"]' | base64 -D # $USER_TOKEN

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ _helm init_ рдкреНрд░рддрд┐рдмрджреНрдз --service-account 64e9e471838ac44e551c32abcbd19f671c80ecce рдХреЗ рд░реВрдк рдореЗрдВ

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

hobti01 picture hobti01  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

antoniaklja picture antoniaklja  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

technosophos picture technosophos  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

adam-sandor picture adam-sandor  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sgoings picture sgoings  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ