Kubernetes: рдЬрдм рдлрд╝рд╛рдЗрд▓ рдЧрд▓рдд рд╣реИ, рддреЛ kubectl - рдлреНрд▓реИрдЧрд▓реЗрдЯ рдкрд╛рд╕ рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 6 рдЬреВрди 2018  ┬╖  2рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: kubernetes/kubernetes

/ рддрд░рд╣ рдмрдЧ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИ

рдХреНрдпрд╛ рд╣реБрдЖ :
kubectl рд╕рдлрд▓ рд╣реИ рдпрдорд▓ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдорд╛рдиреНрдп рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рдЕрдорд╛рдиреНрдп рдбреЗрдЯрд╛ рд╣реИ (рдпрдорд▓ рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рджреЗрдЦреЗрдВ):

$ kubectl --context=minikube  create --dry-run --validate -f invalid.yml 
deployment "test" created (dry run)

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрдм рд╕рддреНрдпрд╛рдкрди рдХреЗ рдмрд┐рдирд╛ рдХрдорд╛рдВрдб рдЬрд╛рд░реА рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ

$ kubectl --context=minikube apply -f invalid.yml 
The Deployment "test" is invalid: 
* metadata.labels: Invalid value: "┬г\"+=_+!┬╣┬▓┬│тВм}{{@\"}{@~@:>?|\\|┬м`}": a valid label must be an empty string or consist of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyValue',  or 'my_value',  or '12345', regex used for validation is '(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?')
* spec.replicas: Invalid value: -100: must be greater than or equal to 0
* spec.selector.matchLabels: Invalid value: "┬г\"+=_+!┬╣┬▓┬│тВм}{{@\"}{@~@:>?|\\|┬м`}": a valid label must be an empty string or consist of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyValue',  or 'my_value',  or '12345', regex used for validation is '(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?')
* spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app":"┬г\"+=_+!┬╣┬▓┬│тВм}{{@\"}{@~@:>?|\\|┬м`}"}, MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: invalid label selector.

рдХреНрдпрд╛ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ :
kubectl create --dry-run --validate рдХреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдХрд┐ yaml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдБ рд╣реИрдВ

рдЗрд╕реЗ рдХреИрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░реЗрдВ (рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдиреНрдпреВрдирддрдо рдФрд░ рдареАрдХ рд╣реИ) :
рдПрдХ рдпрдорд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдпрдорд▓ рдХреЛ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдПрдХ рдмрд╛рд░ рдХреЗ рд╕рд╛рде рд▓рд╛рдЧреВ рдХрд░реЗрдВ
kubectl create --dry-run --validate -f file.yaml

рдФрд░ рдлрд┐рд░ рдХреЗ рд╕рд╛рде рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЗ рд▓рд┐рдП рдЬрд╛рдУ
kubectl create -f file.yaml

рдорд┐рдирд┐рдХреНрдпреВрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: test
  labels:
    app: ┬г"+=_+!┬╣┬▓┬│тВм}{{@"}{@~@:>?|\|┬м`}
  namespace: default
spec:
  replicas: -100
  revisionHistoryLimit: 2
  template:
    metadata:
      labels:
        app: ┬г"+=_+!┬╣┬▓┬│тВм}{{@"}{@~@:>?|\|┬м`}
    spec:
      containers:
      - image: ┬г"+=_+!┬╣┬▓┬│тВм}{{@"}{@~@:>?|\|┬м`}
        name: ┬г"+=_+!┬╣┬▓┬│тВм}{{@"}{@~@:>?|\|┬м`}
        envFrom:
        - secretRef:
            name: ┬г"+=_+!┬╣┬▓┬│тВм}{{@"}{@~@:>?|\|┬м`}

рд╣рдореЗрдВ рдХреБрдЫ рдФрд░ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП? :

рдкрд░реНрдпрд╛рд╡рд░рдг :

  • рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕реНрдХрд░рдг ( kubectl version рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ):
    рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рдВрд╕реНрдХрд░рдг: version.Info {рдореЗрдЬрд░: "1", рдорд╛рдЗрдирд░: "9", GitVersion: "v1.9.6", GitCommit: "9f8ebd171479bec0ada837d7ee64dd2d8c8dd1", GitTreeState: "clean", "2018" 50Z ", GoVersion:" go1.9.3 ", рд╕рдВрдХрд▓рдХ:" gc ", рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо:" linux / am6464 "}
    рд╕рд░реНрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг: version.Info {рдореЗрдЬрд░: "", рдорд╛рдЗрдирд░: "", GitVersion: "v1.9.4", GitCommit: "bee2d1505c4fe820744d26ecdecec3ddd4a3d6546", GitTreeState: "clean", "2018-03-21" , GoVersion: "go1.9.1", рдХрдВрдкрд╛рдЗрд▓рд░: "gc", рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо: "linux / amd64"
  • рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛ рдпрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди:
    рдорд┐рдирд┐рдХреНрдХреНрдпреВ рдСрди рд▓рд╛рдЗрдирдХреНрд╕, рдЕрдиреНрдп рдиреЙрди рдорд┐рдирд┐рдХреНрдпреВрдм-рдХреНрд▓рд╕реНрдЯрд░реНрд╕ рдкрд░ рднреА рд╣реЛрддрд╛ рд╣реИ
  • OS (рдЙрджрд╛ / etc / os-release):
NAME="Linux Mint"
VERSION="18.3 (Sylvia)"
ID=linuxmint
ID_LIKE=ubuntu
PRETTY_NAME="Linux Mint 18.3"
VERSION_ID="18.3"
VERSION_CODENAME=sylvia
UBUNTU_CODENAME=xenial
  • рдХрд░реНрдиреЗрд▓ (рдЬреИрд╕реЗ uname -a ):
    Linux nb 4.13.0-43- рдЬреЗрдиреЗрд░рд┐рдХ # 48 ~ 16.04.1-Ubuntu SMP Thu May 17 12:56:46 UTC 2018 x86_64 x86_64 x86_64 GNU / Linux

  • рдЙрдкрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

  • рдЕрдиреНрдп:

/ рд╕рд┐рдЧ рдХреНрд▓реА

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рд╕рддреНрдпрд╛рдкрди рд╕рдВрдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред рдпрд╣ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдпрдорд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдлрд╝реАрд▓реНрдб рдХреЗ рдирд╛рдо рдФрд░ рдкреНрд░рдХрд╛рд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред рдкреВрд░реНрдг рд╕рддреНрдпрд╛рдкрди рд╣рдореЗрд╢рд╛ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╣рдореЗрд╢рд╛ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рд╕рддреНрдпрд╛рдкрди рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рддрд┐рдмрдВрдз / рдмрд╛рдзрд╛рдПрдВ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИред

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

рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рд╕рддреНрдпрд╛рдкрди рд╕рдВрдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред рдпрд╣ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдпрдорд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдлрд╝реАрд▓реНрдб рдХреЗ рдирд╛рдо рдФрд░ рдкреНрд░рдХрд╛рд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред рдкреВрд░реНрдг рд╕рддреНрдпрд╛рдкрди рд╣рдореЗрд╢рд╛ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╣рдореЗрд╢рд╛ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рд╕рддреНрдпрд╛рдкрди рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рддрд┐рдмрдВрдз / рдмрд╛рдзрд╛рдПрдВ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИред

/рдмрдВрдж рдХрд░реЗ

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

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

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

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

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

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

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