helm version
: v2.14.3 рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ
kubectl version
: рдХреНрд▓рд╛рдЗрдВрдЯ: v1.15.3, рд╕рд░реНрд╡рд░: v1.16.0-rc.1 рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ
рдХреНрд▓рд╛рдЙрдб рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ / рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо (AKS, GKE, Minikube рдЖрджрд┐): IBM Cloud Kubernetes Service
$ helm init --service-account tiller
$HELM_HOME has been configured at /Users/xxxx/.helm.
Error: error installing: the server could not find the requested resource
$ helm init --debug --service-account tiller
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: helm
name: tiller
name: tiller-deploy
namespace: kube-system
spec:
.
.
.
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрддрд╡рд╛рд░ tiller
рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реА рд╣реИ: apiVersion: extensions/v1beta1
рдЕрдиреБрд╕рд╛рд░: https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16
рд╡рд╣ рдЕрдм рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред
рд╣рдордиреЗ helm init --upgrade
рджреЛрдиреЛрдВ extensions/v1beta1
рдФрд░ apps/v1
Tiller Deployments рд╕рдореЗрдЯрдиреЗ рдХреЗ рд╕рд╛рде рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдХрд╛рд░рдг рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд╕рдордп рдореЗрдВ рдРрдкреНрд╕ / v1 рддрдХ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рд╕реЗ рдкрд░рд╣реЗрдЬ рдХрд┐рдпрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдмрд╛рд░ рдЬрдм рд╣рдо Kubernetes 1.16.0 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЙрд╕ рдорд╛рдорд▓реЗ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдирдП ApVVersion рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдпрд╣рд╛рдБ рдПрдХ рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рд╕рдорд╛рдзрд╛рди рд╣реИ:
helm init --output yaml | sed 's<strong i="6">@apiVersion</strong>: extensions/v1beta1<strong i="7">@apiVersion</strong>: apps/v1@' | kubectl apply -f -
рджрд░рдЕрд╕рд▓, рдпрд╣ рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдЕрднреА рднреА рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ:
error validating data: ValidationError(Deployment.spec): missing required field "selector" in io.k8s.api.apps.v1.DeploymentSpec
рдЗрд╕рдХреЗ рд╕рд╛рде рдкреИрдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
/usr/local/bin/kubectl patch --local -oyaml -f - -p '{"spec":{"selector": {"app":"helm","name":"tiller"}}}'
рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛! рдЖрдк рдкрд╛рдЧрд▓ sed рд╣реИрдХреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ --override
рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рдкреНрд░рднрд╛рд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ :)
рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛! рдЖрдк рдкрд╛рдЧрд▓ sed рд╣реИрдХреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ
--override
рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рдкреНрд░рднрд╛рд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ :)
рд╣рд╛рдВ, рд▓реЗрдХрд┐рди рдЙрд╕рдХрд╛ рдХреНрд░реЗрдЬреА рд╕реЗрдб рд╣реИрдХ рдореИрдВ рдХреЙрдкреА рдФрд░ рдкреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдпрд╣ helm init --override "apiVersion"="apps/v1"
рд╕рд┐рд░реНрдл рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдареАрдХ рд╣реИ, sed рд╣реИрдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рд╡рд░реНрддрдорд╛рди рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ:
helm init --output yaml> Tiller.yaml
рдФрд░ Tiller.yaml рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:
---
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: helm
name: tiller
name: tiller-deploy
namespace: kube-system
spec:
replicas: 1
strategy: {}
selector:
matchLabels:
app: helm
name: tiller
....
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрдб рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
helm init --service-account tiller --output yaml | sed 's<strong i="6">@apiVersion</strong>: extensions/v1beta1<strong i="7">@apiVersion</strong>: apps/v1@' | sed 's@ replicas: 1@ replicas: 1\n selector: {"matchLabels": {"app": "helm", "name": "tiller"}}@' | kubectl apply -f -
@Mattymo рд╕рдорд╛рдзрд╛рди (kubectl рдкреИрдЪ --local рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдЗрд╕рдХреЗ рдЗрдирдкреБрдЯ рдореЗрдВ рдПрдХрд╛рдзрд┐рдХ рд╕рдВрд╕рд╛рдзрди (рдпрд╣рд╛рдБ рдПрдХ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдФрд░ рдПрдХ рд╕реЗрд╡рд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ) рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ 1.16.0 рдХрд▓ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: 9/18/2018ред
рдЬрдм рддрдХ рдЙрдкрд░реЛрдХреНрдд рдХрд╛рд░реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрдм рддрдХ рдЗрд╕ рдирд╡реАрдирддрдо рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд░рд┐рд▓реАрдЬ рдкрд░ рд╣реЗрд▓реНрдо рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣ рдореБрджреНрджрд╛ рдХрдм рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдХрдм Helm 2.15.0
рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?
рдпрджрд┐ рдЖрдк рдПрдХ рдХрдо sed рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ :)
helm init --service-account tiller --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's<strong i="6">@apiVersion</strong>: extensions/v1beta1<strong i="7">@apiVersion</strong>: apps/v1@' | kubectl apply -f -
рдзрдиреНрдпрд╡рд╛рдж!
рдЖрдЬ рдореИрдВ рдЙрд╕реА рдореБрджреНрджреЗ рд╕реЗ рдорд┐рд▓рд╛, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рд▓реЗрдмрд▓ рдмрджрд▓ рджрд┐рдпрд╛ред рдореИрдВ рд▓реЗрдмрд▓ рдХреЛ apps/v1
рдмрджрд▓рддрд╛ рд╣реВрдВ рдФрд░ selector
рд╣рд┐рд╕реНрд╕рд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░ рд░рд╣рд╛ рд╣реИ, рдиреАрдЪреЗ рдореЗрд░реА yaml рдлрд╝рд╛рдЗрд▓ рд╣реИ:
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: helm
name: tiller
name: tiller-deploy
namespace: kube-system
spec:
replicas: 1
strategy: {}
selector:
matchLabels:
app: helm
name: tiller
template:
metadata:
creationTimestamp: null
labels:
app: helm
name: tiller
spec:
automountServiceAccountToken: true
containers:
- env:
- name: TILLER_NAMESPACE
value: kube-system
- name: TILLER_HISTORY_MAX
value: "0"
image: gcr.io/kubernetes-helm/tiller:v2.14.3
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /liveness
port: 44135
initialDelaySeconds: 1
timeoutSeconds: 1
name: tiller
ports:
- containerPort: 44134
name: tiller
- containerPort: 44135
name: http
readinessProbe:
httpGet:
path: /readiness
port: 44135
initialDelaySeconds: 1
timeoutSeconds: 1
resources: {}
serviceAccountName: tiller
status: {}
@jbrette рддреБрдо рдореЗрд░реЗ рд╣реАрд░реЛ рд╣реЛ! рдореИрдВ selector
рд╢реНрд▓реЛрдХ рд╕реЗ рдЬреВрдЭ рд░рд╣рд╛ рдерд╛ред
рдЖрдЬ рдореИрдВ рдЙрд╕реА рдореБрджреНрджреЗ рд╕реЗ рдорд┐рд▓рд╛, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рд▓реЗрдмрд▓ рдмрджрд▓ рджрд┐рдпрд╛ред рдореИрдВ рд▓реЗрдмрд▓ рдХреЛ
apps/v1
рдмрджрд▓рддрд╛ рд╣реВрдВ рдФрд░selector
рд╣рд┐рд╕реНрд╕рд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░ рд░рд╣рд╛ рд╣реИ, рдиреАрдЪреЗ рдореЗрд░реА yaml рдлрд╝рд╛рдЗрд▓ рд╣реИ:apiVersion: apps/v1 kind: Deployment metadata: creationTimestamp: null labels: app: helm name: tiller name: tiller-deploy namespace: kube-system spec: replicas: 1 strategy: {} selector: matchLabels: app: helm name: tiller template: metadata: creationTimestamp: null labels: app: helm name: tiller spec: automountServiceAccountToken: true containers: - env: - name: TILLER_NAMESPACE value: kube-system - name: TILLER_HISTORY_MAX value: "0" image: gcr.io/kubernetes-helm/tiller:v2.14.3 imagePullPolicy: IfNotPresent livenessProbe: httpGet: path: /liveness port: 44135 initialDelaySeconds: 1 timeoutSeconds: 1 name: tiller ports: - containerPort: 44134 name: tiller - containerPort: 44135 name: http readinessProbe: httpGet: path: /readiness port: 44135 initialDelaySeconds: 1 timeoutSeconds: 1 resources: {} serviceAccountName: tiller status: {}
рдХреИрд╕реЗ рдмрджрд▓реЗрдВ ? рдХреНрдпрд╛ рдЖрдк рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ?
рдЖрдЬ рдореИрдВ рдЙрд╕реА рдореБрджреНрджреЗ рд╕реЗ рдорд┐рд▓рд╛, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рд▓реЗрдмрд▓ рдмрджрд▓ рджрд┐рдпрд╛ред рдореИрдВ рд▓реЗрдмрд▓ рдХреЛ
apps/v1
рдмрджрд▓рддрд╛ рд╣реВрдВ рдФрд░selector
рд╣рд┐рд╕реНрд╕рд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░ рд░рд╣рд╛ рд╣реИ, рдиреАрдЪреЗ рдореЗрд░реА yaml рдлрд╝рд╛рдЗрд▓ рд╣реИ:apiVersion: apps/v1 kind: Deployment metadata: creationTimestamp: null labels: app: helm name: tiller name: tiller-deploy namespace: kube-system spec: replicas: 1 strategy: {} selector: matchLabels: app: helm name: tiller template: metadata: creationTimestamp: null labels: app: helm name: tiller spec: automountServiceAccountToken: true containers: - env: - name: TILLER_NAMESPACE value: kube-system - name: TILLER_HISTORY_MAX value: "0" image: gcr.io/kubernetes-helm/tiller:v2.14.3 imagePullPolicy: IfNotPresent livenessProbe: httpGet: path: /liveness port: 44135 initialDelaySeconds: 1 timeoutSeconds: 1 name: tiller ports: - containerPort: 44134 name: tiller - containerPort: 44135 name: http readinessProbe: httpGet: path: /readiness port: 44135 initialDelaySeconds: 1 timeoutSeconds: 1 resources: {} serviceAccountName: tiller status: {}
@ gm12367 рдХреИрд╕реЗ рдмрджрд▓рдирд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдЖрдк рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдЖрдЬ рдореИрдВ рдЙрд╕реА рдореБрджреНрджреЗ рд╕реЗ рдорд┐рд▓рд╛, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рд▓реЗрдмрд▓ рдмрджрд▓ рджрд┐рдпрд╛ред рдореИрдВ рд▓реЗрдмрд▓ рдХреЛ
apps/v1
рдмрджрд▓рддрд╛ рд╣реВрдВ рдФрд░selector
рд╣рд┐рд╕реНрд╕рд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░ рд░рд╣рд╛ рд╣реИ, рдиреАрдЪреЗ рдореЗрд░реА yaml рдлрд╝рд╛рдЗрд▓ рд╣реИ:apiVersion: apps/v1 kind: Deployment metadata: creationTimestamp: null labels: app: helm name: tiller name: tiller-deploy namespace: kube-system spec: replicas: 1 strategy: {} selector: matchLabels: app: helm name: tiller template: metadata: creationTimestamp: null labels: app: helm name: tiller spec: automountServiceAccountToken: true containers: - env: - name: TILLER_NAMESPACE value: kube-system - name: TILLER_HISTORY_MAX value: "0" image: gcr.io/kubernetes-helm/tiller:v2.14.3 imagePullPolicy: IfNotPresent livenessProbe: httpGet: path: /liveness port: 44135 initialDelaySeconds: 1 timeoutSeconds: 1 name: tiller ports: - containerPort: 44134 name: tiller - containerPort: 44135 name: http readinessProbe: httpGet: path: /readiness port: 44135 initialDelaySeconds: 1 timeoutSeconds: 1 resources: {} serviceAccountName: tiller status: {}
@ gm12367 рдХреИрд╕реЗ рдмрджрд▓рдирд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдЖрдк рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк YAML- рдкреНрд░рд╛рд░реВрдк рдореЗрдирд┐рдлреЗрд╕реНрдЯреЛрдВ рдХреЛ рдореБрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП helm init --service-account tiller --tiller-namespace kube-system --debug
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, --debug
рд╡рд┐рдХрд▓реНрдк рдпрд╣ рдХрд░реЗрдВрдЧреЗ
@ gm12367 рд╣рд╛рдВ, рдореИрдВ рдкреНрд░рд┐рдВрдЯ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл рдЖрдЙрдЯрдкреБрдЯред рддреЛ, рдореИрдВ рдХрд┐рд╕ рдХрдорд╛рдВрдб рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реВрдВ?
@ gm12367 рдореИрдВ рдРрдкреНрд╕ / v1 рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдЪрдпрдирдХрд░реНрддрд╛ рднрд╛рдЧ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ
@ puww1010 рдореИрдВрдиреЗ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП VIM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЖрджреЗрд╢ред
# helm init --service-account tiller --tiller-namespace kube-system --debug >> helm-init.yaml
# vim helm-init.yaml
# kubectl apply -f helm-init.yaml
рдпрджрд┐ рдЖрдкрдХрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЖрдк рддрдм рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рдкреАрдЖрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рджреЗрддрд╛ рд╣реИ [рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ 1.16 рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд init] # 6462 рд╡рд┐рд▓реАрди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рд╣рдореЗрд╢рд╛ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдмрд┐рд▓реНрдб
mkdir p ${GOPATH}/src/k8s.io
cd ${GOPATH}/src/k8s.io
git clone -b kube16 https://github.com/keleustes/helm.git
cd helm
make bootstrap build
рдкрд░реАрдХреНрд╖рд╛:
kubectl version
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.0", GitCommit:"2bd9643cee5b3b3a5ecbd3af49d09018f0773c77", GitTreeState:"clean", BuildDate:"2019-09-18T14:36:53Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.0", GitCommit:"2bd9643cee5b3b3a5ecbd3af49d09018f0773c77", GitTreeState:"clean", BuildDate:"2019-09-18T14:27:17Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
/bin/helm init --wait --tiller-image gcr.io/kubernetes-helm/tiller:v2.14.3
Creating /home/xxx/.helm
Creating /home/xxx/.helm/repository
Creating /home/xxx/.helm/repository/cache
Creating /home/xxx/.helm/repository/local
Creating /home/xxx/.helm/plugins
Creating /home/xxx/.helm/starters
Creating /home/xxx/.helm/cache/archive
Creating /home/xxx/.helm/repository/repositories.yaml
Adding stable repo with URL: https://kubernetes-charts.storage.googleapis.com
Adding local repo with URL: http://127.0.0.1:8879/charts
$HELM_HOME has been configured at /home/xxx/.helm.
Tiller (the Helm server-side component) has been installed into your Kubernetes Cluster.
Please note: by default, Tiller is deployed with an insecure 'allow unauthenticated users' policy.
To prevent this, run `helm init` with the --tiller-tls-verify flag.
For more information on securing your installation see: https://docs.helm.sh/using_helm/#securing-your-helm-installation
`` `рдмрд╛рд╢
kubectl рдХреЛ рддреИрдирд╛рддреА рдорд┐рд▓рддреА рд╣реИ
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: "1"
creationTimestamp: "2019-09-22T01:01:11Z"
generation: 1
labels:
app: helm
name: tiller
name: tiller-deploy
namespace: kube-system
resourceVersion: "553"
selfLink: /apis/apps/v1/namespaces/kube-system/deployments/tiller-deploy
uid: 124001ca-6f31-417e-950b-2452ce70f522
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app: helm
name: tiller
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
creationTimestamp: null
labels:
app: helm
name: tiller
spec:
automountServiceAccountToken: true
containers:
- env:
- name: TILLER_NAMESPACE
value: kube-system
- name: TILLER_HISTORY_MAX
value: "0"
image: gcr.io/kubernetes-helm/tiller:v2.14.3
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 3
httpGet:
path: /liveness
port: 44135
scheme: HTTP
initialDelaySeconds: 1
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
name: tiller
ports:
- containerPort: 44134
name: tiller
protocol: TCP
- containerPort: 44135
name: http
protocol: TCP
readinessProbe:
failureThreshold: 3
httpGet:
path: /readiness
port: 44135
scheme: HTTP
initialDelaySeconds: 1
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
status:
availableReplicas: 1
conditions:
- lastTransitionTime: "2019-09-22T01:01:23Z"
lastUpdateTime: "2019-09-22T01:01:23Z"
message: Deployment has minimum availability.
reason: MinimumReplicasAvailable
status: "True"
type: Available
- lastTransitionTime: "2019-09-22T01:01:11Z"
lastUpdateTime: "2019-09-22T01:01:23Z"
message: ReplicaSet "tiller-deploy-568db6b69f" has successfully progressed.
reason: NewReplicaSetAvailable
status: "True"
type: Progressing
observedGeneration: 1
readyReplicas: 1
replicas: 1
updatedReplicas: 1
@jbrette рдЖрдкрдХреЗ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рднреА рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ
@jbrette рдЖрдкрдХреЗ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рднреА рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ "./bin/helm"" рдХреЗ рдмрдЬрд╛рдп "helm" рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рд╣реИред рдЖрдк рдмрд╛рдЗрдирд░реА рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рд╕рдлрд▓ init рдХреЗ рдмрд╛рдж рдЖрдк рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдЪрд╛рд░реНрдЯ рдкреИрдХреЗрдЬ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ, рдЬрдм рддрдХ рдХрд┐ рдЗрд╕рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди / v1beta1 рдХреА рдЬрдЧрд╣ рди рд╣реЛред
рдпрд╣рд╛рдБ рдХреИрд╕реЗ k8s v1.16.0 рдХреЗ рд▓рд┐рдП рднрдВрдбрд╛рд░ рд╕реЗ рдХрд┐рд╕реА рднреА рдЪрд╛рд░реНрдЯ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ
рдЙрджрд╛рд╣рд░рдг рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдЪрд╛рд░реНрдЯ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред
git clone https://github.com/helm/charts
cd charts/stable
рдПрдХреНрд╕рдЯреЗрдВрд╢рди / v1b1 рдХреЛ рдкреЙрд▓рд┐рд╕реА рдореЗрдВ рдмрджрд▓реЗрдВ / v1b1
sed -i 's<strong i="11">@apiVersion</strong>: extensions/v1beta1<strong i="12">@apiVersion</strong>: policy/v1beta1@' `find . -iregex ".*yaml\|.*yml" -exec awk '/kind:\s+PodSecurityPolicy/ {print FILENAME}' {} +`
NetworkPolicy ApiVersion рдЙрди рдЪрд╛рд░реНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП _helpers.tpl рджреНрд╡рд╛рд░рд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХреНрд╕рдЯреЗрдВрд╢рди / v1b1 рдХреЛ рдПрдкреНрд╕ / v1 рдореЗрдВ рддреИрдирд╛рддреА, рд╕реНрдЯреЗрдЯрдлреБрд▓рд╕реЗрдЯ, рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ, рдбреЗрдордирд╕реЗрдЯ рдореЗрдВ рдмрджрд▓реЗрдВ
sed -i 's<strong i="17">@apiVersion</strong>: extensions/v1beta1<strong i="18">@apiVersion</strong>: apps/v1@' `find . -iregex ".*yaml\|.*yml" -exec awk '/kind:\s+(Deployment|StatefulSet|ReplicaSet|DaemonSet)/ {print FILENAME}' {} +`
sed -i 's<strong i="19">@apiVersion</strong>: apps/v1beta2<strong i="20">@apiVersion</strong>: apps/v1@' `find . -iregex ".*yaml\|.*yml" -exec awk '/kind:\s+(Deployment|StatefulSet|ReplicaSet|DaemonSet)/ {print FILENAME}' {} +`
рдПрдХ рдирдпрд╛ рдкреИрдХреЗрдЬ рдмрдирд╛рдПрдБ:
helm package ./prometheus
Successfully packaged chart and saved it to: /home/vagrant/charts/stable/prometheus-9.1.1.tgz
рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЛ:
helm install /home/vagrant/charts/stable/prometheus-9.1.1.tgz
Https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/ рдкрд░ рдЖрдзрд╛рд░рд┐рдд
рдкреБрдирд╢реНрдЪ рдирд┐рд░реНрднрд░рддрд╛ рд╡рд╛рд▓реЗ рдХреБрдЫ рдЪрд╛рд░реНрдЯ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ helm dependency update
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдФрд░ рдпрджрд┐ рд▓рд╛рдЧреВ рд╣реЛ рддреЛ рдирд┐рд░реНрднрд░ tgz рдХреЛ рдкреИрдЪ рд╡рд╛рд▓реЗ рдХреЗ рд╕рд╛рде рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред
helm init --history-max 200
рдЪрд▓рдиреЗ рдкрд░ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ рд╣реЛ рд░рд╣реА рд╣реИ
рдЙрддреНрдкрд╛рджрди
$HELM_HOME has been configured at /Users/neil/.helm.
Error: error installing: the server could not find the requested resource
$ helm version
Client: &version.Version{SemVer:"v2.14.3", GitCommit:"0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState:"clean"}
Error: could not find tiller
рдпрд╣ рд╢рд╛рдЦрд╛ https://github.com/keleustes/helm/tree/kube16 рдХрд╛рдо рдХрд░рддреА рд╣реИ https://s3-us-west-2.amazonaws.com/bin.cryptexlabs.com/github.com/keleustes/helm/kube16/darwin/helmред рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХреИрдирд░реА рдЗрдореЗрдЬ рдлреНрд▓реИрдЧ helm init --canary-image
рдХреНрдпреЛрдВрдХрд┐ рдмрд┐рд▓реНрдб рдЕрдкреНрд░рдмрдВрдзрд┐рдд рд╣реИ
рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреИрдирд░реА рдЫрд╡рд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ # 6462 рдХреЛ рдЖрдЬрд╝рдорд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдореИрдВ helm init --tiller-image gcr.io/kubernetes-helm/tiller:v2.14.3
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ ред
рдореИрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкрд╣рд▓реЗ рдХрд┐рд╕реА рдкреАрдЖрд░ рд░рд╛рд╕реНрддреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкрд╣рд▓реЗ рджрд┐рдП рдЧрдП рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдЖрдЬрд╝рдорд╛рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреВрдВрдЧрд╛; рдЗрд╕ рддрд░рд╣, рд╡реЗ рдЕрднреА рднреА рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рдЕрдзреАрди рд╣реИ рдХрд┐ рдПрдХ рдХрд╕реНрдЯрдо рджреЗрд╡ рд╢рд╛рдЦрд╛ рдХреЗ рдмрдЬрд╛рдп рд╣реЗрд▓реНрдо 2.14.3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдЬрдм рдореИрдВ рдЗрд╕реЗ рдХрдорд╛рдВрдб рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрд╛рдж рдбрд┐рдмреНрдмреЗ рдЗрд╕реЗ рдлрд▓реА рдореЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╕рд░реНрд╡рд░ рд╕реЗ рддреНрд░реБрдЯрд┐ (NotFound): рдкреЙрдбреНрд╕ "рдЯрд┐рд▓рд░-рддреИрдирд╛рдд" рдирд╣реАрдВ рдорд┐рд▓рд╛
helm init --service-account tiller --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's<strong i="7">@apiVersion</strong>: extensions/v1beta1<strong i="8">@apiVersion</strong>: apps/v1@' | kubectl apply -f -
рддреИрдирд╛рдд рдХрд░рдирд╛
рд╕реЗрд╡рд╛ / рдЯрд┐рд▓рд░-рддреИрдирд╛рдд рдмрдирд╛рдпрд╛ рдЧрдпрд╛
рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ kubectl рдлрд▓реА рдорд┐рд▓рддрд╛ рд╣реИ - рд╕рднреА рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдлрд▓реА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ
NAMESPACE рдХреЗ рдирд╛рдо рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рд░реЗрд╕реНрддрд░рд╛рдВ
kube-system coredns-5644d7b6d9-559hw 1/1 рд░рдирд┐рдВрдЧ 0 23h
kube-system coredns-5644d7b6d9-xcmjd 1/1 рд░рдирд┐рдВрдЧ 0 23h
рдХреНрдпреВрдм-рд╕рд┐рд╕реНрдЯрдо etcd-fmp 1/1 рд░рдирд┐рдВрдЧ 0 24h
kube-system kube-apiserver-fmp 1/1 рд░рдирд┐рдВрдЧ 0 24h
рдХреНрдпреВрдм-рд╕рд┐рд╕реНрдЯрдо рдХреНрдпреВрдм-рдХрдВрдЯреНрд░реЛрд▓рд░-рдореИрдиреЗрдЬрд░-рдПрдлрдПрдордкреА рез / рез рд░рдирд┐рдВрдЧ резрек рдПрдЪ
kube-system kube-flannel-ds-amd64-ffx2g 1/1 рд░рдирд┐рдВрдЧ 0 23h
kube-system kube -xy-lfvrz 1/1 рд░рдирд┐рдВрдЧ 0 24h
kube- рд╕рд┐рд╕реНрдЯрдо kub-рдЕрдиреБрд╕реВрдЪрдХ-fmp 1/1 рд░рдирд┐рдВрдЧ 0 24h
kubectl рд╕рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ - рд╕рднреА-рдирд╛рдорд╕реНрдерд╛рди | grep рдЯрд┐рд▓рд░
рдХреНрдпреВрдм-рд╕рд┐рд╕реНрдЯрдо рд╕реЗрд╡рд╛ / рдЯрд┐рд▓рд░-рддреИрдирд╛рдд рдХреНрд▓рд╕реНрдЯрд░ рдХреНрд▓рд╕реНрдЯрд░ xxx
kube-system рдкрд░рд┐рдирд┐рдпреЛрдЬрди .apps / рдЯрд┐рд▓рд░-рддреИрдирд╛рдд 0/1 0 0 2m54s
рдХреНрдпреВрдм-рд╕рд┐рд╕реНрдЯрдо replicaset.apps / рдЯрд┐рд▓рд░-рддреИрдирд╛рддреА -77855d9dcf 1 0 0 2 2 mgs
@DanielIvaylov рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЯрд┐рд▓рд░ рд╕реЗрд╡рд╛ рдЦрд╛рддрд╛ рдирд╣реАрдВ рд╣реИред рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдмрдирд╛рдПрдВ, рдФрд░ рдлрд┐рд░ рддреИрдирд╛рддреА рдЯрд┐рд▓рд░ рдкреЙрдб рднреА рдмрдирд╛рдПрдЧреАред
рдзрдиреНрдпрд╡рд╛рдж!
@DanielIvaylov рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЯрд┐рд▓рд░ рд╕реЗрд╡рд╛ рдЦрд╛рддрд╛ рдирд╣реАрдВ рд╣реИред рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдмрдирд╛рдПрдВ, рдФрд░ рдлрд┐рд░ рддреИрдирд╛рддреА рдЯрд┐рд▓рд░ рдкреЙрдб рднреА рдмрдирд╛рдПрдЧреАред
рдзрдиреНрдпрд╡рд╛рдж!
рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, im new i рдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдпрд╣ рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдореИрдВ рдЯрд┐рд▓рд░ рд╕реЗрд╡рд╛ рдЦрд╛рддрд╛ рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд░реВрдВ?
@ рдбреИрдирд┐рдпрд▓ рдЗрд╡рд▓рд╛рд╡
kubectl --namespace kube-system create sa tiller
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
рдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ (/etc/kubernetes/manifests/kube-apiserver.yaml) рдкрд░ рдзреНрд╡рдЬ рдХреЗ рдиреАрдЪреЗ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдЙрди рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдП рдЧрдП рдПрдкреАрдЖрдИ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИред
--runtime-config = apps / v1beta1 = true, apps / v1beta2 = true, рдПрдХреНрд╕рдЯреЗрдВрд╢рди / v1beta1 / daemonsets = true, рдПрдХреНрд╕рдЯреЗрдВрд╢рди / v1beta1 / рдкрд░рд┐рдирд┐рдпреЛрдЬрди = рд╕рддреНрдп, рдПрдХреНрд╕рдЯреЗрдВрд╢рди / v1beta1 / рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ = рд╕рддреНрдп, рдПрдХреНрд╕рдЯреЗрдВрд╢рди / v1beta1 / networkpolatics = trueред рдПрдХреНрд╕рдЯреЗрдВрд╢рди / v1beta1 / podsecuritypolatics = true
рдпрд╣ рдкрддрд╡рд╛рд░ v2 рддрдп рдХреА
рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╢рд┐рд▓реНрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯрд┐рд▓рд░ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб / рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ рдЬреИрд╕реЗ:
$(helm init --output yaml) -replace "extensions/v1beta1","apps/v1"
рдпрд╣рд╛рдБ рдПрдХ рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рд╕рдорд╛рдзрд╛рди рд╣реИ:
helm init --output yaml | sed 's<strong i="7">@apiVersion</strong>: extensions/v1beta1<strong i="8">@apiVersion</strong>: apps/v1@' | kubectl apply -f -
рджрд░рдЕрд╕рд▓, рдпрд╣ рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдЕрднреА рднреА рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ:
error validating data: ValidationError(Deployment.spec): missing required field "selector" in io.k8s.api.apps.v1.DeploymentSpec
рдЗрд╕рдХреЗ рд╕рд╛рде рдкреИрдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
/usr/local/bin/kubectl patch --local -oyaml -f - -p '{"spec":{"selector": {"app":"helm","name":"tiller"}}}'
рдореЗрд░реЗ рд▓рд┐рдП kubectl рдкреИрдЪ рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИ
/ var / log / syslog рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЛрдИ рд╕рдВрджреЗрд╢ рдирд╣реАрдВ
рд╕реЗрд╡рд╛ рдЦрд╛рддреЗ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИрдВ
kubeflow @ masternode : ~ $ kubectl --namespace kube-system рдПрдХ sa Tiller рдмрдирд╛рдПрдБ
рд╕рд░реНрд╡рд░ рд╕реЗ рддреНрд░реБрдЯрд┐ (рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореМрдЬреВрдж): рд╕рд░реНрд╡рд┐рд╕рд╕реАрдХрд╛рдЙрдВрдЯ "рдЯрд┐рд▓рд░" рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ
kubeflow @ masternode : ~ $ kubectl рдХреНрд▓рд╕реНрдЯрд░рдмреЗрд▓реНрдбрд┐рдВрдЧ рдЯрд┐рд▓рд░ рдмрдирд╛рдПрдВ - рдХреНрд▓реЗрд╕реНрдЯрд░реЛрд▓ рдХреНрд▓рд╕реНрдЯрд░-рдПрдбрдорд┐рди --serviceaccount = kube- рд╕рд┐рд╕реНрдЯрдо: рдЯрд┐рд▓рд░
рд╕рд░реНрд╡рд░ рд╕реЗ рддреНрд░реБрдЯрд┐ (рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореМрдЬреВрдж): рдХреНрд▓рд╕реНрдЯрд░рдмреЗрд▓рд┐рдВрдбрд┐рдВрдЧреНрд╕ .rbac.authorization.k8s.io "рдЯрд┐рд▓рд░" рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ
рдХреНрдпрд╛ рдЖрдк рд╕рд▓рд╛рд╣ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ
рдиреАрдЪреЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд
рдирд┐рд░реНрдпрд╛рдд рдкрде = $ рдкрде: / usr / рд╕реНрдерд╛рдиреАрдп / рдмрд┐рди
рдХреМрди рд╕рд╛ рдкрддрд╡рд╛рд░
рдЬреЛ рдЯрд┐рд▓рд░
рд╣реЗрд▓рдо рдЗрдВрд╕реНрдЯреЙрд▓ \ _
--name nfs-client-рдкреНрд░реЛрд╡рд┐рдЬрд╝рдирд░ \ n
--рд╕реЗрдЯ nfs.server = 10.0.0.4 \
--рд╕реЗрдЯ nfs.path = / nfsroot \
--set StorageClass.name = nfs \
--set storageClass.defaultClass = true \
рд╕реНрдерд┐рд░ / nfs- рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рдВрдпреЛрдЬрдХ
рд╕рд╛рде рд▓реМрдЯрддрд╛ рд╣реИ
/ usr / рд╕реНрдерд╛рдиреАрдп / рдмрд┐рди / рдкрддрд╡рд╛рд░
/ usr / рд╕реНрдерд╛рдиреАрдп / рдмрд┐рди / рдЯрд┐рд▓рд░
рддреНрд░реБрдЯрд┐: рдЯрд┐рд▓рд░ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрд╛
рдХрд┐рд╕реА рднреА рдорджрдж рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдм рдПрдХ рд╢реЛ рд╕реНрдЯреЙрдкрд░ рд╣реИ
@cyrilthank рдпрд╣ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЯрд┐рд▓рд░ рддреНрд░реБрдЯрд┐ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣рд╛рдБ рдХреЛрдИ рдЯрд┐рд▓рд░ рддреИрдирд╛рддреА рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдЯрд┐рд▓рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
helm init --service-account tiller --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's<strong i="7">@apiVersion</strong>: extensions/v1beta1<strong i="8">@apiVersion</strong>: apps/v1@' | kubectl apply -f -
helm version -s
рдХреЛ рд╕рд░реНрд╡рд░ (рдЯрд┐рд▓рд░) рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЕрдЧрд░ рдЗрд╕рдХреЗ рдКрдкрд░ рдФрд░ рдареАрдХ рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИ
рд╢реБрдХреНрд░рд┐рдпрд╛ рдЬрдирд╛рдмред
рдЖрдк рд╣рдореЗрдВ рдЕрдЧрд▓реЗ рдЪрд░рдг рдХреЗ рд▓рд┐рдП kubeflow рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдореЗрдВ рдорджрджрдЧрд╛рд░ рд░рд╣реЗ рд╣реИрдВ
рдареАрдХ рд╣реИ, рдЕрдм рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдпрд╣ рдореБрджреНрджрд╛ рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ
https://github.com/kubeflow/kubeflow/issues/4184
рдЕрд╡рд░реЛрдзрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рдкрд╕
рдпрджрд┐ рдЖрдк https://github.com/kubeflow/kubeflow/issues/4184 рдкрд░ рдХреБрдЫ рдорджрдж рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕рдХреА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреА рд╕рд░рд╛рд╣рдирд╛
: @cyrilthank рдКрдкрд░ рдмрддрд╛рдП рдЧрдП рдЪрд░рдгреЛрдВ рдХреЛрд╢рд┐рд╢ https://github.com/helm/helm/issues/6374#issuecomment -+релрей,рейрео,релрей,реореорео
рдЖрдкрдХреЛ рд╣рдЯрд╛рдП рдЧрдП рдПрдкреАрдЖрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдирдП рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
kubeflow_workaround_and_error_traces.txt
рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЦреБрд▓рд╛ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдорд░реАрдЬ рдХреЗ рдЬрд╡рд╛рдм рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рд╕рд░
рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдЪрд░рдгреЛрдВ рдореЗрдВ рдХреБрдЫ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ
рд╕рд░рд╛рд╣рдирд╛ рдХрд░реЗрдВ рдпрджрд┐ рдЖрдк рд╕рдВрд▓рдЧреНрди рдирд┐рд╢рд╛рдиреЛрдВ рдореЗрдВ рдЪрд░рдгреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдореБрдЭреЗ рд╕рд▓рд╛рд╣ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдХреНрдпрд╛ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ
@ рдХреНрд░рд┐рд▓реНрдЯрд┐рдВрдХ рдЖрдкрдХреЛ рдмрд╕ рдкреБрд░рд╛рдиреЗ рдХреНрдпреВрдИ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдирдП рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП (# рд╕рднреА рдкрд░ рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ) рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП sed
рдЕрдкрдиреЗ рдХреНрдпреВрдмрдлрд╝реНрд▓реЛ рдпрд╛рдорд▓реНрд╕ рдХреЗ рдЦрд┐рд▓рд╛рдл рдХрдорд╛рдВрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдорд╛рдл рдХрд░рдирд╛, рдЕрдЧрд░ рдореИрдВ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡реНрдпрдХреНрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рдпрд╣ рдлрд┐рдХреНрд╕ рдореВрд▓ рд░реВрдк рд╕реЗ extensions/v1beta1
apps/v1
рд╕рд╛рде рдЖрдкрдХреЗ kubeflow dpl yamls рдХреА рдЬрдЧрд╣ рд▓реЗ рд░рд╣рд╛ рд╣реИ
рдЖрд╣ рддреЛ рдореИрдВ рдПрдХ рдЧреВрдВрдЧрд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдХрд┐рдпрд╛ :(
рдореЗрд░рд╛ KFAPP = / nfsroot / kf-poc
рдореБрдЭреЗ рдЕрднреА рднреА рдХреБрдЫ рд╕рдВрджреЗрд╢ рдФрд░ рдЕрдВрддрд┐рдо рддреНрд░реБрдЯрд┐ рдирд┐рдХрд▓ рд░рд╣реА рд╣реИ
рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЕрдм рдЖрдк рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк kubeflow рдкрд░ рдЕрдЧрд▓реЗ рдЪрд░рдг рдкрд░ рдЬрд╛рдПрдВ
@ рдХреНрд░рд┐рдкреНрдЯрд┐рдВрдХреИрдВрдХ рдЖрдкрдХреЛ рдмрд╕ рдкреБрд░рд╛рдиреЗ рдХреНрдпреВрдИ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдирдП рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП
sed
рдЖрджреЗрд╢реЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдирдП рд╕рднреА рд╣рдВрд╕реА рдкрд░ рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред рдорд╛рдл рдХрд░рдирд╛, рдЕрдЧрд░ рдореИрдВ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡реНрдпрдХреНрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рдпрд╣ рдлрд┐рдХреНрд╕ рдореВрд▓ рд░реВрдк рд╕реЗextensions/v1beta1
apps/v1
рд╕рд╛рде рдЖрдкрдХреЗ kubeflow dpl yamls рдХреА рдЬрдЧрд╣ рд▓реЗ рд░рд╣рд╛ рд╣реИ
apps/v1beta2
рднреА apps/v1
https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/
рдЖрдкрдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж @uniuuu
рдХреНрдпрд╛ рдЖрдк рд╕рд▓рд╛рд╣ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ https://github.com/helm/helm/helm/files/3662328/kubeflow_workaround_sed_and_error_traces.txt рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдпрдо рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХреИрд╕реЗ / рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд
https://github.com/helm/helm/issues/6374#issuecomment -533840097
https://github.com/helm/helm/issues/6374#issuecomment -533185074
рд░рд┐рдХреНрддреА рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рдж рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реБрдП рд╣рдо рдЕрднреА рднреА рд╕рдВрджрд░реНрднрд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ
рдЖрдк рдХреГрдкрдпрд╛ рд╕рд▓рд╛рд╣ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдЕрдЧрд░ рдХрджрдо
kubectl Convert -f
рд╣рд░ рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
рдпрджрд┐ рдЖрдкрдиреЗ helm init
рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдЕрднреА рднреА helm version
рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ, рддреЛ рдпрд╣ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ helm
deployment
рдкрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ред
Error: could not find tiller
рдпрд╣ рддреИрдпрд╛рд░ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ kubectl get events --all-namespaces | grep -i tiller
рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░рд╛ рдореБрджреНрджрд╛ рдХреЗрд╡рд▓ рдиреАрдЪреЗ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ serviceaccount "tiller"
рд╕рд╛рде microk8s
ред
microk8s.kubectl get events --all-namespaces | grep -i tiller
kube-system 23m Warning FailedCreate replicaset/tiller-deploy-77855d9dcf Error creating: pods "tiller-deploy-77855d9dcf-" is forbidden: error looking up service account kube-system/tiller: serviceaccount "tiller" not found
рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕рд░реНрд╡рд┐рд╕ рдЕрдХрд╛рдЙрдВрдЯ рдХреЗ рдмрд┐рдирд╛ рд╡рд░реНрдХрдЖрдЙрдЯ рдХрд┐рдпрд╛
- helm init --service-account tiller --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's<strong i="20">@apiVersion</strong>: extensions/v1beta1<strong i="21">@apiVersion</strong>: apps/v1@' | kubectl apply -f -
+ helm init spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's<strong i="22">@apiVersion</strong>: extensions/v1beta1<strong i="23">@apiVersion</strong>: apps/v1@' | kubectl apply -f -
@cyrilthank рдореИрдВрдиреЗ рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдпрд╣рд╛рдБ рд╢рд╛рдорд┐рд▓ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИред рдХреГрдкрдпрд╛ kubeflow / kubeflow # 4184 рдореЗрдВ рдЕрдиреБрд╡рд░реНрддреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдЬрд╛рд░реА рд░рдЦреЗрдВред рдзрдиреНрдпрд╡рд╛рдж!
helm init spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's<strong i="6">@apiVersion</strong>: extensions/v1beta1<strong i="7">@apiVersion</strong>: apps/v1@' | kubectl apply -f -
рдереЛрдбрд╝рд╛ рд╕реБрдзрд╛рд░
helm init --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's<strong i="11">@apiVersion</strong>: extensions/v1beta1<strong i="12">@apiVersion</strong>: apps/v1@' | kubectl apply -f -
+1
@ puww1010 рдореИрдВрдиреЗ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП VIM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЖрджреЗрд╢ред
# helm init --service-account tiller --tiller-namespace kube-system --debug >> helm-init.yaml # vim helm-init.yaml # kubectl apply -f helm-init.yaml
рдореИрдВрдиреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред VIM рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВ kubectl apply
рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЬрдм рдореИрдВ helm init --service-account tiller --tiller-namespace kube-system --debug >> helm-init.yaml
рдлрд┐рд░ рд╕реЗ рдЪрд▓рддрд╛ рд╣реВрдВ рдпрд╛ helm init --output yaml
рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВред рдХрд┐рд╕реА рдФрд░ рдХреЛ рдпрд╣ рдЕрдиреБрднрд╡?
рдпрджрд┐ рдЖрдк рдПрдХ рдХрдо sed рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ :)
helm init --service-account tiller --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's<strong i="7">@apiVersion</strong>: extensions/v1beta1<strong i="8">@apiVersion</strong>: apps/v1@' | kubectl apply -f -
рдзрдиреНрдпрд╡рд╛рдж!
рдореИрдВрдиреЗ рдмрд╕ рдЕрдкрдиреЗ k8 рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдФрд░ рдореБрдЭреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдФрд░ рдореИрдВрдиреЗ рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдпрд╣ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдмрдирд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдФрд░ рдпрд╣реА рдореБрдЭреЗ kubectl describe -n kube-system replicasets.apps tiller-deploy-77855d9dcf
рд╕реЗ рдорд┐рд▓рддрд╛ рд╣реИред
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedCreate 41s (x14 over 82s) replicaset-controller Error creating: pods "tiller-deploy-77855d9dcf-" is forbidden: error looking up service account kube-system/tiller: serviceaccount "tiller" not found
рдореБрдЭреЗ рдЙрд╕ рд╕рд░реНрд╡рд┐рд╕рд╕реА рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдпрдорд▓ рдлрд╝рд╛рдЗрд▓ рдХрд╣рд╛рдБ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ?
@ рдбреИрдирд┐рдпрд▓ рдЗрд╡рд▓рд╛рд╡
kubectl --namespace kube-system create sa tiller kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
рдЗрд╕рд╕реЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ!
рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рдж!
рдХреИрдирд░реА рдЫрд╡рд┐ рдЕрднреА рднреА рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдкреИрджрд╛ рдХрд░рддреА рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рд╡рд┐рд▓рдп рдЕрднреА рддрдХ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ,
@ puww1010 рдореИрдВрдиреЗ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП VIM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЖрджреЗрд╢ред
# helm init --service-account tiller --tiller-namespace kube-system --debug >> helm-init.yaml # vim helm-init.yaml # kubectl apply -f helm-init.yaml
рдореИрдВрдиреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред VIM рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВ
kubectl apply
рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЬрдм рдореИрдВhelm init --service-account tiller --tiller-namespace kube-system --debug >> helm-init.yaml
рдлрд┐рд░ рд╕реЗ рдЪрд▓рддрд╛ рд╣реВрдВ рдпрд╛helm init --output yaml
рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВред рдХрд┐рд╕реА рдФрд░ рдХреЛ рдпрд╣ рдЕрдиреБрднрд╡?
рд╣рд╛рдБ, рдореЗрд░реЗ рд▓рд┐рдП рднреА рд╣реЛ рд░рд╣рд╛ рд╣реИред
рдЖрдкрдХреЛ рдЫрд╡рд┐ рд╕реНрдерд╛рди рдХреЛ gcr.azk8s.cn/kubernetes-helm/tiller:v2.14.3
gcr.io
рд╕реНрдерд╛рди рдкрд░ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред
рдЖрдкрдХреЛ рдЫрд╡рд┐ рд╕реНрдерд╛рди рдХреЛ gcr.azk8s.cn/kubernetes-helm/ рдЯрд┐рд▓рд░ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ
рдЬрдмрдХрд┐ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡реИрдз рдореБрджреНрджрд╛, рдпрд╣ рдореБрджреНрджрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдореМрдЬреВрдж рдореБрджреНрджреЗ рд╕реЗ рдереЛрдбрд╝рд╛ рд╕рд╛ рд░реВрдврд╝рд┐рд╡рд╛рджреА рд╣реИ, gcr.io
рдЪреАрди рдореЗрдВ рдЕрд╡рд░реБрджреНрдз рд╣реИ, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП https://github.com/helm/charts/issues/14607 рджреЗрдЦреЗрдВред
рд╣рдо 1.15.4 рдкрд░ рдХреБрдмреЗрд░рдиреЗрдЯ рд╕рдВрд╕реНрдХрд░рдг рд╡рд╛рдкрд╕ рд▓рд╛рдХрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ
рдЗрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП @UmamaheshMaxwell рдХреЛ рдзрдиреНрдпрд╡рд╛рджред
рдХреНрдпрд╛ рдЖрдк рдХреБрдмреЗрд░рдиреЗрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд░реЛрд▓рдмреИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЪрд░рдгреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
@ рд╕рд╛рдЗрд░рд┐рд▓рдЯреЗрдХ рдпрджрд┐ рдпрд╣ рдорд┐рдиреАрдмреНрдпреВрдм рд╣реИ, рддреЛ minikube config set kubernetes-version v1.15.4
рдЗрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП @UmamaheshMaxwell рдХреЛ рдзрдиреНрдпрд╡рд╛рджред
рдХреНрдпрд╛ рдЖрдк рдХреБрдмреЗрд░рдиреЗрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд░реЛрд▓рдмреИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЪрд░рдгреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
@ рдХреНрд░рд┐рдПрд▓рд┐рдВрдереИрдВрдХ рд╣рдо рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡реАрдПрдо (рдЙрдмрдВрдЯреВ 18+) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдиреАрдЪреЗ k8s рд╕рдВрд╕реНрдХрд░рдг 1.15.4
рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рд╣реИрдВ
--pod-network-cidr=10.244.10.0/16
- рдлрд▓рд╛рд▓реИрди
--apiserver-advertise-address=x.x.x.x
- рдЖрдкрдХреЗ рд╡реАрдПрдо (рдорд╛рд╕реНрдЯрд░) рдХрд╛ рдирд┐рдЬреА рдЖрдИрдкреА
--apiserver-cert-extra-sans=x.x.x.x
- рдЖрдкрдХреЗ рд╡реАрдПрдо (рдорд╛рд╕реНрдЯрд░) рдХрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА (рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдорд╛рд╕реНрдЯрд░ рдХреЛ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдиреЛрдЯ: рд╕реНрд╡-рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ (http://docs.shippable.com/deploy/tutorial/create-kubeconfig-for-self-hosted-kubernetes-cluster/) рдХреЗ рд▓рд┐рдП рдХреБрдмреЗрдХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╝рд╛рдЗрд▓ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░реЗрдВред
рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдЕрдЧрд░ рдЖрдк рдЕрднреА рднреА рдХреЛрдИ рдкреНрд░рд╢реНрди рд╣реИрдВред
@cyrilthank рдЕрдЧрд░ рдпрд╣ рдорд┐рдиреАрдмреНрдпреВрдм рд╣реИ, рддреЛ рдорд┐рдиреАрдмреНрдпреВрдм рдХреЙрдиреНрдлрд┐рдЧ рд╕реЗрдЯ kubernetes-version v1.15.4
рдзрдиреНрдпрд╡рд╛рдж @MrSimonEmms рдореЗрд░рд╛ рдЫреЛрдЯрд╛ рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ @UmamaheshMaxm рдХреЗ рдХрджрдореЛрдВ рдХреЗ рд╕рд╛рде рдЪрд▓рдирд╛ рд╣реЛрдЧрд╛
рдЗрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП @UmamaheshMaxwell рдХреЛ рдзрдиреНрдпрд╡рд╛рджред
рдХреНрдпрд╛ рдЖрдк рдХреБрдмреЗрд░рдиреЗрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд░реЛрд▓рдмреИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЪрд░рдгреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?@ рдХреНрд░рд┐рдПрд▓рд┐рдВрдереИрдВрдХ рд╣рдо рдЕрдкрдиреЗ рд╡реАрдПрдо (рдЙрдмрдВрдЯреВ 18+) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдиреАрдЪреЗ k8s рд╕рдВрд╕реНрдХрд░рдг 1.15.4 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рд╣реИрдВ
kubeadm reset
sudo apt-get install kubelet = 1.15.4-00 kubectl = 1.15.4-00 kubeadm = 1.15.4-00
рд╕реБрджреЛ рдХреБрдмреЗрджрдо рдЗрдирд┐рдд - рдкреЛрдб-рдиреЗрдЯрд╡рд░реНрдХ-рд╕рд┐рдбреНрд░ = 10.244.10.0 / 16 --apiserver- рд╡рд┐рдЬреНрдЮрд╛рдкрди-рдкрддрд╛ = xxxx --apiserver-cert-extra-sans = xxxx --kubernetes-version "1.15.4"--рдкреЛрдб-рдиреЗрдЯрд╡рд░реНрдХ-рд╕рд┐рдбрдЖрд░ = 10.244.10.0 / 16 - рдлрд▓рд╛рд▓реИрди
--apiserver- рд╡рд┐рдЬреНрдЮрд╛рдкрди-рдкрддрд╛ = xxxx - рдЖрдкрдХреЗ рд╡реАрдПрдо (рдорд╛рд╕реНрдЯрд░) рдХрд╛ рдирд┐рдЬреА рдЖрдИрдкреА
--apiserver-cert-extra-sans = xxxx - рдЖрдкрдХреЗ рд╡реАрдПрдо (рдорд╛рд╕реНрдЯрд░) рдХрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА (рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рд╕реЗ рдЕрдкрдиреЗ рдорд╛рд╕реНрдЯрд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдиреЛрдЯ: рд╕реНрд╡-рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ (http://docs.shippable.com/deploy/tutorial/create-kubeconfig-for-self-hosted-kubernetes-cluster/) рдХреЗ рд▓рд┐рдП рдХреБрдмреЗрдХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╝рд╛рдЗрд▓ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░реЗрдВред
рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдЕрдЧрд░ рдЖрдк рдЕрднреА рднреА рдХреЛрдИ рдкреНрд░рд╢реНрди рд╣реИрдВред
рдзрдиреНрдпрд╡рд╛рдж @UmamaheshMaxwell рдЖрдкрдХреЗ рд░реЛрдЧреА рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП
рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдореМрдЬреВрджрд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╣реИ 1.16 рд╕реЗрдЯрдЕрдк рдХреНрдпрд╛ рдЖрдк рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдЗрди рдЪрд░рдгреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
рдЗрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП @UmamaheshMaxwell рдХреЛ рдзрдиреНрдпрд╡рд╛рджред
рдХреНрдпрд╛ рдЖрдк рдХреБрдмреЗрд░рдиреЗрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд░реЛрд▓рдмреИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЪрд░рдгреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
@ рдХреНрд░рд┐рдПрд▓рд┐рдВрдереИрдВрдХ рд╣рдо рдЕрдкрдиреЗ рд╡реАрдПрдо (рдЙрдмрдВрдЯреВ 18+) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдиреАрдЪреЗ k8s рд╕рдВрд╕реНрдХрд░рдг 1.15.4 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рд╣реИрдВ
kubeadm reset
sudo apt-get install kubelet = 1.15.4-00 kubectl = 1.15.4-00 kubeadm = 1.15.4-00
рд╕реБрджреЛ рдХреБрдмреЗрджрдо рдЗрдирд┐рдд - рдкреЛрдб-рдиреЗрдЯрд╡рд░реНрдХ-рд╕рд┐рдбреНрд░ = 10.244.10.0 / 16 --apiserver- рд╡рд┐рдЬреНрдЮрд╛рдкрди-рдкрддрд╛ = xxxx --apiserver-cert-extra-sans = xxxx --kubernetes-version "1.15.4"
--рдкреЛрдб-рдиреЗрдЯрд╡рд░реНрдХ-рд╕рд┐рдбрдЖрд░ = 10.244.10.0 / 16 - рдлрд▓рд╛рд▓реИрди
--apiserver- рд╡рд┐рдЬреНрдЮрд╛рдкрди-рдкрддрд╛ = xxxx - рдЖрдкрдХреЗ рд╡реАрдПрдо (рдорд╛рд╕реНрдЯрд░) рдХрд╛ рдирд┐рдЬреА рдЖрдИрдкреА
--apiserver-cert-extra-sans = xxxx - рдЖрдкрдХреЗ рд╡реАрдПрдо (рдорд╛рд╕реНрдЯрд░) рдХрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА (рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рд╕реЗ рдЕрдкрдиреЗ рдорд╛рд╕реНрдЯрд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдиреЛрдЯ: рд╕реНрд╡-рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ (http://docs.shippable.com/deploy/tutorial/create-kubeconfig-for-self-hosted-kubernetes-cluster/) рдХреЗ рд▓рд┐рдП рдХреБрдмреЗрдХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╝рд╛рдЗрд▓ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░реЗрдВред
рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдЕрдЧрд░ рдЖрдк рдЕрднреА рднреА рдХреЛрдИ рдкреНрд░рд╢реНрди рд╣реИрдВредрдзрдиреНрдпрд╡рд╛рдж @UmamaheshMaxwell рдЖрдкрдХреЗ рд░реЛрдЧреА рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП
рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдореМрдЬреВрджрд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╣реИ 1.16 рд╕реЗрдЯрдЕрдк рдХреНрдпрд╛ рдЖрдк рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдЗрди рдЪрд░рдгреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
рд╣рд╛рдВ @cyrilthank , рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 1.16.1 kubernetes рдерд╛, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЗрд╕реЗ рд╡рд╛рдкрд╕ 1.15.4
рд░реЛрд▓ рдХрд░рдирд╛ рдерд╛, рдиреАрдЪреЗ рд▓рд┐рдВрдХ рд╣реИ рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЦрд░реЛрдВрдЪ рд╕реЗ рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
VM рдХрд╛ OS рд╕рдВрд╕реНрдХрд░рдг
Distributor ID: Ubuntu
Description: Ubuntu 18.04.3 LTS
Release: 18.04
Codename: bionic
рдХреБрдмреЗрд░рдиреЗрдЯ рдХреЛ рд╕рд╛рдл рдХрд░реЗрдВ
kubeadm reset
sudo apt-get purge kubeadm kubectl kubelet kubernetes-cni kube*
sudo apt-get autoremove
sudo rm -rf ~/.kube
рд╕реЗрдЯрдЕрдк рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ (_Both Master рдФрд░ Node_)
https://www.howtoforge.com/tutorial/how-to-install-kubernetes-on-ubuntu/
(рдЖрдк рдЕрдкрдирд╛ рд╕рдордп рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдКрдкрд░ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рдореЗрдВ рджрд┐рдП рдЧрдП рдЪрд░рдгреЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)
рдЕрдЧрд░ рдЖрдкрдХреЛ рдЕрднреА рднреА рдХрд┐рд╕реА рдФрд░ рдорджрдж рдХреА рдЬрд░реВрд░рдд рд╣реЛ рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред рд╣реИрдкреНрдкреА рдЬрд░реНрдиреА рд╡рд┐рде рд░реЛрд▓ рдмреИрдХ :), рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╣рдЬ рдпрд╛рддреНрд░рд╛ рд╣реЛрдЧреАред
рдЖрдкрдХреЛ рдЫрд╡рд┐ рд╕реНрдерд╛рди рдХреЛ gcr.azk8s.cn/kubernetes-helm/ рдЯрд┐рд▓рд░ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ
рдЬрдмрдХрд┐ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡реИрдз рдореБрджреНрджрд╛, рдпрд╣ рдореБрджреНрджрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдореМрдЬреВрдж рдореБрджреНрджреЗ рд╕реЗ рдереЛрдбрд╝рд╛ рд╕рд╛ рд░реВрдврд╝рд┐рд╡рд╛рджреА рд╣реИ,
gcr.io
рдЪреАрди рдореЗрдВ рдЕрд╡рд░реБрджреНрдз рд╣реИ, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рд╣реЗрд▓реНрдо / рдЪрд╛рд░реНрдЯ # 14607 рджреЗрдЦреЗрдВред
рдореИрдВ рдЪреАрди рдореЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЕрдореЗрд░рд┐рдХрд╛ рдореЗрдВ рд╣реВрдВред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рд╡реАрдкреАрдПрди рдиреЗ рдЙрд╕ рд╕рд╛рдЗрдЯ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдлрд┐рд░ рднреА, рдореИрдВрдиреЗ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╕рднреА рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рддрдм рддрдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рдкрд╛рдпрд╛ рдЬрдм рддрдХ рдХрд┐ рдореИрдВрдиреЗ рдЫрд╡рд┐ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рдФрд░ рджреЗрдЦрд╛ рдХрд┐ рдпрд╣ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ - рдмрд╕ рдХрд┐рд╕реА рдФрд░ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдФрд░ рдЙрд╕реА рд╕реНрдерд╛рди рдкрд░ рдЕрдЯрдХ рдЬрд╛рддрд╛ рд╣реИ рдореБрдЭреЗред
рдореБрдЭреЗ рднреА рддреНрд░реБрдЯрд┐ рд╣реЛ рд░рд╣реА рд╣реИ:
$ helm init
$HELM_HOME has been configured at C:\Users\user\.helm.
Error: error installing: the server could not find the requested resource
рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╣ рдПрдХ ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рддрджрдиреБрд╕рд╛рд░ Tiller.yaml рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдВред рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдЧреВ рдХрд░рдиреЗ / рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдЖрдЬрд╝рдорд╛ рд░рд╣рд╛ рд╣реВрдВ:
$ kubectl apply -f tiller.yaml
deployment.apps/tiller-deploy configured
service/tiller-deploy configured
рд▓реЗрдХрд┐рди рдлрд┐рд░, рдЕрдЧрд░ рдореИрдВ рдЪрд▓рд╛:
$ helm init --output yaml > tiller2.yaml
Tiller2.yaml рдлрд╝рд╛рдЗрд▓ рджрд┐рдЦрд╛рддрд╛ рд╣реИ:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: helm
name: tiller
name: tiller-deploy
namespace: kube-system
spec:
replicas: 1
strategy: {}
template:
рдореВрд▓ рд░реВрдк рд╕реЗ, рдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдареАрдХ рд╕реЗ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЗрд╕реЗ рдХрд░рдиреЗ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ : рдореИрдВ рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред рдореИрдВ рдорд┐рдирд┐рдХреНрдпреВрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ 1.15.4 рдкрд░ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд┐рдпрд╛ред
minikube delete
minikube start --kubernetes-version=1.15.4
рдлрд┐рд░, рдореИрдВ рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЕрдкрдиреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдорд┐рдирд┐рдХреНрдпреВрдм рдХреЗ рдЖрдИрдкреА рдХреЛ NO_PROXY рд╕реВрдЪреА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдерд╛: 192.168.99.101
ред рджреЗрдЦреЗрдВ: https://minikube.sigs.k8s.io/docs/reference/networking/proxy/
рдиреЛрдЯ: рдХреБрдЫ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рдж, рд╢рд╛рдпрдж рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╢рд╛рдпрдж рдореИрдВ рд╕рдм рдпрд╛рдж рдХрд░ рд░рд╣рд╛ рдерд╛ NO_PROXY рдХрджрдоред рдореИрдВрдиреЗ рд╕рднреА 192.168.99.0/24
, 192.168.39.0/24
рдФрд░ 10.96.0.0/12
рдХреЛ NO_PROXY рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдФрд░ рдЕрдм рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИред
helm init --service-account Tiller --override spec.selector.matchLabels.'name '=' Tiller ', spec.selector.matchLabels.'app' = 'helm' --output aaml | sed ' s @ apiVersion : рдПрдХреНрд╕рдЯреЗрдВрд╢рди / v1beta1 @ apiVersion : apps / v1 @' | рдХреБрдмреЗрдХреЗрд▓ рд▓рд╛рдЧреВ -f -
рдЗрд╕рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛, рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж
рдЬреИрд╕рд╛ рдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдИ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдПрдкреАрдЖрдИ рд╕рдордп-рд╕рдордп рдкрд░ рдкреБрдирд░реНрдЧрдард┐рдд рдпрд╛ рдЙрдиреНрдирдд рд╣реЛрддреЗ рд╣реИрдВред рдЬрдм рдПрдкреАрдЖрдИ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдкреБрд░рд╛рдиреЗ рдПрдкреАрдЖрдИ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдВрддрддрдГ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
V1.16 рд░рд┐рд▓реАрдЬ рдирдП рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рдПрдкреАрдЖрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрджрд╛рд╡рдирдд рдПрдкреАрдЖрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рд╕реЗрд╡рд╛ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛:
NetworkPolicy (in the extensions/v1beta1 API group)
Migrate to use the networking.k8s.io/v1 API, available since v1.8. Existing persisted data can be retrieved/updated via the networking.k8s.io/v1 API.
PodSecurityPolicy (in the extensions/v1beta1 API group)
Migrate to use the policy/v1beta1 API, available since v1.10. Existing persisted data can be retrieved/updated via the policy/v1beta1 API.
DaemonSet, Deployment, StatefulSet, and ReplicaSet (in the extensions/v1beta1 and apps/v1beta2 API groups)
Migrate to use the apps/v1 API, available since v1.9. Existing persisted data can be retrieved/updated via the apps/v1 API.
V1.20 рд░рд┐рд▓реАрдЬ рдирдП рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рдПрдкреАрдЖрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрджрд╛рд╡рдирдд рдПрдкреАрдЖрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рд╕реЗрд╡рд╛ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛:
Ingress (in the extensions/v1beta1 API group)
Migrate to use the networking.k8s.io/v1beta1 API, serving Ingress since v1.14. Existing persisted data can be retrieved/updated via the networking.k8s.io/v1beta1 API.
рдХреЛ рджреЗрдЦреЗрдВ :
рдПрдХ рд╣реЗрд▓реНрдо n00b рдХреЗ рд░реВрдк рдореЗрдВ, рдЬреЛ рдорд┐рдиреАрдмреНрдпреВрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗрдЯ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛:
$ minikube delete
$ minikube start --kubernetes-version=1.15.4
рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рд╕рд╣рд╛рдпрддрд╛ рдорд┐рд▓реЗрдЧреА!
@PierreF рдореИрдВрдиреЗ рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ (https://github.com/helm/helm/issues/6374#issuecomment-533186177) рдЬрд┐рд╕рдореЗрдВ k8s v1.16.1 рдФрд░ helm v2.15.0 рдФрд░ рдЯрд┐рд▓рд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред
Readiness probe failed: Get http://10.238.128.95:44135/readiness: dial tcp 10.238.128.95:44135: connect: connection refused
@ joshprzybyszewski-wf рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛
minikube start --memory=16384 --cpus=4 --kubernetes-version=1.15.4
kubectl create -f istio-1.3.3/install/kubernetes/helm/helm-service-account.yaml
helm init --service-account tiller
helm install istio-1.3.3/install/kubernetes/helm/istio-init --name istio-init --namespace istio-system
helm install istio-1.3.3/install/kubernetes/helm/istio --name istio --namespace istio-system
рдФрд░ рдЕрдм рдорд┐рд▓рддрд╛ рд╣реИ,
Error: validation failed: [unable to recognize "": no matches for kind "DestinationRule" in version "networking.istio.io/v1alpha3", unable to recognize "": no matches for kind "DestinationRule" in version "networking.istio.io/v1alpha3", unable to recognize "": no matches for kind "attributemanifest" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "attributemanifest" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "handler" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "handler" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "instance" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "instance" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "instance" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "instance" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "instance" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "instance" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "instance" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "instance" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "instance" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "rule" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "rule" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "rule" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "rule" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "rule" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "rule" in version "config.istio.io/v1alpha2"]
рдпрд╣рд╛рдБ рдПрдХ рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рд╕рдорд╛рдзрд╛рди рд╣реИ:
helm init --output yaml | sed 's<strong i="7">@apiVersion</strong>: extensions/v1beta1<strong i="8">@apiVersion</strong>: apps/v1@' | kubectl apply -f -
рджрд░рдЕрд╕рд▓, рдпрд╣ рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдЕрднреА рднреА рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ:
error validating data: ValidationError(Deployment.spec): missing required field "selector" in io.k8s.api.apps.v1.DeploymentSpec
рдЗрд╕рдХреЗ рд╕рд╛рде рдкреИрдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
/usr/local/bin/kubectl patch --local -oyaml -f - -p '{"spec":{"selector": {"app":"helm","name":"tiller"}}}'
рдЖрдк macthLabels
рдкреЛрд╕реНрдЯ рдЪрдпрдирдХрд░реНрддрд╛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдЪреВрдХ рдЧрдПред
рдореБрдЭреЗ @jbrette рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рднреЗрдЬрд╛ рдЧрдпрд╛ рдерд╛ред рдЬрдм рдореИрдВрдиреЗ рдЗрд╕реЗ рдЪрд▓рд╛рдпрд╛ рддреЛ рдореБрдЭреЗ рдпрд╣реА рдорд┐рд▓рд╛
error: error parsing STDIN: error converting YAML to JSON: yaml: line 11: mapping values are not allowed in this context
рдпрд╣ рд╣реЗрд▓реНрдо 2.16.0 рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдореБрдЭреЗ @jbrette рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рднреЗрдЬрд╛ рдЧрдпрд╛ рдерд╛ред рдЬрдм рдореИрдВрдиреЗ рдЗрд╕реЗ рдЪрд▓рд╛рдпрд╛ рддреЛ рдореБрдЭреЗ рдпрд╣реА рдорд┐рд▓рд╛
error: error parsing STDIN: error converting YAML to JSON: yaml: line 11: mapping values are not allowed in this context
рдпрдо рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬреЛ рд╕рдВрджрд░реНрднрд┐рдд рд▓рд╛рдЗрди рдореЗрдВ {} рдпрд╛ [] рд╣реИрдВ рдФрд░ рдЕрднреА рднреА рдЗрд╕рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЕрдиреНрдп рдЪреАрдЬреЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИрдВ рдЬреЛ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреА рд╣реИрдВред рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдорд╛рдиреЛрдВ рдХреЗ рднреАрддрд░ рд╣реЛрддреА рд╣реИред рд╢реНрдпрд╛рдо, рдЕрдиреНрдпрдерд╛ рдЪрд╛рд░реНрдЯ рдХреЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЕрдиреБрднрд╛рдЧ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред
рдмрд╕ @PierreF рдХреЗ рдФрд░ @mihivagyok рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рдУрд░ рдзреНрдпрд╛рди рджреЗрдВред рдЬрдм рдореИрдВрдиреЗ рдирд┐рдЬреА рд╣реЗрд▓реНрдо рд░рд┐рдкреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рддреЛ рд╡реЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рдереЗред
$ helm repo add companyrepo https://companyrepo
Error: Couldn't load repositories file (/home/username/.helm/repository/repositories.yaml).
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣реЗрд▓реНрдо рдЗрдирд┐рдЯ рдирд╣реАрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд╕ yaml рдлрд╝рд╛рдЗрд▓ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ рддрдп рдХрд┐рдпрд╛ рдХрд┐ helm init -c
рдХреЛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдХрд░ред
k8s v1.16.6 рдореЗрдВ, helm init otput рдХреЗ рд▓рд┐рдП spec.selector fyi рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рд╡рд░реНрддрдорд╛рди рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ:
helm init --output yaml> Tiller.yaml
рдФрд░ Tiller.yaml рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:
- рдПрдкреНрд▓рд┐рдХреЗрд╢рди / v1 рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди
- рдЪрдпрдирдХрд░реНрддрд╛ рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝реЗрдВ
--- apiVersion: apps/v1 kind: Deployment metadata: creationTimestamp: null labels: app: helm name: tiller name: tiller-deploy namespace: kube-system spec: replicas: 1 strategy: {} selector: matchLabels: app: helm name: tiller ....
рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ kubernetes рдПрдкрд┐рд╡рд░реНрд╕рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди / v1 рдХреЛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВ, рдПрдХ рдЪреАрдЬ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣рдореЗрдВ рдХрд▓реНрдкрдирд╛ рдХреЗ рд▓рд┐рдП рдЪрдпрдирдХрд░реНрддрд╛ рдорд┐рд▓рд╛рди рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдПрдХ рдФрд░ рд╕рдорд╛рдзрд╛рди рд╣реЗрд▓реНрдо 3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдЯрд┐рд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдкрддрд╡рд╛рд░ init - рджрдХреНрд╖рд┐рдг рдпрдорд▓ | sed ' s @ apiVersion : рдПрдХреНрд╕рдЯреЗрдВрд╢рди / v1beta1 @ apiVersion : apps / v1 @' | рдХреБрдмреЗрдХреЗрд▓ рд▓рд╛рдЧреВ -f -
рдирдорд╕реНрддреЗ, рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реБрдП рдореБрдЭреЗ рдпрд╣ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ:
jenkins @ jenkin : ~ / .kube $ helm init --output yaml | sed ' s @ apiVersion : рдПрдХреНрд╕рдЯреЗрдВрд╢рди / v1beta1 @ apiVersion : apps / v1 @' | рдХреБрдмреЗрдХреЗрд▓ рд▓рд╛рдЧреВ -f -
рдЖрджреЗрд╢ 'kubectl' рдирд╣реАрдВ рдорд┐рд▓рд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рд╕реНрдиреИрдк рд╕реНрдерд╛рдкрд┐рдд kubectl
рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╕реЗ рдкреВрдЫреЗрдВред
jenkins @ jenkin : ~ / .kube $
helm version
: v2.14.3 рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ
kubectl version
: рдХреНрд▓рд╛рдЗрдВрдЯ: v1.15.3, рд╕рд░реНрд╡рд░: v1.16.0-rc.1 рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ
рдХреНрд▓рд╛рдЙрдб рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ / рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо (AKS, GKE, Minikube рдЖрджрд┐): IBM Cloud Kubernetes Service$ helm init --service-account tiller $HELM_HOME has been configured at /Users/xxxx/.helm. Error: error installing: the server could not find the requested resource $ helm init --debug --service-account tiller --- apiVersion: extensions/v1beta1 kind: Deployment metadata: creationTimestamp: null labels: app: helm name: tiller name: tiller-deploy namespace: kube-system spec: . . .
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрддрд╡рд╛рд░
tiller
рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реА рд╣реИ:apiVersion: extensions/v1beta1
рдЕрдиреБрд╕рд╛рд░: https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16
рд╡рд╣ рдЕрдм рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред
рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИ: рдореИрдВ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ ???
рд░реВрдЯ @ рдЬреЗрдВрдХрд┐рди : ~ # рд╣реЗрд▓реНрдо рдЗрдирд┐рдЯ - рд╕реЗрд╡рд┐рдВрдЧ-рдЕрдХрд╛рдЙрдВрдЯ рдЯрд┐рд▓рд░
$ HELM_HOME рдХреЛ /root/.helm рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рддреНрд░реБрдЯрд┐: рддреНрд░реБрдЯрд┐ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛: рдЕрдЬреНрдЮрд╛рдд (рдкреЛрд╕реНрдЯ рдкрд░рд┐рдирд┐рдпреЛрдЬрдиред рдЕрдиреБрдХреВрд▓рди)
рд░реВрдЯ @ рдЬреЗрдВрдХрд┐рди : ~ #
рдпрд╣рд╛рдБ рдПрдХ рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рд╕рдорд╛рдзрд╛рди рд╣реИ:
helm init --output yaml | sed 's<strong i="7">@apiVersion</strong>: extensions/v1beta1<strong i="8">@apiVersion</strong>: apps/v1@' | kubectl apply -f -
рджрд░рдЕрд╕рд▓, рдпрд╣ рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдЕрднреА рднреА рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ:
error validating data: ValidationError(Deployment.spec): missing required field "selector" in io.k8s.api.apps.v1.DeploymentSpec
рдЗрд╕рдХреЗ рд╕рд╛рде рдкреИрдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
/usr/local/bin/kubectl patch --local -oyaml -f - -p '{"spec":{"selector": {"app":"helm","name":"tiller"}}}'
рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИ:
jenkins @ jenkin : ~ / .helm $ helm init --output yaml | sed ' s @ apiVersion : рдПрдХреНрд╕рдЯреЗрдВрд╢рди / v1beta1 @ apiVersion : apps / v1 @' | рдХреБрдмреЗрдХреЗрд▓ рд▓рд╛рдЧреВ -f -
рдЖрджреЗрд╢ 'kubectl' рдирд╣реАрдВ рдорд┐рд▓рд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рд╕реНрдиреИрдк рд╕реНрдерд╛рдкрд┐рдд kubectl
рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╕реЗ рдкреВрдЫреЗрдВред
jenkins @ jenkin : ~ / .helm $
рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб, jq
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ:
helm init -o json | jq '(select(.apiVersion == "extensions/v1beta1") .apiVersion = "apps/v1")' | jq '(select(.kind == "Deployment") .spec.selector.matchLabels.app = "helm")' | jq '(select(.kind == "Deployment") .spec.selector.matchLabels.name = "tiller")' | kubectl create -f -
рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб,
jq
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ:
helm init -o json | jq '(select(.apiVersion == "extensions/v1beta1") .apiVersion = "apps/v1")' | jq '(select(.kind == "Deployment") .spec.selector.matchLabels.app = "helm")' | jq '(select(.kind == "Deployment") .spec.selector.matchLabels.name = "tiller")' | kubectl create -f -
рдЖрдк kubectl create
рд╕рд╛рде рд╕рдВрд╕рд╛рдзрди рдХреЛ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ
@ikarlashov 'рд▓рд╛рдЧреВ' рдХреЗ рд╕рд╛рде 'рд▓рд╛рдЧреВ' рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИред рд╡рди-рд▓рд╛рдЗрдирд░ рдХреЗ рдКрдкрд░ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдиреЗ рдЕрднреА рддрдХ рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрдб рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
@Mattymo рд╕рдорд╛рдзрд╛рди (kubectl рдкреИрдЪ --local рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдЗрд╕рдХреЗ рдЗрдирдкреБрдЯ рдореЗрдВ рдПрдХрд╛рдзрд┐рдХ рд╕рдВрд╕рд╛рдзрди (рдпрд╣рд╛рдБ рдПрдХ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдФрд░ рдПрдХ рд╕реЗрд╡рд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ) рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред