Merge branch 'master' into patch-1
commit
54772274e9
532
LICENSE
532
LICENSE
|
@ -1,201 +1,395 @@
|
|||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
Attribution 4.0 International
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
=======================================================================
|
||||
|
||||
1. Definitions.
|
||||
Creative Commons Corporation ("Creative Commons") is not a law firm and
|
||||
does not provide legal services or legal advice. Distribution of
|
||||
Creative Commons public licenses does not create a lawyer-client or
|
||||
other relationship. Creative Commons makes its licenses and related
|
||||
information available on an "as-is" basis. Creative Commons gives no
|
||||
warranties regarding its licenses, any material licensed under their
|
||||
terms and conditions, or any related information. Creative Commons
|
||||
disclaims all liability for damages resulting from their use to the
|
||||
fullest extent possible.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
Using Creative Commons Public Licenses
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
Creative Commons public licenses provide a standard set of terms and
|
||||
conditions that creators and other rights holders may use to share
|
||||
original works of authorship and other material subject to copyright
|
||||
and certain other rights specified in the public license below. The
|
||||
following considerations are for informational purposes only, are not
|
||||
exhaustive, and do not form part of our licenses.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
Considerations for licensors: Our public licenses are
|
||||
intended for use by those authorized to give the public
|
||||
permission to use material in ways otherwise restricted by
|
||||
copyright and certain other rights. Our licenses are
|
||||
irrevocable. Licensors should read and understand the terms
|
||||
and conditions of the license they choose before applying it.
|
||||
Licensors should also secure all rights necessary before
|
||||
applying our licenses so that the public can reuse the
|
||||
material as expected. Licensors should clearly mark any
|
||||
material not subject to the license. This includes other CC-
|
||||
licensed material, or material used under an exception or
|
||||
limitation to copyright. More considerations for licensors:
|
||||
wiki.creativecommons.org/Considerations_for_licensors
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
Considerations for the public: By using one of our public
|
||||
licenses, a licensor grants the public permission to use the
|
||||
licensed material under specified terms and conditions. If
|
||||
the licensor's permission is not necessary for any reason--for
|
||||
example, because of any applicable exception or limitation to
|
||||
copyright--then that use is not regulated by the license. Our
|
||||
licenses grant only permissions under copyright and certain
|
||||
other rights that a licensor has authority to grant. Use of
|
||||
the licensed material may still be restricted for other
|
||||
reasons, including because others have copyright or other
|
||||
rights in the material. A licensor may make special requests,
|
||||
such as asking that all changes be marked or described.
|
||||
Although not required by our licenses, you are encouraged to
|
||||
respect those requests where reasonable. More_considerations
|
||||
for the public:
|
||||
wiki.creativecommons.org/Considerations_for_licensees
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
=======================================================================
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
Creative Commons Attribution 4.0 International Public License
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
By exercising the Licensed Rights (defined below), You accept and agree
|
||||
to be bound by the terms and conditions of this Creative Commons
|
||||
Attribution 4.0 International Public License ("Public License"). To the
|
||||
extent this Public License may be interpreted as a contract, You are
|
||||
granted the Licensed Rights in consideration of Your acceptance of
|
||||
these terms and conditions, and the Licensor grants You such rights in
|
||||
consideration of benefits the Licensor receives from making the
|
||||
Licensed Material available under these terms and conditions.
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
Section 1 -- Definitions.
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
a. Adapted Material means material subject to Copyright and Similar
|
||||
Rights that is derived from or based upon the Licensed Material
|
||||
and in which the Licensed Material is translated, altered,
|
||||
arranged, transformed, or otherwise modified in a manner requiring
|
||||
permission under the Copyright and Similar Rights held by the
|
||||
Licensor. For purposes of this Public License, where the Licensed
|
||||
Material is a musical work, performance, or sound recording,
|
||||
Adapted Material is always produced where the Licensed Material is
|
||||
synched in timed relation with a moving image.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
b. Adapter's License means the license You apply to Your Copyright
|
||||
and Similar Rights in Your contributions to Adapted Material in
|
||||
accordance with the terms and conditions of this Public License.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
c. Copyright and Similar Rights means copyright and/or similar rights
|
||||
closely related to copyright including, without limitation,
|
||||
performance, broadcast, sound recording, and Sui Generis Database
|
||||
Rights, without regard to how the rights are labeled or
|
||||
categorized. For purposes of this Public License, the rights
|
||||
specified in Section 2(b)(1)-(2) are not Copyright and Similar
|
||||
Rights.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
d. Effective Technological Measures means those measures that, in the
|
||||
absence of proper authority, may not be circumvented under laws
|
||||
fulfilling obligations under Article 11 of the WIPO Copyright
|
||||
Treaty adopted on December 20, 1996, and/or similar international
|
||||
agreements.
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
e. Exceptions and Limitations means fair use, fair dealing, and/or
|
||||
any other exception or limitation to Copyright and Similar Rights
|
||||
that applies to Your use of the Licensed Material.
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
f. Licensed Material means the artistic or literary work, database,
|
||||
or other material to which the Licensor applied this Public
|
||||
License.
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
g. Licensed Rights means the rights granted to You subject to the
|
||||
terms and conditions of this Public License, which are limited to
|
||||
all Copyright and Similar Rights that apply to Your use of the
|
||||
Licensed Material and that the Licensor has authority to license.
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
h. Licensor means the individual(s) or entity(ies) granting rights
|
||||
under this Public License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
i. Share means to provide material to the public by any means or
|
||||
process that requires permission under the Licensed Rights, such
|
||||
as reproduction, public display, public performance, distribution,
|
||||
dissemination, communication, or importation, and to make material
|
||||
available to the public including in ways that members of the
|
||||
public may access the material from a place and at a time
|
||||
individually chosen by them.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
j. Sui Generis Database Rights means rights other than copyright
|
||||
resulting from Directive 96/9/EC of the European Parliament and of
|
||||
the Council of 11 March 1996 on the legal protection of databases,
|
||||
as amended and/or succeeded, as well as other essentially
|
||||
equivalent rights anywhere in the world.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
k. You means the individual or entity exercising the Licensed Rights
|
||||
under this Public License. Your has a corresponding meaning.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
Section 2 -- Scope.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
a. License grant.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
1. Subject to the terms and conditions of this Public License,
|
||||
the Licensor hereby grants You a worldwide, royalty-free,
|
||||
non-sublicensable, non-exclusive, irrevocable license to
|
||||
exercise the Licensed Rights in the Licensed Material to:
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
a. reproduce and Share the Licensed Material, in whole or
|
||||
in part; and
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "{}"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
b. produce, reproduce, and Share Adapted Material.
|
||||
|
||||
Copyright 2016 The Kubernetes Authors
|
||||
2. Exceptions and Limitations. For the avoidance of doubt, where
|
||||
Exceptions and Limitations apply to Your use, this Public
|
||||
License does not apply, and You do not need to comply with
|
||||
its terms and conditions.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
3. Term. The term of this Public License is specified in Section
|
||||
6(a).
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
4. Media and formats; technical modifications allowed. The
|
||||
Licensor authorizes You to exercise the Licensed Rights in
|
||||
all media and formats whether now known or hereafter created,
|
||||
and to make technical modifications necessary to do so. The
|
||||
Licensor waives and/or agrees not to assert any right or
|
||||
authority to forbid You from making technical modifications
|
||||
necessary to exercise the Licensed Rights, including
|
||||
technical modifications necessary to circumvent Effective
|
||||
Technological Measures. For purposes of this Public License,
|
||||
simply making modifications authorized by this Section 2(a)
|
||||
(4) never produces Adapted Material.
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
5. Downstream recipients.
|
||||
|
||||
a. Offer from the Licensor -- Licensed Material. Every
|
||||
recipient of the Licensed Material automatically
|
||||
receives an offer from the Licensor to exercise the
|
||||
Licensed Rights under the terms and conditions of this
|
||||
Public License.
|
||||
|
||||
b. No downstream restrictions. You may not offer or impose
|
||||
any additional or different terms or conditions on, or
|
||||
apply any Effective Technological Measures to, the
|
||||
Licensed Material if doing so restricts exercise of the
|
||||
Licensed Rights by any recipient of the Licensed
|
||||
Material.
|
||||
|
||||
6. No endorsement. Nothing in this Public License constitutes or
|
||||
may be construed as permission to assert or imply that You
|
||||
are, or that Your use of the Licensed Material is, connected
|
||||
with, or sponsored, endorsed, or granted official status by,
|
||||
the Licensor or others designated to receive attribution as
|
||||
provided in Section 3(a)(1)(A)(i).
|
||||
|
||||
b. Other rights.
|
||||
|
||||
1. Moral rights, such as the right of integrity, are not
|
||||
licensed under this Public License, nor are publicity,
|
||||
privacy, and/or other similar personality rights; however, to
|
||||
the extent possible, the Licensor waives and/or agrees not to
|
||||
assert any such rights held by the Licensor to the limited
|
||||
extent necessary to allow You to exercise the Licensed
|
||||
Rights, but not otherwise.
|
||||
|
||||
2. Patent and trademark rights are not licensed under this
|
||||
Public License.
|
||||
|
||||
3. To the extent possible, the Licensor waives any right to
|
||||
collect royalties from You for the exercise of the Licensed
|
||||
Rights, whether directly or through a collecting society
|
||||
under any voluntary or waivable statutory or compulsory
|
||||
licensing scheme. In all other cases the Licensor expressly
|
||||
reserves any right to collect such royalties.
|
||||
|
||||
|
||||
Section 3 -- License Conditions.
|
||||
|
||||
Your exercise of the Licensed Rights is expressly made subject to the
|
||||
following conditions.
|
||||
|
||||
a. Attribution.
|
||||
|
||||
1. If You Share the Licensed Material (including in modified
|
||||
form), You must:
|
||||
|
||||
a. retain the following if it is supplied by the Licensor
|
||||
with the Licensed Material:
|
||||
|
||||
i. identification of the creator(s) of the Licensed
|
||||
Material and any others designated to receive
|
||||
attribution, in any reasonable manner requested by
|
||||
the Licensor (including by pseudonym if
|
||||
designated);
|
||||
|
||||
ii. a copyright notice;
|
||||
|
||||
iii. a notice that refers to this Public License;
|
||||
|
||||
iv. a notice that refers to the disclaimer of
|
||||
warranties;
|
||||
|
||||
v. a URI or hyperlink to the Licensed Material to the
|
||||
extent reasonably practicable;
|
||||
|
||||
b. indicate if You modified the Licensed Material and
|
||||
retain an indication of any previous modifications; and
|
||||
|
||||
c. indicate the Licensed Material is licensed under this
|
||||
Public License, and include the text of, or the URI or
|
||||
hyperlink to, this Public License.
|
||||
|
||||
2. You may satisfy the conditions in Section 3(a)(1) in any
|
||||
reasonable manner based on the medium, means, and context in
|
||||
which You Share the Licensed Material. For example, it may be
|
||||
reasonable to satisfy the conditions by providing a URI or
|
||||
hyperlink to a resource that includes the required
|
||||
information.
|
||||
|
||||
3. If requested by the Licensor, You must remove any of the
|
||||
information required by Section 3(a)(1)(A) to the extent
|
||||
reasonably practicable.
|
||||
|
||||
4. If You Share Adapted Material You produce, the Adapter's
|
||||
License You apply must not prevent recipients of the Adapted
|
||||
Material from complying with this Public License.
|
||||
|
||||
|
||||
Section 4 -- Sui Generis Database Rights.
|
||||
|
||||
Where the Licensed Rights include Sui Generis Database Rights that
|
||||
apply to Your use of the Licensed Material:
|
||||
|
||||
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
|
||||
to extract, reuse, reproduce, and Share all or a substantial
|
||||
portion of the contents of the database;
|
||||
|
||||
b. if You include all or a substantial portion of the database
|
||||
contents in a database in which You have Sui Generis Database
|
||||
Rights, then the database in which You have Sui Generis Database
|
||||
Rights (but not its individual contents) is Adapted Material; and
|
||||
|
||||
c. You must comply with the conditions in Section 3(a) if You Share
|
||||
all or a substantial portion of the contents of the database.
|
||||
|
||||
For the avoidance of doubt, this Section 4 supplements and does not
|
||||
replace Your obligations under this Public License where the Licensed
|
||||
Rights include other Copyright and Similar Rights.
|
||||
|
||||
|
||||
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
|
||||
|
||||
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
|
||||
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
|
||||
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
|
||||
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
|
||||
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
|
||||
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
|
||||
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
|
||||
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
|
||||
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
|
||||
|
||||
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
|
||||
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
|
||||
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
|
||||
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
|
||||
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
|
||||
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
|
||||
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
|
||||
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
|
||||
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
|
||||
|
||||
c. The disclaimer of warranties and limitation of liability provided
|
||||
above shall be interpreted in a manner that, to the extent
|
||||
possible, most closely approximates an absolute disclaimer and
|
||||
waiver of all liability.
|
||||
|
||||
|
||||
Section 6 -- Term and Termination.
|
||||
|
||||
a. This Public License applies for the term of the Copyright and
|
||||
Similar Rights licensed here. However, if You fail to comply with
|
||||
this Public License, then Your rights under this Public License
|
||||
terminate automatically.
|
||||
|
||||
b. Where Your right to use the Licensed Material has terminated under
|
||||
Section 6(a), it reinstates:
|
||||
|
||||
1. automatically as of the date the violation is cured, provided
|
||||
it is cured within 30 days of Your discovery of the
|
||||
violation; or
|
||||
|
||||
2. upon express reinstatement by the Licensor.
|
||||
|
||||
For the avoidance of doubt, this Section 6(b) does not affect any
|
||||
right the Licensor may have to seek remedies for Your violations
|
||||
of this Public License.
|
||||
|
||||
c. For the avoidance of doubt, the Licensor may also offer the
|
||||
Licensed Material under separate terms or conditions or stop
|
||||
distributing the Licensed Material at any time; however, doing so
|
||||
will not terminate this Public License.
|
||||
|
||||
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
|
||||
License.
|
||||
|
||||
|
||||
Section 7 -- Other Terms and Conditions.
|
||||
|
||||
a. The Licensor shall not be bound by any additional or different
|
||||
terms or conditions communicated by You unless expressly agreed.
|
||||
|
||||
b. Any arrangements, understandings, or agreements regarding the
|
||||
Licensed Material not stated herein are separate from and
|
||||
independent of the terms and conditions of this Public License.
|
||||
|
||||
|
||||
Section 8 -- Interpretation.
|
||||
|
||||
a. For the avoidance of doubt, this Public License does not, and
|
||||
shall not be interpreted to, reduce, limit, restrict, or impose
|
||||
conditions on any use of the Licensed Material that could lawfully
|
||||
be made without permission under this Public License.
|
||||
|
||||
b. To the extent possible, if any provision of this Public License is
|
||||
deemed unenforceable, it shall be automatically reformed to the
|
||||
minimum extent necessary to make it enforceable. If the provision
|
||||
cannot be reformed, it shall be severed from this Public License
|
||||
without affecting the enforceability of the remaining terms and
|
||||
conditions.
|
||||
|
||||
c. No term or condition of this Public License will be waived and no
|
||||
failure to comply consented to unless expressly agreed to by the
|
||||
Licensor.
|
||||
|
||||
d. Nothing in this Public License constitutes or may be interpreted
|
||||
as a limitation upon, or waiver of, any privileges and immunities
|
||||
that apply to the Licensor or You, including from the legal
|
||||
processes of any jurisdiction or authority.
|
||||
|
||||
|
||||
=======================================================================
|
||||
|
||||
Creative Commons is not a party to its public
|
||||
licenses. Notwithstanding, Creative Commons may elect to apply one of
|
||||
its public licenses to material it publishes and in those instances
|
||||
will be considered the “Licensor.” The text of the Creative Commons
|
||||
public licenses is dedicated to the public domain under the CC0 Public
|
||||
Domain Dedication. Except for the limited purpose of indicating that
|
||||
material is shared under a Creative Commons public license or as
|
||||
otherwise permitted by the Creative Commons policies published at
|
||||
creativecommons.org/policies, Creative Commons does not authorize the
|
||||
use of the trademark "Creative Commons" or any other trademark or logo
|
||||
of Creative Commons without its prior written consent including,
|
||||
without limitation, in connection with any unauthorized modifications
|
||||
to any of its public licenses or any other arrangements,
|
||||
understandings, or agreements concerning use of licensed material. For
|
||||
the avoidance of doubt, this paragraph does not form part of the
|
||||
public licenses.
|
||||
|
||||
Creative Commons may be contacted at creativecommons.org.
|
||||
|
|
|
@ -53,5 +53,3 @@ toc:
|
|||
path: https://github.com/kubernetes/kubernetes/milestones/
|
||||
- title: Contributing to Kubernetes Documentation
|
||||
path: /editdocs/
|
||||
- title: New Template Instructions
|
||||
path: /docs/templatedemos/
|
||||
|
|
|
@ -24,6 +24,6 @@
|
|||
<a href="https://github.com/kubernetes/kubernetes" class="button">Contribute to the K8s codebase</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="miceType" class="center">© {{ 'now' | date: "%Y" }} Kubernetes</div>
|
||||
<div id="miceType" class="center">© {{ 'now' | date: "%Y" }} The Kubernetes Authors | Distributed under <a href="https://github.com/kubernetes/kubernetes.github.io/blob/master/LICENSE" class="light-text">CC BY 4.0</a></div>
|
||||
</main>
|
||||
</footer>
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
<script src="/js/jquery-ui.min.js"></script>
|
||||
<script src="/js/script.js"></script>
|
||||
<script src="/js/sweetalert.min.js"></script>
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<title>Kubernetes - {{ title }}</title>
|
||||
</head>
|
||||
<body>
|
||||
|
|
|
@ -35,8 +35,8 @@ or be treated as an anonymous user.
|
|||
## Authentication strategies
|
||||
|
||||
Kubernetes uses client certificates, bearer tokens, an authenticating proxy, or HTTP basic auth to
|
||||
authenticate API requests through authentication plugins. As HTTP request are
|
||||
made to the API server plugins attempts to associate the following attributes
|
||||
authenticate API requests through authentication plugins. As HTTP requests are
|
||||
made to the API server, plugins attempt to associate the following attributes
|
||||
with the request:
|
||||
|
||||
* Username: a string which identifies the end user. Common values might be `kube-admin` or `jane@example.com`.
|
||||
|
@ -420,7 +420,7 @@ enterprise directory, kerberos, etc.)
|
|||
### Creating Certificates
|
||||
|
||||
When using client certificate authentication, you can generate certificates
|
||||
using an existing deployment script or manually through `easyrsa` or `openssl.``
|
||||
using an existing deployment script or manually through `easyrsa` or `openssl.`
|
||||
|
||||
#### Using an Existing Deployment Script
|
||||
|
||||
|
|
|
@ -11,44 +11,39 @@ assignees:
|
|||
|
||||
## What is a node?
|
||||
|
||||
`Node` is a worker machine in Kubernetes, previously known as `Minion`. Node
|
||||
A `node` is a worker machine in Kubernetes, previously known as a `minion`. A node
|
||||
may be a VM or physical machine, depending on the cluster. Each node has
|
||||
the services necessary to run [Pods](/docs/user-guide/pods) and is managed by the master
|
||||
components. The services on a node include docker, kubelet and network proxy. See
|
||||
the services necessary to run [pods](/docs/user-guide/pods) and is managed by the master
|
||||
components. The services on a node include Docker, kubelet and kube-proxy. See
|
||||
[The Kubernetes Node](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/architecture.md#the-kubernetes-node) section in the
|
||||
architecture design doc for more details.
|
||||
|
||||
## Node Status
|
||||
|
||||
Node status describes current status of a node. For now, there are the following
|
||||
pieces of information:
|
||||
A node's status is comprised of the following information.
|
||||
|
||||
### Node Addresses
|
||||
### Addresses
|
||||
|
||||
The usage of these fields varies depending on your cloud provider or bare metal configuration.
|
||||
|
||||
* HostName: The hostname as reported by the node's kernel. Can be overridden via the kubelet `--hostname-override` parameter.
|
||||
* ExternalIP: Typically the IP address of the node that is externally routable (available from outside the cluster).
|
||||
* InternalIP: Typically the IP address of the node that is routable only within the cluster.
|
||||
|
||||
* ExternalIP: Generally the IP address of the node that is externally routable (available from outside the cluster)
|
||||
### Phase
|
||||
|
||||
* InternalIP: Generally the IP address of the node that is routable only within the cluster
|
||||
Deprecated: node phase is no longer used.
|
||||
|
||||
|
||||
### Node Phase
|
||||
|
||||
Deprecated: Node Phase is no longer used
|
||||
|
||||
### Node Condition
|
||||
### Condition
|
||||
|
||||
The `conditions` field describes the status of all `Running` nodes.
|
||||
|
||||
| Node Condition | Description |
|
||||
|----------------|-------------|
|
||||
| `OutOfDisk` | `True` if insufficient free space on the node for adding new pods, otherwise `False` |
|
||||
| `Ready` | `True` if the node is healthy ready to accept pods, `False` if the node is not healthy and is not accepting pods, and `Unknown` if the Node Controller has not heard from the node in the last 40 seconds |
|
||||
| `OutOfDisk` | `True` if there is insufficient free space on the node for adding new pods, otherwise `False` |
|
||||
| `Ready` | `True` if the node is healthy and ready to accept pods, `False` if the node is not healthy and is not accepting pods, and `Unknown` if the node controller has not heard from the node in the last 40 seconds |
|
||||
|
||||
Node condition is represented as a JSON object. For example, the following response describes a healthy node:
|
||||
conditions mean the node is in sane state:
|
||||
The node condition is represented as a JSON object. For example, the following response describes a healthy node.
|
||||
|
||||
```json
|
||||
"conditions": [
|
||||
|
@ -59,28 +54,31 @@ conditions mean the node is in sane state:
|
|||
]
|
||||
```
|
||||
|
||||
If the Status of the Ready condition
|
||||
is Unknown or False for more than five minutes, then all of the Pods on the node are terminated by the Node Controller.
|
||||
If the Status of the Ready condition is Unknown or False for more than five
|
||||
minutes, then all of the pods on the node are terminated by the node
|
||||
controller. (The timeout length is configurable by the `--pod-eviction-timeout`
|
||||
parameter on the controller manager.)
|
||||
|
||||
### Node Capacity
|
||||
### Capacity
|
||||
|
||||
Describes the resources available on the node: CPUs, memory and the maximum
|
||||
Describes the resources available on the node: CPU, memory and the maximum
|
||||
number of pods that can be scheduled onto the node.
|
||||
|
||||
### Node Info
|
||||
### Info
|
||||
|
||||
General information about the node, for instance kernel version, Kubernetes version
|
||||
(kubelet version, kube-proxy version), docker version (if used), OS name.
|
||||
General information about the node, such as kernel version, Kubernetes version
|
||||
(kubelet and kube-proxy version), Docker version (if used), OS name.
|
||||
The information is gathered by Kubelet from the node.
|
||||
|
||||
## Node Management
|
||||
## Management
|
||||
|
||||
Unlike [Pods](/docs/user-guide/pods) and [Services](/docs/user-guide/services), a Node is not inherently
|
||||
created by Kubernetes: it is either taken from cloud providers like Google Compute Engine,
|
||||
or from your pool of physical or virtual machines. What this means is that when
|
||||
Kubernetes creates a node, it is really just creating an object that represents the node in its internal state.
|
||||
After creation, Kubernetes will check whether the node is valid or not.
|
||||
For example, if you try to create a node from the following content:
|
||||
Unlike [pods](/docs/user-guide/pods) and [services](/docs/user-guide/services),
|
||||
a node is not inherently created by Kubernetes: it is created externally by cloud
|
||||
providers like Google Compute Engine, or exists in your pool of physical or virtual
|
||||
machines. What this means is that when Kubernetes creates a node, it is really
|
||||
just creating an object that represents the node. After creation, Kubernetes
|
||||
will check whether the node is valid or not. For example, if you try to create
|
||||
a node from the following content:
|
||||
|
||||
```json
|
||||
{
|
||||
|
@ -95,117 +93,127 @@ For example, if you try to create a node from the following content:
|
|||
}
|
||||
```
|
||||
|
||||
Kubernetes will create a Node object internally (the representation), and
|
||||
validate the node by health checking based on the `metadata.name` field: we
|
||||
assume `metadata.name` can be resolved. If the node is valid, i.e. all necessary
|
||||
services are running, it is eligible to run a Pod; otherwise, it will be
|
||||
ignored for any cluster activity, until it becomes valid. Note that Kubernetes
|
||||
will keep the object for the invalid node unless it is explicitly deleted by the client, and it will keep
|
||||
checking to see if it becomes valid.
|
||||
Kubernetes will create a node object internally (the representation), and
|
||||
validate the node by health checking based on the `metadata.name` field (we
|
||||
assume `metadata.name` can be resolved). If the node is valid, i.e. all necessary
|
||||
services are running, it is eligible to run a pod; otherwise, it will be
|
||||
ignored for any cluster activity until it becomes valid. Note that Kubernetes
|
||||
will keep the object for the invalid node unless it is explicitly deleted by
|
||||
the client, and it will keep checking to see if it becomes valid.
|
||||
|
||||
Currently, there are three components that interact with the Kubernetes node interface: Node Controller, Kubelet, and kubectl.
|
||||
Currently, there are three components that interact with the Kubernetes node
|
||||
interface: node controller, kubelet, and kubectl.
|
||||
|
||||
### Node Controller
|
||||
|
||||
Node controller is a component in Kubernetes master which manages Node
|
||||
objects.
|
||||
The node controller is a Kubernetes master component which manages various
|
||||
aspects of nodes.
|
||||
|
||||
Node controller has mutliple roles in Node's life. First is assigning a CIDR block to
|
||||
the Node when it is registered (if CIDR assignment is turned on). Second is keeping the
|
||||
node controller's list of nodes up to date with the cloud provider's list of available
|
||||
machines. When running in cloud environment whenever a node is unhealthy node controller
|
||||
asks cloud provider if the VM for that node is still available. If not, the node
|
||||
The node controller has multiple roles in a node's life. The first is assigning a
|
||||
CIDR block to the node when it is registered (if CIDR assignment is turned on).
|
||||
|
||||
The second is keeping the node controller's internal list of nodes up to date with
|
||||
the cloud provider's list of available machines. When running in a cloud
|
||||
environment, whenever a node is unhealthy the node controller asks the cloud
|
||||
provider if the VM for that node is still available. If not, the node
|
||||
controller deletes the node from its list of nodes.
|
||||
|
||||
Third responsibiliy is monitoring Node's health. Node controller is responsible for updating
|
||||
the NodeReady condition of NodeStatus to ConditionUnknown when a node becomes unreachable
|
||||
(i.e. node controller stops receiving heartbeats e.g. due to the node being down), and then
|
||||
later evicting all the pods from the node (using graceful termination) if the node continues
|
||||
to be unreachable (the current timeouts are 40s to start reporting ConditionUnknown and 5m
|
||||
after that to start evicting pods). Node controller checks the state of each node every
|
||||
`--node-monitor-period` seconds.
|
||||
The third is monitoring the nodes' health. The node controller is
|
||||
responsible for updating the NodeReady condition of NodeStatus to
|
||||
ConditionUnknown when a node becomes unreachable (i.e. the node controller stops
|
||||
receiving heartbeats for some reason, e.g. due to the node being down), and then later evicting
|
||||
all the pods from the node (using graceful termination) if the node continues
|
||||
to be unreachable. (The default timeouts are 40s to start reporting
|
||||
ConditionUnknown and 5m after that to start evicting pods.) The node controller
|
||||
checks the state of each node every `--node-monitor-period` seconds.
|
||||
|
||||
In 1.4 release we updated the logic of node controller to better handle cases when a
|
||||
big number of Nodes have problems with reaching the master machine (e.g. because
|
||||
master machine has networking problem). Starting with 1.4 node controller will look at the
|
||||
state of all Nodes in the cluster when making a decision about pod eviction.
|
||||
In Kubernetes 1.4, we updated the logic of the node controller to better handle
|
||||
cases when a big number of nodes have problems with reaching the master
|
||||
(e.g. because the master has networking problem). Starting with 1.4, the node
|
||||
controller will look at the state of all nodes in the cluster when making a
|
||||
decision about pod eviction.
|
||||
|
||||
In most cases, node controller limits the eviction rate to `--node-eviction-rate` (default 0.1)
|
||||
per second, meaning it won't evict pods from more than 1 node per 10 seconds.
|
||||
In most cases, node controller limits the eviction rate to
|
||||
`--node-eviction-rate` (default 0.1) per second, meaning it won't evict pods
|
||||
from more than 1 node per 10 seconds.
|
||||
|
||||
The node eviction behavior changes when a node in a given availability zone becomes unhealthy,
|
||||
node controller checks what percentage of nodes in the zone are unhealthy (NodeReady condition
|
||||
is ConditionUnknown or ConditionFalse) at the same time. If the fraction of unhealthy nodes is
|
||||
at least `--unhealthy-zone-threshold` (default 0.55) then the eviction rate is reduced: if
|
||||
the cluster is small (i.e. has less than or equal to `--large-cluster-size-threshold`
|
||||
nodes - default 50) then evictions are stopped, otherwise the eviction rate is reduced to
|
||||
`--secondary-node-eviction-rate` (default 0.01) per second. The reason these policies are
|
||||
implemented per availability zone is because one availability zone might become partitioned
|
||||
from the master while the others remain connected. If your cluster does not span multiple cloud
|
||||
provider availability zones, then there is only one availability zone, namely the whole cluster.
|
||||
The node eviction behavior changes when a node in a given availability zone
|
||||
becomes unhealthy. The node controller checks what percentage of nodes in the zone
|
||||
are unhealthy (NodeReady condition is ConditionUnknown or ConditionFalse) at
|
||||
the same time. If the fraction of unhealthy nodes is at least
|
||||
`--unhealthy-zone-threshold` (default 0.55) then the eviction rate is reduced:
|
||||
if the cluster is small (i.e. has less than or equal to
|
||||
`--large-cluster-size-threshold` nodes - default 50) then evictions are
|
||||
stopped, otherwise the eviction rate is reduced to
|
||||
`--secondary-node-eviction-rate` (default 0.01) per second. The reason these
|
||||
policies are implemented per availability zone is because one availability zone
|
||||
might become partitioned from the master while the others remain connected. If
|
||||
your cluster does not span multiple cloud provider availability zones, then
|
||||
there is only one availability zone (the whole cluster).
|
||||
|
||||
A key reason for spreading your nodes across availability zones is so that workload can be
|
||||
shifted to healthy zones when one entire zone goes down. To enable this behavior, if all
|
||||
nodes in a zone are unhealthy then node controller evicts at the normal rate `--node-eviction-rate`.
|
||||
The corner case for that is when all zones are completely unhealthy (i.e. there's no healthy node in
|
||||
the cluster). In such case node controller assumes that there's some problem with master machine
|
||||
connectivity and stops all evictions until any connectivity is restored.
|
||||
A key reason for spreading your nodes across availability zones is so that the
|
||||
workload can be shifted to healthy zones when one entire zone goes down.
|
||||
Therefore, if all nodes in a zone are unhealthy then node controller evicts at
|
||||
the normal rate `--node-eviction-rate`. The corner case is when all zones are
|
||||
completely unhealthy (i.e. there are no healthy nodes in the cluster). In such
|
||||
case, the node controller assumes that there's some problem with master
|
||||
connectivity and stops all evictions until some connectivity is restored.
|
||||
|
||||
### Self-Registration of Nodes
|
||||
|
||||
When kubelet flag `--register-node` is true (the default), the kubelet will attempt to
|
||||
When the kubelet flag `--register-node` is true (the default), the kubelet will attempt to
|
||||
register itself with the API server. This is the preferred pattern, used by most distros.
|
||||
|
||||
For self-registration, the kubelet is started with the following options:
|
||||
|
||||
- `--api-servers=` tells the kubelet the location of the apiserver.
|
||||
- `--kubeconfig` tells kubelet where to find credentials to authenticate itself to the apiserver.
|
||||
- `--cloud-provider=` tells the kubelet how to talk to a cloud provider to read metadata about itself.
|
||||
- `--register-node` tells the kubelet to create its own node resource.
|
||||
- `--api-servers=` - Location of the apiservers.
|
||||
- `--kubeconfig=` - Path to credentials to authenticate itself to the apiserver.
|
||||
- `--cloud-provider=` - How to talk to a cloud provider to read metadata about itself.
|
||||
- `--register-node` - Automatically register with the API server.
|
||||
|
||||
Currently, any kubelet is authorized to create/modify any node resource, but in practice it only creates/modifies
|
||||
its own. (In the future, we plan to limit authorization to only allow a kubelet to modify its own Node resource.)
|
||||
its own. (In the future, we plan to only allow a kubelet to modify its own node resource.)
|
||||
|
||||
#### Manual Node Administration
|
||||
|
||||
A cluster administrator can create and modify Node objects.
|
||||
A cluster administrator can create and modify node objects.
|
||||
|
||||
If the administrator wishes to create node objects manually, set kubelet flag
|
||||
If the administrator wishes to create node objects manually, set the kubelet flag
|
||||
`--register-node=false`.
|
||||
|
||||
The administrator can modify Node resources (regardless of the setting of `--register-node`).
|
||||
Modifications include setting labels on the Node, and marking it unschedulable.
|
||||
The administrator can modify node resources (regardless of the setting of `--register-node`).
|
||||
Modifications include setting labels on the node and marking it unschedulable.
|
||||
|
||||
Labels on nodes can be used in conjunction with node selectors on pods to control scheduling,
|
||||
e.g. to constrain a Pod to only be eligible to run on a subset of the nodes.
|
||||
e.g. to constrain a pod to only be eligible to run on a subset of the nodes.
|
||||
|
||||
Making a node unscheduleable will prevent new pods from being scheduled to that
|
||||
node, but will not affect any existing pods on the node. This is useful as a
|
||||
preparatory step before a node reboot, etc. For example, to mark a node
|
||||
Marking a node as unscheduleable will prevent new pods from being scheduled to that
|
||||
node, but will not affect any existing pods on the node. This is useful as a
|
||||
preparatory step before a node reboot, etc. For example, to mark a node
|
||||
unschedulable, run this command:
|
||||
|
||||
```shell
|
||||
kubectl patch nodes $NODENAME -p '{"spec": {"unschedulable": true}}'
|
||||
kubectl cordon $NODENAME
|
||||
```
|
||||
|
||||
Note that pods which are created by a daemonSet controller bypass the Kubernetes scheduler,
|
||||
and do not respect the unschedulable attribute on a node. The assumption is that daemons belong on
|
||||
and do not respect the unschedulable attribute on a node. The assumption is that daemons belong on
|
||||
the machine even if it is being drained of applications in preparation for a reboot.
|
||||
|
||||
### Node capacity
|
||||
|
||||
The capacity of the node (number of cpus and amount of memory) is part of the node resource.
|
||||
Normally, nodes register themselves and report their capacity when creating the node resource. If
|
||||
The capacity of the node (number of cpus and amount of memory) is part of the node object.
|
||||
Normally, nodes register themselves and report their capacity when creating the node object. If
|
||||
you are doing [manual node administration](#manual-node-administration), then you need to set node
|
||||
capacity when adding a node.
|
||||
|
||||
The Kubernetes scheduler ensures that there are enough resources for all the pods on a node. It
|
||||
checks that the sum of the limits of containers on the node is no greater than the node capacity. It
|
||||
includes all containers started by kubelet, but not containers started directly by docker, nor
|
||||
includes all containers started by the kubelet, but not containers started directly by Docker nor
|
||||
processes not in containers.
|
||||
|
||||
If you want to explicitly reserve resources for non-Pod processes, you can create a placeholder
|
||||
pod. Use the following template:
|
||||
If you want to explicitly reserve resources for non-pod processes, you can create a placeholder
|
||||
pod. Use the following template:
|
||||
|
||||
```yaml
|
||||
apiVersion: v1
|
||||
|
|
|
@ -43,6 +43,7 @@ killed for this purpose.
|
|||
|
||||
Rescheduler doesn't have any user facing configuration (component config) or API.
|
||||
It's enabled by default. It can be disabled:
|
||||
|
||||
* during cluster setup by setting `ENABLE_RESCHEDULER` flag to `false`
|
||||
* on running cluster by deleting its manifest from master node
|
||||
(default path `/etc/kubernetes/manifests/rescheduler.manifest`)
|
||||
|
@ -51,6 +52,7 @@ It's enabled by default. It can be disabled:
|
|||
|
||||
To be critical an add-on has to run in `kube-system` namespace (cofigurable via flag)
|
||||
and have the following annotations specified:
|
||||
|
||||
* `scheduler.alpha.kubernetes.io/critical-pod` set to empty string
|
||||
* `scheduler.alpha.kubernetes.io/tolerations` set to `[{"key":"CriticalAddonsOnly", "operator":"Exists"}]`
|
||||
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
---
|
||||
redirect_from:
|
||||
- /docs/templatedemos/
|
||||
- /docs/templatedemos.html
|
||||
---
|
||||
|
||||
<!--<html>
|
||||
|
|
|
@ -14,20 +14,31 @@ docs, follow the instructions on
|
|||
|
||||
{% capture body %}
|
||||
|
||||
## Documentation formatting standards
|
||||
### Documentation formatting standards
|
||||
|
||||
### Capitalize API objects
|
||||
#### Use Camel Case for API objects
|
||||
|
||||
Capitalize the names of API objects. Refer to API objects without saying
|
||||
"object."
|
||||
When you refer to an API object, use the same uppercase and lowercase letters
|
||||
that are used in the actual object name. Typically, the names of API
|
||||
objects use
|
||||
[camel case](https://en.wikipedia.org/wiki/Camel_case).
|
||||
|
||||
Don't split the API object name into separate words. For example, use
|
||||
PodTemplateList, not Pod Template List.
|
||||
|
||||
Refer to API objects without saying "object," unless omitting "object"
|
||||
leads to an awkward construction.
|
||||
|
||||
<table>
|
||||
<tr><th>Do</th><th>Don't</th></tr>
|
||||
<tr><td>The Pod has two Containers.</td><td>The pod has two containers.</td></tr>
|
||||
<tr><td>The Deployment is responsible for ...</td><td>The Deployment object is responsible for ...</td></tr>
|
||||
<tr><td>A PodList is a list of Pods.</td><td>A Pod List is a list of pods.</td></tr>
|
||||
<tr><td>The two ContainerPorts ...</td><td>The two ContainerPort objects ...</td></tr>
|
||||
<tr><td>The two ContainerStateTerminated objects ...</td><td>The two ContainerStateTerminateds ...</td></tr>
|
||||
</table>
|
||||
|
||||
### Use angle brackets for placeholders
|
||||
#### Use angle brackets for placeholders
|
||||
|
||||
Use angle brackets for placeholders. Tell the reader what a placeholder
|
||||
represents.
|
||||
|
@ -38,7 +49,7 @@ represents.
|
|||
|
||||
where `<pod-name>` is the name of one of your pods.
|
||||
|
||||
### Use bold for user interface elements
|
||||
#### Use bold for user interface elements
|
||||
|
||||
<table>
|
||||
<tr><th>Do</th><th>Don't</th></tr>
|
||||
|
@ -46,7 +57,7 @@ represents.
|
|||
<tr><td>Select <b>Other</b>.</td><td>Select 'Other'.</td></tr>
|
||||
</table>
|
||||
|
||||
### Use italics to define or introduce new terms
|
||||
#### Use italics to define or introduce new terms
|
||||
|
||||
<table>
|
||||
<tr><th>Do</th><th>Don't</th></tr>
|
||||
|
@ -54,7 +65,7 @@ represents.
|
|||
<tr><td>These components form the <i>control plane.</i></td><td>These components form the <b>control plane.</b></td></tr>
|
||||
</table>
|
||||
|
||||
### Use code style for filenames, directories, and paths
|
||||
#### Use code style for filenames, directories, and paths
|
||||
|
||||
<table>
|
||||
<tr><th>Do</th><th>Don't</th></tr>
|
||||
|
@ -63,9 +74,9 @@ represents.
|
|||
<tr><td>Open the <code>/_data/concepts.yaml</code> file.</td><td>Open the /_data/concepts.yaml file.</td></tr>
|
||||
</table>
|
||||
|
||||
## Code snippet formatting
|
||||
### Code snippet formatting
|
||||
|
||||
### Use code style for inline code and commands
|
||||
#### Use code style for inline code and commands
|
||||
|
||||
For inline code in an HTML document, use the `<code>` tag. In a Markdown
|
||||
document, use the backtick (`).
|
||||
|
@ -76,14 +87,14 @@ document, use the backtick (`).
|
|||
<tr><td>The <code>kubectl run</code> command creates a Deployment.</td><td>The "kubectl run" command creates a Deployment.</td></tr>
|
||||
</table>
|
||||
|
||||
### Don't include the command prompt
|
||||
#### Don't include the command prompt
|
||||
|
||||
<table>
|
||||
<tr><th>Do</th><th>Don't</th></tr>
|
||||
<tr><td>kubectl get pods</td><td>$ kubectl get pods</td></tr>
|
||||
</table>
|
||||
|
||||
### Separate commands from output
|
||||
#### Separate commands from output
|
||||
|
||||
Verify that the pod is running on your chosen node:
|
||||
|
||||
|
@ -105,11 +116,11 @@ A list of Kubernetes-specific terms and words to be used consistently across the
|
|||
</table>{% endcomment %}
|
||||
|
||||
|
||||
## Content best practices
|
||||
### Content best practices
|
||||
|
||||
This section contains suggested best practices for clear, concise, and consistent content.
|
||||
|
||||
### Use present tense
|
||||
#### Use present tense
|
||||
|
||||
<table>
|
||||
<tr><th>Do</th><th>Don't</th></tr>
|
||||
|
@ -119,7 +130,7 @@ This section contains suggested best practices for clear, concise, and consisten
|
|||
Exception: Use future or past tense if it is required to convey the correct
|
||||
meaning.
|
||||
|
||||
### Use active voice
|
||||
#### Use active voice
|
||||
|
||||
<table>
|
||||
<tr><th>Do</th><th>Don't</th></tr>
|
||||
|
@ -129,7 +140,7 @@ meaning.
|
|||
|
||||
Exception: Use passive voice if active voice leads to an awkward construction.
|
||||
|
||||
### Use simple and direct language
|
||||
#### Use simple and direct language
|
||||
|
||||
Use simple and direct language. Avoid using unnecessary phrases, such as saying "please."
|
||||
|
||||
|
@ -141,7 +152,7 @@ Use simple and direct language. Avoid using unnecessary phrases, such as saying
|
|||
|
||||
</table>
|
||||
|
||||
### Address the reader as "you"
|
||||
#### Address the reader as "you"
|
||||
|
||||
<table>
|
||||
<tr><th>Do</th><th>Don't</th></tr>
|
||||
|
@ -149,9 +160,9 @@ Use simple and direct language. Avoid using unnecessary phrases, such as saying
|
|||
<tr><td>In the preceding output, you can see...</td><td>In the preceding output, we can see ...</td></tr>
|
||||
</table>
|
||||
|
||||
## Patterns to avoid
|
||||
### Patterns to avoid
|
||||
|
||||
### Avoid using "we"
|
||||
#### Avoid using "we"
|
||||
|
||||
Using "we" in a sentence can be confusing, because the reader might not know
|
||||
whether they're part of the "we" you're describing.
|
||||
|
@ -163,7 +174,7 @@ whether they're part of the "we" you're describing.
|
|||
<tr><td>This page teaches you how to use pods.</td><td>In this page, we are going to learn about pods.</td></tr>
|
||||
</table>
|
||||
|
||||
### Avoid jargon and idioms
|
||||
#### Avoid jargon and idioms
|
||||
|
||||
Some readers speak English as a second language. Avoid jargon and idioms to help make their understanding easier.
|
||||
|
||||
|
@ -173,13 +184,13 @@ Some readers speak English as a second language. Avoid jargon and idioms to help
|
|||
<tr><td>Create a new cluster.</td><td>Turn up a new cluster.</td></tr>
|
||||
</table>
|
||||
|
||||
### Avoid statements about the future
|
||||
#### Avoid statements about the future
|
||||
|
||||
Avoid making promises or giving hints about the future. If you need to talk about
|
||||
an alpha feature, put the text under a heading that identifies it as alpha
|
||||
information.
|
||||
|
||||
### Avoid statements that will soon be out of date
|
||||
#### Avoid statements that will soon be out of date
|
||||
|
||||
Avoid words like "currently" and "new." A feature that is new today might not be
|
||||
considered new in a few months.
|
||||
|
|
|
@ -27,7 +27,7 @@ a Kubernetes cluster from scratch.
|
|||
|
||||
### Local-machine Solutions
|
||||
|
||||
[Minikube](/docs/getting-started-guides/minikube/) is the recommended method for you to create a single node kubernetes cluster locally for purposes of development and testing. Setup is completely automated and doesn't require a cloud provider account.
|
||||
[Minikube](/docs/getting-started-guides/minikube/) is the recommended method for you to create a single node kubernetes cluster locally for purposes of development and testing. Setup is completely automated and doesn't require a cloud provider account.
|
||||
|
||||
Use the [Minikube getting started guide](/docs/getting-started-guides/minikube/) to try it out.
|
||||
|
||||
|
@ -45,6 +45,8 @@ clusters.
|
|||
|
||||
[Platform9](https://platform9.com/products/kubernetes/) offers managed Kubernetes on-premises or any public cloud, and provides 24/7 health monitoring and alerting.
|
||||
|
||||
[OpenShift Dedicated](https://www.openshift.com/dedicated/) offers managed Kubernetes clusters powered by OpenShift and [OpenShift Online](https://www.openshift.com/features/) provides free hosted access for Kubernetes applications.
|
||||
|
||||
### Turn-key Cloud Solutions
|
||||
|
||||
These solutions allow you to create Kubernetes clusters on a range of Cloud IaaS providers with only a
|
||||
|
|
|
@ -10,8 +10,9 @@ In this article, we assume a Kubernetes cluster has been created with network po
|
|||
|
||||
* [Calico](/docs/getting-started-guides/network-policy/calico/)
|
||||
* [Romana](/docs/getting-started-guides/network-policy/romana/)
|
||||
* [Weave Net](/docs/getting-started-guides/network-policy/weave/)
|
||||
|
||||
The reference implementation is [Calico](/docs/getting-started-guides/network-policy/calico) running on GCE.
|
||||
Add-ons are sorted alphabetically - the ordering does not imply any preferential status.
|
||||
|
||||
The following example walkthrough will work on a Kubernetes cluster using any of the listed providers.
|
||||
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
assignees:
|
||||
- bboreham
|
||||
|
||||
---
|
||||
|
||||
The [Weave Net Addon](https://www.weave.works/docs/net/latest/kube-addon/) for Kubernetes comes with a Network Policy Controller.
|
||||
|
||||
This component automatically monitors Kubernetes for any NetworkPolicy annotations on all namespaces, and configures `iptables` rules to allow or block traffic as directed by the policies.
|
||||
|
||||
Once you have installed the Weave Net Addon you can follow the [NetworkPolicy gettting started guide](/docs/getting-started-guides/network-policy/walkthrough) to try out Kubernetes NetworkPolicy.
|
|
@ -340,7 +340,7 @@ We can now build and publish a new container image to the registry with an incre
|
|||
|
||||
```shell
|
||||
docker build -t gcr.io/$PROJECT_ID/hello-node:v2 .
|
||||
gcloud docker push gcr.io/$PROJECT_ID/hello-node:v2
|
||||
gcloud docker -- push gcr.io/$PROJECT_ID/hello-node:v2
|
||||
```
|
||||
|
||||
Building and pushing this updated image should be much quicker as we take full advantage of the Docker cache.
|
||||
|
|
|
@ -25,8 +25,7 @@ for database debugging.
|
|||
|
||||
1. Create a pod:
|
||||
|
||||
export REPO=https://raw.githubusercontent.com/kubernetes/kubernetes.github.io/master
|
||||
kubectl create -f $REPO/docs/tasks/access-application-cluster/redis-master.yaml
|
||||
kubectl create -f http://k8s.io/docs/tasks/access-application-cluster/redis-master.yaml
|
||||
|
||||
The output of a successful command verifies that the pod was created:
|
||||
|
||||
|
|
|
@ -59,8 +59,7 @@ a `disktype=ssd` label.
|
|||
1. Use the configuration file to create a pod that will get scheduled on your
|
||||
chosen node:
|
||||
|
||||
export REPO=https://raw.githubusercontent.com/kubernetes/kubernetes.github.io/master
|
||||
kubectl create -f $REPO/docs/tasks/administer-cluster/pod.yaml
|
||||
kubectl create -f http://k8s.io/docs/tasks/administer-cluster/pod.yaml
|
||||
|
||||
1. Verify that the pod is running on your chosen node:
|
||||
|
||||
|
|
|
@ -43,8 +43,7 @@ for the `Pod`:
|
|||
|
||||
1. Create a Pod based on the YAML configuration file:
|
||||
|
||||
export REPO=https://raw.githubusercontent.com/kubernetes/kubernetes.github.io/master
|
||||
kubectl create -f $REPO/docs/tasks/configure-pod-container/cpu-ram.yaml
|
||||
kubectl create -f http://k8s.io/docs/tasks/configure-pod-container/cpu-ram.yaml
|
||||
|
||||
1. Display information about the pod:
|
||||
|
||||
|
|
|
@ -39,8 +39,7 @@ file for the Pod defines a command and two arguments:
|
|||
|
||||
1. Create a Pod based on the YAML configuration file:
|
||||
|
||||
export REPO=https://raw.githubusercontent.com/kubernetes/kubernetes.github.io/master
|
||||
kubectl create -f $REPO/docs/tasks/configure-pod-container/commands.yaml
|
||||
kubectl create -f http://k8s.io/docs/tasks/configure-pod-container/commands.yaml
|
||||
|
||||
1. List the running Pods:
|
||||
|
||||
|
|
|
@ -33,8 +33,7 @@ Pod:
|
|||
|
||||
1. Create a Pod based on the YAML configuration file:
|
||||
|
||||
export REPO=https://raw.githubusercontent.com/kubernetes/kubernetes.github.io/master
|
||||
kubectl create -f $REPO/docs/tasks/configure-pod-container/envars.yaml
|
||||
kubectl create -f http://k8s.io/docs/tasks/configure-pod-container/envars.yaml
|
||||
|
||||
1. List the running Pods:
|
||||
|
||||
|
|
|
@ -32,12 +32,11 @@ In this exercise, you create a Pod that runs one container.
|
|||
The configuration file specifies a command that runs when
|
||||
the container starts.
|
||||
|
||||
{% include code.html language="yaml" file="termination.yaml" ghlink="/docs/tasks/debug-pod-container/termination.yaml" %}
|
||||
{% include code.html language="yaml" file="termination.yaml" ghlink="/docs/tasks/debug-application-cluster/termination.yaml" %}
|
||||
|
||||
1. Create a Pod based on the YAML configuration file:
|
||||
|
||||
export REPO=https://raw.githubusercontent.com/kubernetes/kubernetes.github.io/master
|
||||
kubectl create -f $REPO/docs/tasks/debug-pod-container/termination.yaml
|
||||
kubectl create -f http://k8s.io/docs/tasks/debug-application-cluster/termination.yaml
|
||||
|
||||
In the YAML file, in the `cmd` and `args` fields, you can see that the
|
||||
container sleeps for 10 seconds and then writes "Sleep expired" to
|
||||
|
@ -70,7 +69,7 @@ the container starts.
|
|||
|
||||
1. Use a Go template to filter the output so that it includes
|
||||
only the termination message:
|
||||
|
||||
|
||||
```
|
||||
{% raw %} kubectl get pod termination-demo -o go-template="{{range .status.containerStatuses}}{{.lastState.terminated.message}}{{end}}"{% endraw %}
|
||||
```
|
||||
|
@ -99,7 +98,7 @@ Set `terminationMessagePath` as shown here:
|
|||
|
||||
{% capture whatsnext %}
|
||||
|
||||
* See the `terminationMessagePath` field in
|
||||
* See the `terminationMessagePath` field in
|
||||
[Container](/docs/api-reference/v1/definitions#_v1_container).
|
||||
* Learn about [retrieving logs](/docs/user-guide/logging/).
|
||||
* Learn about [Go templates](https://golang.org/pkg/text/template/).
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
---
|
||||
---
|
||||
|
||||
The Tasks section of the Kubernetes documentation is a work in progress
|
||||
This section of the Kubernetes documentation contains pages that
|
||||
show how to do individual tasks. A task page shows how to do a
|
||||
single thing, typically by giving a short sequence of steps.
|
||||
|
||||
#### Configuring Pods and Containers
|
||||
|
||||
|
@ -13,6 +15,10 @@ The Tasks section of the Kubernetes documentation is a work in progress
|
|||
|
||||
* [Using Port Forwarding to Access Applications in a Cluster](/docs/tasks/access-application-cluster/port-forward-access-application-cluster/)
|
||||
|
||||
#### Debugging Applications in a Cluster
|
||||
|
||||
* [Determining the Reason for Pod Failure](/docs/tasks/debug-application-cluster/determine-reason-pod-failure/)
|
||||
|
||||
#### Accessing the Kubernetes API
|
||||
|
||||
* [Using an HTTP Proxy to Access the Kubernetes API](/docs/tasks/access-kubernetes-api/http-proxy-access-api)
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
assignees:
|
||||
- pwittrock
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
---
|
||||
---
|
||||
{% include templates/concept-overview.md %}
|
|
@ -1,6 +0,0 @@
|
|||
---
|
||||
assignees:
|
||||
- bgrant0607
|
||||
|
||||
---
|
||||
{% include templates/kubectl.md %}
|
|
@ -1,3 +0,0 @@
|
|||
---
|
||||
---
|
||||
{% include templates/landing-page.md %}
|
|
@ -1,3 +0,0 @@
|
|||
---
|
||||
---
|
||||
{% include templates/task.md %}
|
|
@ -1,80 +0,0 @@
|
|||
---
|
||||
---
|
||||
{% assign concept="Pod" %}
|
||||
|
||||
{% capture what_is %}
|
||||
A pod is the vehicle for running containers in Kubernetes. A pod consists of:
|
||||
|
||||
- One or more containers
|
||||
- An IP address that is unique within the cluster
|
||||
- Optionally: Environment variables, storage volumes, and enterprise features (such as health checking)
|
||||
|
||||
Resources are shared amongst containers in the pod. Containers within a pod also share an IP address and port space, and can find each other via localhost, or interprocess communications (such as semaphores).
|
||||
|
||||
![Pod diagram](/images/docs/pod-overview.svg){: style="max-width: 25%" }
|
||||
{% comment %}https://drive.google.com/open?id=1pQe4-s76fqyrzB8f3xoJo4MPLNVoBlsE1tT9MyLNINg{% endcomment %}
|
||||
|
||||
{% endcapture %}
|
||||
|
||||
{% capture when_to_use %}
|
||||
Pods are used any time you need a container to be run. However, they are rarely created by a user, and are instead automatically created by controllers such as jobs, replication controllers, deployments, daemon set. The following table describes the strategy each controller uses to create pods.
|
||||
|
||||
|
||||
| Controller | Usage Strategy |
|
||||
|------------|----------------|
|
||||
| Deployment | For running pods as a continuous and healthy application |
|
||||
| Replication Controller | Used for the same purpose as Deployments (superseded Replication Controllers) |
|
||||
| Jobs | For running pods "to completion" (which are then shut down) |
|
||||
| Daemon Set | Mainly for performing operations on any nodes that match given parameters |
|
||||
|
||||
{% endcapture %}
|
||||
|
||||
{% capture when_not_to_use %}
|
||||
Do not use pods directly. Pods should always be managed by a controller.
|
||||
{% endcapture %}
|
||||
|
||||
{% capture status %}
|
||||
To retrieve the status of a pod, run the following command:
|
||||
|
||||
```shell
|
||||
kubectl get pod <name>
|
||||
```
|
||||
|
||||
| Return Value | Description |
|
||||
|--------------|-------------|
|
||||
| `READY` | Describes the number of containers that are ready to receive traffic. |
|
||||
| `STATUS` | A value from the `PodPhase` enum describing the current status of the pod. Can be `Running`, `Pending`, `Succeeded`, `Failed`, and `Unknown`. |
|
||||
|
||||
TODO: Link to refpage for `kubectl get pod`
|
||||
|
||||
|
||||
To get a full description of a pod, including past events, run the following command:
|
||||
|
||||
```shell
|
||||
kubectl describe pod <name>
|
||||
```
|
||||
|
||||
TODO: Link to refpage for `kubectl describe pod`
|
||||
|
||||
#### Possible status results
|
||||
|
||||
| Value | Description |
|
||||
|------------|----------------|
|
||||
| Deployment | For running pods as a continuous and healthy application |
|
||||
| Replication Controller | Used for the same purpose as Deployments (superseded Replication Controllers) |
|
||||
| Jobs | For running pods "to completion" (which are then shut down) |
|
||||
| Daemon Set | Mainly for performing operations on any nodes that match given parameters |
|
||||
|
||||
{% endcapture %}
|
||||
|
||||
{% capture usage %}
|
||||
Pods are defined when configuring the controller of your choice. In controller specifications,
|
||||
the parts that define the contents of the pod are inside the `template:` section.
|
||||
|
||||
```yaml
|
||||
YAML EXAMPLE HERE
|
||||
```
|
||||
|
||||
{% endcapture %}
|
||||
|
||||
{% include templates/concept-overview.md %}
|
|
@ -1,249 +0,0 @@
|
|||
---
|
||||
assignees:
|
||||
- pwittrock
|
||||
|
||||
---
|
||||
|
||||
* TOC
|
||||
{:toc}
|
||||
|
||||
## Before you Begin: Get the docs code checked out locally
|
||||
|
||||
Check out the kubernetes/kubernetes.github.io repo and the docsv2 branch.
|
||||
|
||||
### Step 1: Fork and Clone the repo
|
||||
|
||||
- Fork [kubernetes/kubernetes.github.io](https://github.com/kubernetes/kubernetes.github.io)
|
||||
- [Setup your GitHub authentication using ssh](https://help.github.com/articles/generating-an-ssh-key/)
|
||||
- Clone the repo under ~/go/src/k8s.io
|
||||
|
||||
```shell
|
||||
cd ~/go/src/k8s.io
|
||||
git clone git@github.com:<your-github-username>/kubernetes.github.io
|
||||
cd kubernetes.github.io
|
||||
git remote add upstream https://github.com/kubernetes/kubernetes.github.io.git
|
||||
```
|
||||
|
||||
### Step 2: Switch to the docsv2 branch
|
||||
|
||||
Docs v2 development is being performed in the `docsv2` branch. This is the branch
|
||||
you want to be working from.
|
||||
|
||||
From ~/go/src/k8s.io/kubernetes.github.io:
|
||||
|
||||
```shell
|
||||
git checkout -b docsv2
|
||||
git fetch upstream
|
||||
git reset --hard upstream/docsv2
|
||||
```
|
||||
|
||||
### Step 3: Make sure you can serve rendered docs
|
||||
|
||||
One option is to simply rename your fork's repo on GitHub.com to `yourusername.github.io`, which will auto-stage your commits at that URL.
|
||||
|
||||
Or, just use Docker! Run this from within your local `kubernetes.github.io` directory and you should be good:
|
||||
|
||||
```shell
|
||||
docker run -ti --rm -v "$PWD":/k8sdocs -p 4000:4000 gcr.io/google-samples/k8sdocs:1.0
|
||||
```
|
||||
|
||||
The site will then be viewable at [http://localhost:4000/](http://localhost:4000/).
|
||||
|
||||
Or, you can [follow the instructions](/editdocs/) for running a from-scratch staging server, which is both the most performant option and the biggest pain to get set up.
|
||||
|
||||
## Writing Docs Using Templates
|
||||
|
||||
### Types of Templates
|
||||
|
||||
- Concept Template
|
||||
- Introduce K8s Api Objects e.g. Pod
|
||||
- Task Template
|
||||
- Step-by-step guide for "Doing X".
|
||||
- Useful for breaking down various ways of configuring Concepts into sub-topics
|
||||
- Landing Pages Template
|
||||
- Collection of click-able cards on a grid
|
||||
- Useful for directing users to actual content from a visual Table of Contents
|
||||
|
||||
## Concept Overview Template Details
|
||||
|
||||
A concept overview covers the most essential, important information about core
|
||||
Kubernetes concepts and features. Examples of Concepts include `Pod`,
|
||||
`Deployment`, `Service`, etc.
|
||||
|
||||
### Reference Examples
|
||||
|
||||
- [Link to Example Template: Source](https://raw.githubusercontent.com/kubernetes/kubernetes.github.io/docsv2/docs/pod/index.md)
|
||||
- [Link to Example Template: Rendered](http://k8sdocs.github.io/docs/pod/)
|
||||
|
||||
### Usage
|
||||
|
||||
### Creating the file
|
||||
|
||||
To create a new concept overview page, create a new directory with the concept
|
||||
name under the docs directory and an index.md file.
|
||||
e.g. `docs/your-concept-name/index.md`.
|
||||
|
||||
### Adding the page to navigation
|
||||
|
||||
Once your page is saved, somewhere in the `/docs/` directory, add a reference to the `concepts.yml` file under `/_data/` so that it will appear in the left-hand navigation of the site. This is also where you add a title to the page.
|
||||
|
||||
### Adding the Template sections
|
||||
|
||||
- concept: the concept name e.g. Pod
|
||||
- what_is: one sentence description the function / role of the concept. Diagrams are helpful.
|
||||
- when_to_use: disambiguate when to use this vs alternatives
|
||||
- when_not_to_use: highlight common anti-patterns
|
||||
- status: how to get the status for this object using kubectl
|
||||
- usage: example yaml
|
||||
- template: include the template at the end
|
||||
|
||||
### Tags structure
|
||||
|
||||
- `glossary:` a brief (~140 character) definition of what this concept is.
|
||||
- `object_rankings:` associates the page with API objects/functions.
|
||||
- `concept_rankings:` associates the page with Kubernetes concepts.
|
||||
- `command_rankings:` associates the page with CLI commands
|
||||
|
||||
In each case, the association is ranked. If ranked "1," the topic will surface as a "Core Topic" (of high importance) on various associated pages. If ranked "2," the topic will be grouped under "Advanced Topics," which are deemed less essential.
|
||||
|
||||
Only ranks 1 and 2 are supported.
|
||||
|
||||
Tags are mandatory and should be thorough; they are the connective tissue of the site. To see them in action, [visit our sitemap](http://k8sdocs.github.io/docs/sitemap/).
|
||||
|
||||
|
||||
```liquid{% raw %}
|
||||
---
|
||||
glossary: A pod is the vehicle for running containers in Kubernetes.
|
||||
object_rankings:
|
||||
- object: pod
|
||||
rank: 1
|
||||
concept_rankings:
|
||||
- concept: pod
|
||||
rank: 1
|
||||
command_rankings:
|
||||
- command: kubect describe
|
||||
rank: 1
|
||||
- command: kubectl get
|
||||
rank: 1
|
||||
---
|
||||
{% capture concept %} concept-name-here {% endcapture %}
|
||||
{% capture what_is %} description-of-concept-here {% endcapture %}
|
||||
{% capture when_to_use %} when-to-use-here {% endcapture %}
|
||||
{% capture when_not_to_use %} anti-patterns-here {% endcapture %}
|
||||
{% capture status %} how-to-get-with-kubectl-here {% endcapture %}
|
||||
{% capture usage %} yaml-config-usage-here {% endcapture %}
|
||||
{% include templates/concept-overview.md %}
|
||||
{% endraw %}```
|
||||
|
||||
|
||||
## Task Template Details
|
||||
|
||||
A task page offers step-by-step instructions for completing a task with Kubernetes. **A task page should be narrowly focused on task completion and not delve into concepts or reference information.**
|
||||
|
||||
### Example
|
||||
|
||||
- [Link to Example Template: Source](https://raw.githubusercontent.com/kubernetes/kubernetes.github.io/docsv2/docs/tasks/explicitly-scheduling-pod-node.md)
|
||||
- [Link to Example Template: Rendered](http://k8sdocs.github.io/docs/tasks/explicitly-scheduling-pod-node/)
|
||||
|
||||
### Usage
|
||||
|
||||
### Creating the file
|
||||
|
||||
To create a new task page, create a file under docs/tasks/task-name.
|
||||
e.g. `docs/tasks/your-task-name`.
|
||||
|
||||
Task filenames should match the title, chaining words with dashes in all lowercase, omitting articles and prepositions. For example, the topic "Explictly Scheduling a Pod on a Node" is stored in file `/docs/tasks/explicitly-scheduling-pod-node.md`.
|
||||
|
||||
### Adding the page to navigation
|
||||
|
||||
Add a reference to the `tasks.yml` file under `/_data/` so that it will appear in the left-hand navigation of the site. This is also where you add a title to the page.
|
||||
|
||||
### Adding the Template sections
|
||||
|
||||
- metadata: structured description of the doc content
|
||||
- purpose: one sentence description of the task and motivation
|
||||
- recommended_background: List of Concepts referenced or other Tasks, Tutorials that provide needed context
|
||||
- set_by_step: Add multiple sections. 1 per step in the task.
|
||||
- template: include the template at the end
|
||||
|
||||
### Tags structure
|
||||
|
||||
- `object_rankings:` associates the page with API objects/functions.
|
||||
- `concept_rankings:` associates the page with Kubernetes concepts.
|
||||
- `command_rankings:` associates the page with CLI commands
|
||||
|
||||
In each case, the association is ranked. If ranked "1," the topic will surface as a "Core Topic" (of high importance) on various associated pages. If ranked "2," the topic will be grouped under "Advanced Topics," which are deemed less essential.
|
||||
|
||||
Only ranks 1 and 2 are supported.
|
||||
|
||||
Tags are mandatory and should be thorough; they are the connective tissue of the site. To see them in action, [visit our sitemap](http://k8sdocs.github.io/docs/sitemap/).
|
||||
|
||||
|
||||
```liquid{% raw %}
|
||||
---
|
||||
object_rankings:
|
||||
- object: nodeAffinity
|
||||
rank: 1
|
||||
- object: nodeSelector
|
||||
rank: 2
|
||||
concept_rankings:
|
||||
- concept: node
|
||||
rank: 1
|
||||
- concept: pod
|
||||
rank: 1
|
||||
command_rankings:
|
||||
- command: kubectl label
|
||||
rank: 1
|
||||
- command: kubectl get
|
||||
rank: 2
|
||||
---
|
||||
{% capture purpose %} task-description-here {% endcapture %}
|
||||
{% capture recommended_background %} prereq-reading-here {% endcapture %}
|
||||
{% capture step_by_step %} single-step-here {% endcapture %}
|
||||
{% include templates/task.md %}
|
||||
{% endraw %}```
|
||||
|
||||
|
||||
## Landing Pages
|
||||
|
||||
Landing pages are a set of clickable "cards" arranged in a grid. Each card has a heading and description, and optioninall, a thumbnail image. They are meant to be index pages that quickly forward users on to deeper content.
|
||||
|
||||
### Demos
|
||||
|
||||
- [Link to Example Landing Page](https://raw.githubusercontent.com/kubernetes/kubernetes.github.io/master/docs/templatedemos/landingpage.md)
|
||||
- [Link to Rendered Landing Page](landingpage/)
|
||||
|
||||
### Usage
|
||||
|
||||
To use this template, create a new file with these contents. Essentially, you declare the cards you want by inserting the following YAML structure in the front-matter YAML section at the top of the page, and the body of the page just has the include statement.
|
||||
|
||||
```yaml
|
||||
---
|
||||
cards:
|
||||
- progression: no #"yes" = display cards as linearly progressing
|
||||
- card:
|
||||
title: Mean Stack
|
||||
image: /images/docs/meanstack/image_0.png
|
||||
description: Lorem ipsum dolor it verberum.
|
||||
# repeat -card: items as necessary
|
||||
---
|
||||
{% raw %}{% include templates/landing-page.md %}{% endraw %}
|
||||
```
|
||||
|
||||
### Adding page to navigation
|
||||
|
||||
Once your page is saved, somewhere in the `/docs/` directory, add a reference to the appropriate .yml file under `/_data/` so that it will appear in the left-hand navigation of the site. This is also where you add a title to the page.
|
||||
|
||||
|
||||
## kubectl yaml
|
||||
|
||||
You probably shouldn't be using this, but we also have templates which consume YAML files that are generated by the Kubernetes authors. These are turned into pages which display the reference information for the various CLI tools.
|
||||
|
||||
### Demos
|
||||
|
||||
- [Link to Example Template](https://raw.githubusercontent.com/kubernetes/kubernetes.github.io/docsv2/docs/kubectl/kubectl_api-versions.md)
|
||||
- [Link to Rendered Template](http://k8sdocs.github.io/docs/kubectl/kubectl_api-versions/)
|
||||
|
||||
### Adding page to navigation
|
||||
|
||||
Once your page is saved, somewhere in the `/docs/` directory, add a reference to the `reference.yml` file under `/_data/` so that it will appear in the left-hand navigation of the site. This is also where you add a title to the page.
|
|
@ -1,7 +0,0 @@
|
|||
---
|
||||
assignees:
|
||||
- bgrant0607
|
||||
|
||||
---
|
||||
{% capture command %}kubectl_annotate{% endcapture %}
|
||||
{% include templates/kubectl.md %}
|
|
@ -1,53 +0,0 @@
|
|||
---
|
||||
cards:
|
||||
- progression: no
|
||||
- card:
|
||||
title: Mean Stack
|
||||
image: /images/docs/meanstack/image_0.png
|
||||
description: Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum.
|
||||
- card:
|
||||
title: Guestbook + Redis
|
||||
image: /images/docs/redis.svg
|
||||
description: Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum.
|
||||
- card:
|
||||
title: Cassandra
|
||||
image: /images/docs/cassandra.svg
|
||||
description: Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum.
|
||||
- card:
|
||||
title: WordPress + MySQL
|
||||
image: /images/docs/wordpress.svg
|
||||
description: Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum.
|
||||
- card:
|
||||
title: Mean Stack
|
||||
image: /images/docs/meanstack/image_0.png
|
||||
description: Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum.
|
||||
- card:
|
||||
title: Guestbook + Redis
|
||||
image: /images/docs/redis.svg
|
||||
description: Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum.
|
||||
- card:
|
||||
title: Cassandra
|
||||
image: /images/docs/cassandra.svg
|
||||
description: Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum.
|
||||
- card:
|
||||
title: WordPress + MySQL
|
||||
image: /images/docs/wordpress.svg
|
||||
description: Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum.
|
||||
- card:
|
||||
title: Mean Stack
|
||||
image: /images/docs/meanstack/image_0.png
|
||||
description: Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum.
|
||||
- card:
|
||||
title: Guestbook + Redis
|
||||
image: /images/docs/redis.svg
|
||||
description: Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum.
|
||||
- card:
|
||||
title: Cassandra
|
||||
image: /images/docs/cassandra.svg
|
||||
description: Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum.
|
||||
- card:
|
||||
title: WordPress + MySQL
|
||||
image: /images/docs/wordpress.svg
|
||||
description: Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum. Lorem ipsum dolor it verberum.
|
||||
---
|
||||
{% include templates/landing-page.md %}
|
|
@ -1,6 +0,0 @@
|
|||
---
|
||||
---
|
||||
|
||||
{% assign concept="Replication Controller" %}
|
||||
|
||||
{% include templates/concept-overview.md %}
|
|
@ -1,62 +0,0 @@
|
|||
---
|
||||
---
|
||||
# Doing a thing with a thing
|
||||
|
||||
{% capture purpose %}
|
||||
This document teaches you how to do a thing.
|
||||
{% endcapture %}
|
||||
|
||||
{% capture recommended_background %}
|
||||
In order to do a thing, you must be familiar with the following:
|
||||
|
||||
- [Thing 1](/foo/)
|
||||
- [Thing 2](/bar/)
|
||||
|
||||
{% endcapture %}
|
||||
|
||||
{% capture step_by_step %}
|
||||
Here's how to do a thing with a thing.
|
||||
|
||||
#### 1. Prepare the thing
|
||||
|
||||
Lorem ipsum dolor it verberum.
|
||||
|
||||
#### 2. Run the thing command
|
||||
|
||||
Lorem ipsum dolor it verberum.
|
||||
|
||||
#### 3. Create the thing.yaml file
|
||||
|
||||
Lorem ipsum dolor it verberum.
|
||||
|
||||
```yaml
|
||||
# Creates three nginx replicas
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: nginx-deployment
|
||||
spec:
|
||||
replicas: 3
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: nginx
|
||||
spec:
|
||||
containers:
|
||||
- name: nginx
|
||||
image: nginx:1.7.9
|
||||
ports:
|
||||
- containerPort: 80
|
||||
```
|
||||
|
||||
#### 4. ???
|
||||
|
||||
Lorem ipsum dolor it verberum.
|
||||
|
||||
#### 5. Profit!
|
||||
|
||||
Lorem ipsum dolor it verberum.
|
||||
|
||||
{% endcapture %}
|
||||
|
||||
{% include templates/task.md %}
|
|
@ -59,6 +59,13 @@ interest. For example, people new to Kubernetes may also want to join the
|
|||
`#kubernetes-novice` channel. As another example, developers should join the
|
||||
`#kubernetes-dev` channel.
|
||||
|
||||
There are also many country specific/local language channels. Feel free to join
|
||||
these channels for localized support and info:
|
||||
|
||||
- France: `#fr-users`, `#fr-events`
|
||||
- Germany: `#de-users`, `#de-events`
|
||||
- Japan: `#jp-users`, `#jp-events`
|
||||
|
||||
### Mailing List
|
||||
|
||||
The Kubernetes / Google Container Engine mailing list is [kubernetes-users@googlegroups.com](https://groups.google.com/forum/#!forum/kubernetes-users)
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
---
|
||||
---
|
||||
|
||||
The Tutorials section of the Kubernetes documentation is a work in progress.
|
||||
This section of the Kubernetes documentation contains tutorials.
|
||||
A tutorial shows how to accomplish a goal that is larger than a single
|
||||
[task](/docs/tasks/). Typically a tutorial has several sections,
|
||||
each of which has a sequence of steps.
|
||||
|
||||
#### Kubernetes Basics
|
||||
|
||||
|
|
|
@ -72,7 +72,7 @@ redirect_from:
|
|||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p><b>The Master is responsible for managing the cluster.</b> The master coordinates all activity in your cluster, such as scheduling applications, maintaining applications' desired state, scaling applications, and rolling out new updates.</p>
|
||||
<p><b>The Master is responsible for managing the cluster.</b> The master coordinates all activities in your cluster, such as scheduling applications, maintaining applications' desired state, scaling applications, and rolling out new updates.</p>
|
||||
<p><b>A node is a VM or a physical computer that serves as a worker machine in a Kubernetes cluster.</b> Each node has a Kubelet, which is an agent for managing the node and communicating with the Kubernetes master. The node should also have tools for handling container operations, such as Docker or rkt. A Kubernetes cluster that handles production traffic should have a minimum of three nodes.</p>
|
||||
|
||||
</div>
|
||||
|
@ -87,7 +87,7 @@ redirect_from:
|
|||
<div class="col-md-8">
|
||||
<p>When you deploy applications on Kubernetes, you tell the master to start the application containers. The master schedules the containers to run on the cluster's nodes. <b>The nodes communicate with the master using the Kubernetes API</b>, which the master exposes. End users can also use the Kubernetes API directly to interact with the cluster.</p>
|
||||
|
||||
<p>A Kubernetes cluster can be deployed on either physical or virtual machines. To get started with Kubernetes development, you can use <a href="https://github.com/kubernetes/minikube">minikube</a>. Minikube is a lightweight Kubernetes implementation that creates a VM on your local machine and deploys a simple cluster containing only one node. Minikube is available for Linux, Mac OS and Windows systems. The minikube CLI provides basic bootstrapping operations for working with your cluster, including start, stop, status, and delete. For this bootcamp, however, you'll use a provided online terminal with minikube pre-installed.</p>
|
||||
<p>A Kubernetes cluster can be deployed on either physical or virtual machines. To get started with Kubernetes development, you can use <a href="https://github.com/kubernetes/minikube">Minikube</a>. Minikube is a lightweight Kubernetes implementation that creates a VM on your local machine and deploys a simple cluster containing only one node. Minikube is available for Linux, Mac OS and Windows systems. The Minikube CLI provides basic bootstrapping operations for working with your cluster, including start, stop, status, and delete. For this bootcamp, however, you'll use a provided online terminal with Minikube pre-installed.</p>
|
||||
|
||||
<p>Now that you know what Kubernetes is, let’s go to the online tutorial and start our first cluster!</p>
|
||||
|
||||
|
|
|
@ -70,7 +70,7 @@
|
|||
|
||||
<p>You can create and manage a Deployment by using the Kubernetes command line interface, <b>Kubectl</b>. Kubectl uses the Kubernetes API to interact with the cluster. In this module, you'll learn the most common Kubectl commands needed to create Deployments that run your applications on a Kubernetes cluster.</p>
|
||||
|
||||
<p>When you create a Deployment, you'll need to specify the container image for your application and the number of replicas that you want to run. You can change that information later by updating your Deployment; Modules <a href="5-0.html">5</a> and <a href="5-0.html">6</a> of the bootcamp discuss how you can update your Deployments.</p>
|
||||
<p>When you create a Deployment, you'll need to specify the container image for your application and the number of replicas that you want to run. You can change that information later by updating your Deployment; Modules <a href="/docs/tutorials/kubernetes-basics/scale-intro/">5</a> and <a href="/docs/tutorials/kubernetes-basics/update-intro/">6</a> of the bootcamp discuss how you can scale and update your Deployments.</p>
|
||||
|
||||
|
||||
|
||||
|
@ -85,7 +85,7 @@
|
|||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p>For our first Deployment, we’ll use a <a href="https://nodejs.org">NodeJS</a> application packaged in a Docker container. The source code and the Dockerfile are available in the <a href="https://github.com/kubernetes/kubernetes-bootcamp">GitHub repository</a> for the Kubernetes Bootcamp.</p>
|
||||
<p>For our first Deployment, we’ll use a <a href="https://nodejs.org">Node.js</a> application packaged in a Docker container. The source code and the Dockerfile are available in the <a href="https://github.com/kubernetes/kubernetes-bootcamp">GitHub repository</a> for the Kubernetes Bootcamp.</p>
|
||||
|
||||
<p>Now that you know what Deployments are, let’s go to the online tutorial and deploy our first app!</p>
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
<div class="col-md-8">
|
||||
<h2>Kubernetes Pods</h2>
|
||||
<p>When you created a Deployment in Module <a href="/docs/tutorials/kubernetes-basics/deploy-app.html">2</a>, Kubernetes created a <b>Pod</b> to host your application instance. A Pod is Kubernetes abstraction that represents a group of one or more application containers (such as Docker or rkt), and some shared resources for those containers. Those resources include:</p>
|
||||
<p>When you created a Deployment in Module <a href="/docs/tutorials/kubernetes-basics/deploy-intro/">2</a>, Kubernetes created a <b>Pod</b> to host your application instance. A Pod is Kubernetes abstraction that represents a group of one or more application containers (such as Docker or rkt), and some shared resources for those containers. Those resources include:</p>
|
||||
<ul>
|
||||
<li>Shared storage, as Volumes</li>
|
||||
<li>Networking, as a unique cluster IP address</li>
|
||||
|
@ -106,7 +106,7 @@
|
|||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h2>Troubleshooting with kubectl</h2>
|
||||
<p>In Module <a href="2-0.html">2</a>, you used Kubectl command-line interface. You'll continue to use it in Module 3 to get information about deployed applications and their environments. The most common operations can be done with the following kubectl commands:</p>
|
||||
<p>In Module <a href="/docs/tutorials/kubernetes-basics/deploy-intro/">2</a>, you used Kubectl command-line interface. You'll continue to use it in Module 3 to get information about deployed applications and their environments. The most common operations can be done with the following kubectl commands:</p>
|
||||
<ul>
|
||||
<li><b>kubectl get</b> - list resources</li>
|
||||
<li><b>kubectl describe</b> - show detailed information about a resource</li>
|
||||
|
@ -114,7 +114,7 @@
|
|||
<li><b>kubectl exec</b> - execute a command on a container in a pod</li>
|
||||
</ul>
|
||||
|
||||
<p>You can use these commands to see when applications were deployed, what their current status is, where they are running and what their configuration is.</p>
|
||||
<p>You can use these commands to see when applications were deployed, what their current statuses are, where they are running and what their configurations are.</p>
|
||||
|
||||
<p>Now that we know more about our cluster components and the command line, let’s explore our application.</p>
|
||||
|
||||
|
|
|
@ -71,7 +71,7 @@
|
|||
|
||||
<p>A Service provides load balancing of traffic across the contained set of Pods. This is useful when a service is created to group all Pods from a specific Deployment (our application will make use of this in the next module, when we’ll have multiple instances running).</p>
|
||||
|
||||
<p>Services are also responsible for service-discovery within the cluster (covered in Module 6). This will for example allow a frontend service (like a web server) to receive traffic from a backend service (like a database) without worrying about Pods.</p>
|
||||
<p>Services are also responsible for service-discovery within the cluster (covered in <a href="/docs/user-guide/connecting-applications/#accessing-the-service">Accessing the Service</a>). This will for example allow a frontend service (like a web server) to receive traffic from a backend service (like a database) without worrying about Pods.</p>
|
||||
|
||||
<p>Services match a set of Pods using Label Selectors, a grouping primitive that allows logical operation on Labels.</p>
|
||||
|
||||
|
@ -119,7 +119,7 @@
|
|||
<p>Labels can be attached to objects at the creation time or later and can be modified at any time.
|
||||
The kubectl run command sets some default Labels/Label Selectors on the new Pods/ Deployment. The link between Labels and Label Selectors defines the relationship between the Deployment and the Pods it creates.</p>
|
||||
|
||||
<p>Let’s expose now our application with the help of a Service, and apply some new Labels.</p>
|
||||
<p>Now let’s expose our application with the help of a Service, and apply some new Labels.</p>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 476.1 385.3" style="enable-background:new 0 0 476.1 385.3;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;stroke:#006DE9;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
|
||||
<?xml version="1.0"?>
|
||||
<svg width="476.1" height="385.3" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<style type="text/css">.st0{fill:#FFFFFF;stroke:#006DE9;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
|
||||
.st1{fill:#FFFFFF;stroke:#006DE9;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
|
||||
.st2{fill:#FFFFFF;stroke:#326DE6;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
|
||||
.st3{opacity:0.71;fill:#326CE6;}
|
||||
|
@ -66,402 +63,177 @@
|
|||
.st60{fill:none;stroke:#06F7C9;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:2.724,1.816;}
|
||||
.st61{fill:#011F38;stroke:#414042;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
|
||||
.st62{fill:none;stroke:#011F38;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
|
||||
.st63{fill:none;stroke:#011F38;stroke-width:0.2813;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
|
||||
</style>
|
||||
<symbol id="master_x5F_level1_1_" viewBox="-68.6 -66.9 137.2 133.9">
|
||||
<g>
|
||||
<g>
|
||||
<line class="st0" x1="0" y1="-11.1" x2="0" y2="0.7"/>
|
||||
<line class="st0" x1="5.9" y1="-5.2" x2="-5.9" y2="-5.2"/>
|
||||
</g>
|
||||
<polygon class="st1" points="-29.2,-63.9 -65.6,-18.3 -52.6,38.6 0,63.9 52.6,38.6 65.6,-18.3 29.2,-63.9 "/>
|
||||
</g>
|
||||
</symbol>
|
||||
<symbol id="node_high_level" viewBox="-81 -93 162 186.1">
|
||||
<polygon class="st2" points="-80,-46 -80,46 0,92 80,46 80,-46 0,-92 "/>
|
||||
<g id="Isolation_Mode_3_">
|
||||
</g>
|
||||
</symbol>
|
||||
<symbol id="node_x5F_empty" viewBox="-87.5 -100.6 175.1 201.1">
|
||||
|
||||
<use xlink:href="#node_high_level" width="162" height="186.1" id="XMLID_201_" x="-81" y="-93" transform="matrix(1.0808 0 0 1.0808 -3.292006e-05 -3.749943e-05)" style="overflow:visible;"/>
|
||||
<g>
|
||||
<polygon class="st3" points="76.8,-28.1 -14,-80.3 0,-88.3 76.7,-44.4 "/>
|
||||
<polygon class="st4" points="76.8,-28.1 32.1,-53.8 38.8,-66.1 76.7,-44.4 "/>
|
||||
</g>
|
||||
</symbol>
|
||||
<symbol id="node_x5F_new" viewBox="-87.6 -101 175.2 202">
|
||||
<polygon class="st5" points="0,-100 -86.6,-50 -86.6,50 0,100 86.6,50 86.6,-50 "/>
|
||||
<polygon class="st6" points="-86.6,-20.2 -86.6,-50 0,-100 25.8,-85.1 "/>
|
||||
<polygon class="st7" points="-40.8,-70.7 -32.9,-57 15.7,-85.1 0,-94.3 "/>
|
||||
|
||||
<text transform="matrix(0.866 -0.5 -0.5 -0.866 -33.9256 -70.7388)" class="st8" style="font-family:'RobotoSlab-Regular'; font-size:11.3632px;">Docker</text>
|
||||
|
||||
<text transform="matrix(0.866 -0.5 -0.5 -0.866 -76.0668 -46.4087)" class="st8" style="font-family:'RobotoSlab-Regular'; font-size:11.3632px;">Kubelt</text>
|
||||
</symbol>
|
||||
<g id="CLUSTER">
|
||||
<g id="XMLID_296_" class="st9">
|
||||
<g>
|
||||
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="28.6348" y1="185.2931" x2="343.0902" y2="185.2931">
|
||||
<stop offset="0" style="stop-color:#326DE6"/>
|
||||
<stop offset="1" style="stop-color:#10FFC6"/>
|
||||
</linearGradient>
|
||||
<polygon class="st10" points="311.9,92.7 343.1,229.2 255.8,338.6 115.9,338.6 28.6,229.2 59.8,92.7 185.9,32 "/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="master">
|
||||
|
||||
<use xlink:href="#master_x5F_level1_1_" width="137.2" height="133.9" x="-68.6" y="-66.9" transform="matrix(0.4 0 0 -0.4 185.8606 187.2514)" style="overflow:visible;"/>
|
||||
<g id="master_x5F_level1">
|
||||
</g>
|
||||
</g>
|
||||
<g id="Node">
|
||||
<g id="Node_x5F_level3_x5F_1">
|
||||
<g id="Isolation_Mode">
|
||||
</g>
|
||||
</g>
|
||||
<polygon class="st16" points="182.7,139.9 147.1,160.4 111.4,139.9 111.4,98.7 147.1,78.2 182.7,98.7 "/>
|
||||
<polygon class="st13" points="129.3,150.2 147.1,160.4 182.7,139.9 182.7,119.3 "/>
|
||||
<polygon class="st7" points="163.5,147.7 157.4,137.2 179.9,124.2 179.9,138.3 "/>
|
||||
<g>
|
||||
<path class="st8" d="M162.5,139.3c0.4-0.3,0.9-0.3,1.3-0.2c0.4,0.1,0.8,0.4,1,0.8l0.3,0.5c0.3,0.4,0.3,0.9,0.2,1.3
|
||||
c-0.1,0.4-0.4,0.8-0.8,1l-1.4,0.8l-0.2-0.3l0.3-0.3l-1.6-2.7l-0.4,0.2l-0.2-0.3l0.4-0.2L162.5,139.3z M162.1,140l1.6,2.7l0.6-0.3
|
||||
c0.3-0.2,0.5-0.4,0.6-0.8c0.1-0.3,0-0.6-0.2-1l-0.3-0.5c-0.2-0.3-0.4-0.5-0.7-0.6c-0.3-0.1-0.6-0.1-0.9,0.1L162.1,140z"/>
|
||||
<path class="st8" d="M165.7,140.3c-0.2-0.4-0.3-0.8-0.2-1.1c0.1-0.4,0.3-0.6,0.6-0.9c0.4-0.2,0.7-0.2,1.1-0.1
|
||||
c0.3,0.1,0.6,0.4,0.9,0.8l0,0.1c0.2,0.4,0.3,0.8,0.2,1.1c-0.1,0.4-0.3,0.6-0.6,0.8c-0.4,0.2-0.7,0.2-1.1,0.1
|
||||
C166.2,141,165.9,140.8,165.7,140.3L165.7,140.3z M166.2,140.1c0.2,0.3,0.3,0.5,0.6,0.6c0.2,0.1,0.4,0.1,0.7,0
|
||||
c0.2-0.1,0.3-0.3,0.4-0.6c0-0.2-0.1-0.5-0.2-0.8l0-0.1c-0.2-0.3-0.3-0.5-0.6-0.6c-0.2-0.1-0.4-0.1-0.7,0c-0.2,0.1-0.3,0.3-0.4,0.6
|
||||
C165.9,139.5,166,139.8,166.2,140.1L166.2,140.1z"/>
|
||||
<path class="st8" d="M170.1,139.1c0.2-0.1,0.3-0.2,0.3-0.4c0.1-0.2,0.1-0.3,0-0.5l0.4-0.2l0,0c0.1,0.2,0.2,0.5,0,0.8
|
||||
c-0.1,0.3-0.3,0.5-0.6,0.7c-0.4,0.2-0.7,0.3-1.1,0.1c-0.3-0.1-0.6-0.4-0.8-0.7l-0.1-0.1c-0.2-0.4-0.3-0.7-0.2-1.1s0.3-0.6,0.6-0.9
|
||||
c0.2-0.1,0.4-0.2,0.6-0.2c0.2,0,0.4,0,0.6,0l0.3,0.6l-0.4,0.2l-0.3-0.3c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0.1-0.3,0.1
|
||||
c-0.2,0.1-0.4,0.3-0.4,0.6c0,0.2,0.1,0.5,0.2,0.7l0.1,0.1c0.2,0.3,0.3,0.5,0.5,0.6C169.7,139.2,169.9,139.2,170.1,139.1z"/>
|
||||
<path class="st8" d="M169.8,135.2l-0.2-0.3l0.9-0.5l1.2,2.1l0.3-0.2l0.2-1l-0.3,0.1l-0.2-0.3l1.1-0.6l0.2,0.3l-0.3,0.2l-0.2,1.2
|
||||
l1.4,0.6l0.3-0.1l0.2,0.3l-1.1,0.6l-0.2-0.3l0.2-0.2l-1.2-0.5l-0.3,0.2l0.5,0.8l0.4-0.2l0.2,0.3l-1.2,0.7l-0.2-0.3l0.3-0.3l-1.7-3
|
||||
L169.8,135.2z"/>
|
||||
<path class="st8" d="M175.9,136.3c-0.4,0.2-0.7,0.3-1.1,0.1s-0.6-0.4-0.9-0.7l-0.1-0.1c-0.2-0.4-0.3-0.7-0.2-1.1
|
||||
c0.1-0.4,0.3-0.6,0.6-0.8c0.3-0.2,0.7-0.2,1-0.1s0.5,0.3,0.7,0.7l0.2,0.3l-1.7,1l0,0c0.1,0.2,0.3,0.4,0.5,0.5
|
||||
c0.2,0.1,0.4,0.1,0.6-0.1c0.2-0.1,0.3-0.2,0.4-0.3c0.1-0.1,0.2-0.2,0.2-0.4l0.4,0.2c0,0.1-0.1,0.3-0.2,0.4
|
||||
C176.3,136,176.1,136.1,175.9,136.3z M174.5,134c-0.2,0.1-0.3,0.2-0.3,0.4s0,0.4,0.1,0.6l0,0l1.2-0.7l0-0.1
|
||||
c-0.1-0.2-0.2-0.3-0.4-0.4C174.9,133.9,174.7,133.9,174.5,134z"/>
|
||||
<path class="st8" d="M176,133.1l-0.2-0.3l0.8-0.5l0.3,0.3c0-0.2,0-0.3,0.1-0.5c0.1-0.1,0.2-0.2,0.3-0.3c0,0,0.1,0,0.1-0.1
|
||||
c0,0,0.1,0,0.1,0l0.2,0.5l-0.3,0.1c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.1-0.1,0.2-0.1,0.4l0.8,1.5l0.4-0.2l0.2,0.3l-1.2,0.7l-0.2-0.3
|
||||
l0.3-0.3l-1.1-1.8L176,133.1z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st8" d="M141.1,151.8l-0.2-0.3l0.9-0.5l1.2,2.1l0.3-0.2l0.2-1l-0.3,0.1l-0.2-0.3l1.1-0.6l0.2,0.3l-0.3,0.2l-0.2,1.2
|
||||
l1.4,0.6l0.3-0.1l0.2,0.3l-1.1,0.6l-0.2-0.3l0.2-0.2l-1.2-0.5l-0.3,0.2l0.5,0.8l0.4-0.2l0.2,0.3l-1.2,0.7l-0.2-0.3l0.3-0.3l-1.7-3
|
||||
L141.1,151.8z"/>
|
||||
<path class="st8" d="M147.6,152c0,0.2,0,0.3-0.1,0.5c-0.1,0.1-0.2,0.3-0.4,0.4c-0.3,0.2-0.5,0.2-0.8,0.1c-0.3-0.1-0.5-0.3-0.7-0.7
|
||||
l-0.7-1.1l-0.3,0.1l-0.2-0.3l0.3-0.2l0.5-0.3l0.9,1.5c0.2,0.3,0.3,0.4,0.4,0.5s0.3,0,0.5-0.1c0.2-0.1,0.3-0.2,0.4-0.3
|
||||
c0.1-0.1,0.1-0.3,0.1-0.4l-0.9-1.5l-0.4,0.1L146,150l0.3-0.2l0.5-0.3l1.3,2.2l0.3-0.1l0.2,0.3l-0.7,0.4L147.6,152z"/>
|
||||
<path class="st8" d="M150.6,149.2c0.2,0.4,0.3,0.7,0.2,1c0,0.3-0.2,0.6-0.5,0.8c-0.2,0.1-0.3,0.1-0.5,0.2c-0.2,0-0.3,0-0.5-0.1
|
||||
l0.1,0.4l-0.4,0.2l-1.9-3.3l-0.4,0.2l-0.2-0.3l0.9-0.5l0.8,1.4c0-0.2,0.1-0.3,0.1-0.4c0.1-0.1,0.2-0.2,0.4-0.3
|
||||
c0.3-0.2,0.6-0.2,1,0S150.4,148.7,150.6,149.2L150.6,149.2z M150.1,149.4c-0.2-0.3-0.4-0.5-0.6-0.6c-0.2-0.1-0.4-0.1-0.7,0
|
||||
c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.1-0.1,0.3-0.1,0.4l0.7,1.1c0.1,0.1,0.3,0.1,0.4,0.1c0.1,0,0.3,0,0.4-0.1
|
||||
c0.2-0.1,0.3-0.3,0.4-0.5C150.4,149.9,150.3,149.7,150.1,149.4L150.1,149.4z"/>
|
||||
<path class="st8" d="M153,149.5c-0.4,0.2-0.7,0.3-1.1,0.1s-0.6-0.4-0.9-0.7l-0.1-0.1c-0.2-0.4-0.3-0.7-0.2-1.1
|
||||
c0.1-0.4,0.3-0.6,0.6-0.8c0.3-0.2,0.7-0.2,1-0.1s0.5,0.3,0.7,0.7l0.2,0.3l-1.7,1v0c0.1,0.2,0.3,0.4,0.5,0.5
|
||||
c0.2,0.1,0.4,0.1,0.6-0.1c0.2-0.1,0.3-0.2,0.4-0.3c0.1-0.1,0.2-0.2,0.2-0.4l0.4,0.2c0,0.1-0.1,0.3-0.2,0.4S153.2,149.3,153,149.5z
|
||||
M151.6,147.2c-0.2,0.1-0.3,0.2-0.3,0.4c0,0.2,0,0.4,0.1,0.6l0,0l1.2-0.7l0-0.1c-0.1-0.2-0.2-0.3-0.4-0.4S151.8,147.1,151.6,147.2
|
||||
z"/>
|
||||
<path class="st8" d="M152.4,145.2l-0.2-0.3l0.9-0.5l1.9,3.3l0.4-0.2l0.2,0.3l-1.2,0.7l-0.2-0.3l0.3-0.3l-1.7-3L152.4,145.2z"/>
|
||||
<path class="st8" d="M157.1,147.1c-0.4,0.2-0.7,0.3-1.1,0.1s-0.6-0.4-0.9-0.7l-0.1-0.1c-0.2-0.4-0.3-0.7-0.2-1.1
|
||||
c0.1-0.4,0.3-0.6,0.6-0.8c0.3-0.2,0.7-0.2,1-0.1s0.5,0.3,0.7,0.7l0.2,0.3l-1.7,1v0c0.1,0.2,0.3,0.4,0.5,0.5
|
||||
c0.2,0.1,0.4,0.1,0.6-0.1c0.2-0.1,0.3-0.2,0.4-0.3c0.1-0.1,0.2-0.2,0.2-0.4l0.4,0.2c0,0.1-0.1,0.3-0.2,0.4S157.3,147,157.1,147.1z
|
||||
M155.7,144.8c-0.2,0.1-0.3,0.2-0.3,0.4s0,0.4,0.1,0.6l0,0l1.2-0.7l0-0.1c-0.1-0.2-0.2-0.3-0.4-0.4
|
||||
C156.1,144.7,155.9,144.7,155.7,144.8z"/>
|
||||
<path class="st8" d="M157.5,142.6l0.4,0.6l0.5-0.3l0.2,0.3l-0.5,0.3l0.9,1.6c0.1,0.1,0.1,0.2,0.2,0.2c0.1,0,0.2,0,0.2,0
|
||||
c0,0,0.1-0.1,0.1-0.1c0,0,0.1-0.1,0.1-0.1l0.2,0.3c0,0.1-0.1,0.1-0.2,0.2c-0.1,0.1-0.2,0.1-0.2,0.2c-0.2,0.1-0.4,0.1-0.6,0.1
|
||||
c-0.2,0-0.3-0.2-0.5-0.4l-0.9-1.6l-0.4,0.2l-0.2-0.3l0.4-0.2l-0.4-0.6L157.5,142.6z"/>
|
||||
</g>
|
||||
<polygon class="st16" points="225.1,160.4 189.4,139.9 189.4,98.7 225.1,78.2 260.7,98.7 260.7,139.9 "/>
|
||||
<polygon class="st13" points="189.4,119.3 189.4,139.9 225.1,160.4 242.9,150.2 "/>
|
||||
<polygon class="st7" points="208.7,147.7 214.8,137.2 237.3,150.2 225.1,157.2 "/>
|
||||
<g>
|
||||
<path class="st8" d="M215.5,142.6c0.5,0.3,0.7,0.6,0.8,1c0.1,0.4,0,0.9-0.2,1.3l-0.3,0.5c-0.3,0.4-0.6,0.7-1,0.8
|
||||
c-0.4,0.1-0.9,0-1.3-0.2l-1.4-0.8l0.2-0.3l0.4,0.2l1.6-2.7l-0.3-0.3l0.2-0.3l0.4,0.2L215.5,142.6z M214.7,142.6l-1.6,2.7l0.6,0.3
|
||||
c0.3,0.2,0.6,0.2,0.9,0.1c0.3-0.1,0.6-0.3,0.7-0.6l0.3-0.5c0.2-0.3,0.2-0.6,0.2-1c-0.1-0.3-0.3-0.6-0.6-0.8L214.7,142.6z"/>
|
||||
<path class="st8" d="M216.2,145.9c0.2-0.4,0.5-0.6,0.8-0.8c0.3-0.1,0.7-0.1,1,0.1c0.4,0.2,0.6,0.5,0.6,0.9c0.1,0.4,0,0.7-0.2,1.1
|
||||
l0,0.1c-0.2,0.4-0.5,0.6-0.8,0.8c-0.3,0.1-0.7,0.1-1-0.1c-0.4-0.2-0.6-0.5-0.6-0.9C215.9,146.7,216,146.3,216.2,145.9L216.2,145.9
|
||||
z M216.7,146.2c-0.2,0.3-0.2,0.5-0.2,0.8c0,0.2,0.1,0.4,0.4,0.6c0.2,0.1,0.4,0.1,0.7,0c0.2-0.1,0.4-0.3,0.6-0.6l0-0.1
|
||||
c0.2-0.3,0.2-0.5,0.2-0.8c0-0.2-0.1-0.4-0.4-0.6c-0.2-0.1-0.4-0.1-0.7,0C217,145.7,216.8,145.9,216.7,146.2L216.7,146.2z"/>
|
||||
<path class="st8" d="M219.5,149.1c0.2,0.1,0.3,0.1,0.5,0.1c0.2,0,0.3-0.1,0.4-0.2l0.4,0.2l0,0c-0.1,0.2-0.3,0.4-0.6,0.4
|
||||
c-0.3,0.1-0.6,0-0.9-0.2c-0.4-0.2-0.6-0.5-0.6-0.9c-0.1-0.4,0-0.7,0.2-1.1l0.1-0.1c0.2-0.4,0.5-0.6,0.8-0.7s0.7-0.1,1.1,0.1
|
||||
c0.2,0.1,0.4,0.3,0.5,0.4s0.2,0.3,0.2,0.5l-0.3,0.6l-0.4-0.2l0.1-0.5c0-0.1-0.1-0.2-0.1-0.3c-0.1-0.1-0.2-0.2-0.3-0.2
|
||||
c-0.2-0.1-0.5-0.2-0.7,0c-0.2,0.1-0.4,0.3-0.5,0.6l-0.1,0.1c-0.2,0.3-0.2,0.5-0.2,0.7C219.2,148.8,219.3,149,219.5,149.1z"/>
|
||||
<path class="st8" d="M222.7,146.8l0.2-0.3l0.9,0.5l-1.2,2.1l0.3,0.2l0.9-0.4l-0.2-0.2l0.2-0.3l1.1,0.6l-0.2,0.3l-0.3-0.1l-1.1,0.4
|
||||
l0.2,1.5l0.3,0.2l-0.2,0.3l-1.1-0.6l0.2-0.3l0.3,0.1l-0.2-1.2l-0.3-0.2l-0.5,0.8l0.3,0.3l-0.2,0.3l-1.2-0.7l0.2-0.3l0.4,0.2l1.7-3
|
||||
L222.7,146.8z"/>
|
||||
<path class="st8" d="M224.8,152.7c-0.4-0.2-0.6-0.5-0.6-0.8s0-0.7,0.2-1.1l0.1-0.1c0.2-0.4,0.5-0.6,0.9-0.7s0.7-0.1,1,0.1
|
||||
c0.3,0.2,0.5,0.5,0.6,0.8c0.1,0.3,0,0.6-0.2,1l-0.2,0.3l-1.7-1l0,0c-0.1,0.2-0.2,0.5-0.2,0.7c0,0.2,0.2,0.4,0.4,0.5
|
||||
c0.2,0.1,0.3,0.1,0.5,0.2c0.1,0,0.3,0,0.4,0l0,0.4c-0.1,0-0.3,0-0.5,0S225.1,152.8,224.8,152.7z M226.1,150.3
|
||||
c-0.2-0.1-0.3-0.1-0.5,0c-0.2,0.1-0.4,0.2-0.5,0.4l0,0l1.2,0.7l0-0.1c0.1-0.2,0.1-0.4,0.1-0.5
|
||||
C226.4,150.6,226.3,150.4,226.1,150.3z"/>
|
||||
<path class="st8" d="M227.6,151.2l0.2-0.3l0.8,0.5l-0.2,0.4c0.1-0.1,0.3-0.1,0.4-0.2c0.1,0,0.3,0,0.4,0.1c0,0,0.1,0,0.1,0.1
|
||||
c0,0,0.1,0.1,0.1,0.1l-0.3,0.4l-0.3-0.2c-0.1-0.1-0.2-0.1-0.4-0.1c-0.1,0-0.2,0.1-0.3,0.1l-0.8,1.5l0.3,0.3l-0.2,0.3l-1.2-0.7
|
||||
l0.2-0.3l0.4,0.2l1.1-1.8L227.6,151.2z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st8" d="M194,130.3l0.2-0.3l0.9,0.5l-1.2,2.1l0.3,0.2l0.9-0.4l-0.2-0.2l0.2-0.3l1.1,0.6l-0.2,0.3l-0.3-0.1l-1.1,0.4
|
||||
l0.2,1.5l0.3,0.2l-0.2,0.3l-1.1-0.6l0.2-0.3l0.3,0.1l-0.2-1.2l-0.3-0.2l-0.5,0.8l0.3,0.3l-0.2,0.3l-1.2-0.7l0.2-0.3l0.4,0.2l1.7-3
|
||||
L194,130.3z"/>
|
||||
<path class="st8" d="M197.1,136.1c-0.2,0.1-0.3,0.1-0.5,0.1c-0.2,0-0.3,0-0.5-0.1c-0.3-0.2-0.4-0.4-0.5-0.6c-0.1-0.3,0-0.6,0.2-1
|
||||
l0.7-1.1l-0.3-0.2l0.2-0.3l0.3,0.2l0.5,0.3l-0.9,1.5c-0.2,0.3-0.2,0.5-0.2,0.6c0,0.1,0.1,0.3,0.3,0.4c0.2,0.1,0.3,0.1,0.5,0.1
|
||||
c0.1,0,0.3-0.1,0.4-0.1l0.9-1.5l-0.3-0.3l0.2-0.3l0.3,0.2l0.5,0.3l-1.3,2.2l0.3,0.2l-0.2,0.3l-0.7-0.4L197.1,136.1z"/>
|
||||
<path class="st8" d="M201,137.3c-0.2,0.4-0.5,0.6-0.8,0.7s-0.6,0.1-0.9-0.1c-0.2-0.1-0.3-0.2-0.4-0.3c-0.1-0.1-0.1-0.3-0.1-0.5
|
||||
l-0.2,0.3l-0.4-0.2l1.9-3.3l-0.3-0.3l0.2-0.3l0.9,0.5l-0.8,1.4c0.1-0.1,0.3-0.1,0.5-0.1s0.3,0.1,0.5,0.2c0.3,0.2,0.5,0.5,0.5,0.8
|
||||
S201.3,136.8,201,137.3L201,137.3z M200.6,136.9c0.2-0.3,0.3-0.6,0.3-0.8c0-0.2-0.1-0.4-0.3-0.6c-0.1-0.1-0.3-0.1-0.4-0.1
|
||||
c-0.1,0-0.3,0.1-0.4,0.1l-0.7,1.1c0,0.2,0,0.3,0.1,0.4c0.1,0.1,0.2,0.2,0.3,0.3c0.2,0.1,0.4,0.1,0.6,0
|
||||
C200.2,137.4,200.4,137.2,200.6,136.9L200.6,136.9z"/>
|
||||
<path class="st8" d="M202,139.4c-0.4-0.2-0.6-0.5-0.6-0.8c-0.1-0.4,0-0.7,0.2-1.1l0.1-0.1c0.2-0.4,0.5-0.6,0.9-0.7
|
||||
c0.4-0.1,0.7-0.1,1,0.1c0.3,0.2,0.5,0.5,0.6,0.8c0.1,0.3,0,0.6-0.2,1l-0.2,0.3l-1.7-1l0,0c-0.1,0.2-0.2,0.5-0.2,0.7
|
||||
c0,0.2,0.2,0.4,0.4,0.5c0.2,0.1,0.3,0.1,0.5,0.2c0.1,0,0.3,0,0.4,0l0,0.4c-0.1,0-0.3,0-0.5,0C202.4,139.6,202.2,139.6,202,139.4z
|
||||
M203.2,137.1c-0.2-0.1-0.3-0.1-0.5,0c-0.2,0.1-0.3,0.2-0.5,0.4l0,0l1.2,0.7l0-0.1c0.1-0.2,0.1-0.4,0.1-0.5
|
||||
C203.5,137.4,203.4,137.2,203.2,137.1z"/>
|
||||
<path class="st8" d="M205.3,136.8l0.2-0.3l0.9,0.5l-1.9,3.3l0.3,0.3l-0.2,0.3l-1.2-0.7l0.2-0.3l0.4,0.2l1.7-3L205.3,136.8z"/>
|
||||
<path class="st8" d="M206.1,141.8c-0.4-0.2-0.6-0.5-0.6-0.8c-0.1-0.4,0-0.7,0.2-1.1l0.1-0.1c0.2-0.4,0.5-0.6,0.9-0.7
|
||||
c0.4-0.1,0.7-0.1,1,0.1c0.3,0.2,0.5,0.5,0.6,0.8c0.1,0.3,0,0.6-0.2,1l-0.2,0.3l-1.7-1l0,0c-0.1,0.2-0.2,0.5-0.2,0.7
|
||||
c0,0.2,0.2,0.4,0.4,0.5c0.2,0.1,0.3,0.1,0.5,0.2c0.1,0,0.3,0,0.4,0l0,0.4c-0.1,0-0.3,0-0.5,0C206.5,142,206.3,141.9,206.1,141.8z
|
||||
M207.3,139.5c-0.2-0.1-0.3-0.1-0.5,0c-0.2,0.1-0.3,0.2-0.5,0.4l0,0l1.2,0.7l0-0.1c0.1-0.2,0.1-0.4,0.1-0.5
|
||||
C207.6,139.7,207.5,139.6,207.3,139.5z"/>
|
||||
<path class="st8" d="M210.2,139.9l-0.4,0.6l0.5,0.3l-0.2,0.3l-0.5-0.3l-0.9,1.6c-0.1,0.1-0.1,0.2-0.1,0.3c0,0.1,0.1,0.1,0.2,0.2
|
||||
c0,0,0.1,0,0.1,0.1c0.1,0,0.1,0,0.1,0.1l-0.1,0.4c-0.1,0-0.1,0-0.2,0c-0.1,0-0.2-0.1-0.3-0.1c-0.2-0.1-0.3-0.3-0.4-0.4
|
||||
c0-0.2,0-0.4,0.1-0.6l0.9-1.6l-0.4-0.2l0.2-0.3l0.4,0.2l0.4-0.6L210.2,139.9z"/>
|
||||
</g>
|
||||
<polygon class="st16" points="147.1,296.4 111.4,275.9 111.4,234.7 147.1,214.1 182.7,234.7 182.7,275.9 "/>
|
||||
<polygon class="st13" points="129.3,224.4 147.1,214.1 182.7,234.7 182.7,255.3 "/>
|
||||
<polygon class="st7" points="163.5,226.9 157.4,237.4 179.9,250.4 179.9,236.3 "/>
|
||||
<g>
|
||||
<path class="st8" d="M164.2,232.3c0.5,0.3,0.7,0.6,0.8,1c0.1,0.4,0,0.9-0.2,1.3l-0.3,0.5c-0.3,0.4-0.6,0.7-1,0.8
|
||||
c-0.4,0.1-0.9,0-1.3-0.2l-1.4-0.8l0.2-0.3l0.4,0.2l1.6-2.7l-0.3-0.3l0.2-0.3l0.4,0.2L164.2,232.3z M163.4,232.3l-1.6,2.7l0.6,0.3
|
||||
c0.3,0.2,0.6,0.2,0.9,0.1c0.3-0.1,0.6-0.3,0.7-0.6l0.3-0.5c0.2-0.3,0.3-0.6,0.2-1c-0.1-0.3-0.3-0.6-0.6-0.8L163.4,232.3z"/>
|
||||
<path class="st8" d="M164.9,235.6c0.2-0.4,0.5-0.6,0.8-0.8c0.3-0.1,0.7-0.1,1,0.1c0.4,0.2,0.6,0.5,0.6,0.9c0.1,0.4,0,0.7-0.2,1.1
|
||||
l0,0.1c-0.2,0.4-0.5,0.6-0.8,0.8c-0.3,0.1-0.7,0.1-1-0.1c-0.4-0.2-0.6-0.5-0.6-0.9C164.6,236.4,164.7,236,164.9,235.6L164.9,235.6
|
||||
z M165.4,235.9c-0.2,0.3-0.2,0.5-0.2,0.8c0,0.2,0.1,0.4,0.4,0.6c0.2,0.1,0.4,0.1,0.7,0c0.2-0.1,0.4-0.3,0.6-0.6l0-0.1
|
||||
c0.2-0.3,0.2-0.5,0.2-0.8c0-0.2-0.1-0.4-0.4-0.6c-0.2-0.1-0.4-0.1-0.7,0C165.8,235.4,165.6,235.6,165.4,235.9L165.4,235.9z"/>
|
||||
<path class="st8" d="M168.2,238.8c0.2,0.1,0.3,0.1,0.5,0.1c0.2,0,0.3-0.1,0.4-0.2l0.4,0.2l0,0c-0.1,0.2-0.3,0.4-0.6,0.4
|
||||
c-0.3,0.1-0.6,0-0.9-0.2c-0.4-0.2-0.6-0.5-0.6-0.9c-0.1-0.4,0-0.7,0.2-1.1l0.1-0.1c0.2-0.4,0.5-0.6,0.8-0.7
|
||||
c0.3-0.1,0.7-0.1,1.1,0.1c0.2,0.1,0.4,0.3,0.5,0.4s0.2,0.3,0.2,0.5L170,238l-0.4-0.2l0.1-0.5c0-0.1-0.1-0.2-0.1-0.3
|
||||
c-0.1-0.1-0.2-0.2-0.3-0.2c-0.2-0.1-0.5-0.2-0.7,0c-0.2,0.1-0.4,0.3-0.5,0.6l-0.1,0.1c-0.2,0.3-0.2,0.5-0.2,0.7
|
||||
C167.9,238.5,168,238.7,168.2,238.8z"/>
|
||||
<path class="st8" d="M171.4,236.5l0.2-0.3l0.9,0.5l-1.2,2.1l0.3,0.2l0.9-0.4l-0.2-0.2l0.2-0.3l1.1,0.6l-0.2,0.3L173,239l-1.1,0.4
|
||||
l0.2,1.5l0.3,0.2l-0.2,0.3l-1.1-0.6l0.2-0.3l0.3,0.1l-0.2-1.2l-0.3-0.2l-0.5,0.8l0.3,0.3l-0.2,0.3l-1.2-0.7l0.2-0.3l0.4,0.2l1.7-3
|
||||
L171.4,236.5z"/>
|
||||
<path class="st8" d="M173.6,242.4c-0.4-0.2-0.6-0.5-0.6-0.8c-0.1-0.4,0-0.7,0.2-1.1l0.1-0.1c0.2-0.4,0.5-0.6,0.9-0.7
|
||||
c0.4-0.1,0.7-0.1,1,0.1c0.3,0.2,0.5,0.5,0.6,0.8c0.1,0.3,0,0.6-0.2,1l-0.2,0.3l-1.7-1l0,0c-0.1,0.2-0.2,0.5-0.2,0.7
|
||||
c0,0.2,0.2,0.4,0.4,0.5c0.2,0.1,0.3,0.1,0.5,0.2s0.3,0,0.4,0l0,0.4c-0.1,0-0.3,0-0.5,0C174,242.6,173.8,242.5,173.6,242.4z
|
||||
M174.8,240c-0.2-0.1-0.3-0.1-0.5,0c-0.2,0.1-0.4,0.2-0.5,0.4l0,0l1.2,0.7l0-0.1c0.1-0.2,0.1-0.4,0.1-0.5
|
||||
C175.1,240.3,175,240.1,174.8,240z"/>
|
||||
<path class="st8" d="M176.3,240.9l0.2-0.3l0.8,0.5l-0.2,0.4c0.1-0.1,0.3-0.1,0.4-0.2c0.2,0,0.3,0,0.4,0.1c0,0,0.1,0,0.1,0.1
|
||||
c0,0,0.1,0.1,0.1,0.1l-0.3,0.4l-0.3-0.2c-0.1-0.1-0.2-0.1-0.4-0.1c-0.1,0-0.2,0.1-0.3,0.1l-0.8,1.5l0.3,0.3l-0.2,0.3l-1.2-0.7
|
||||
l0.2-0.3l0.4,0.2l1.1-1.8L176.3,240.9z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st8" d="M142.7,220l0.2-0.3l0.9,0.5l-1.2,2.1l0.3,0.2l0.9-0.4l-0.2-0.2l0.2-0.3l1.1,0.6l-0.2,0.3l-0.3-0.1l-1.1,0.4
|
||||
l0.2,1.5l0.3,0.2l-0.2,0.3l-1.1-0.6l0.2-0.3l0.3,0.1l-0.2-1.2l-0.3-0.2l-0.5,0.8l0.3,0.3l-0.2,0.3l-1.2-0.7l0.2-0.3l0.4,0.2l1.7-3
|
||||
L142.7,220z"/>
|
||||
<path class="st8" d="M145.8,225.8c-0.2,0.1-0.3,0.1-0.5,0.1s-0.3,0-0.5-0.1c-0.3-0.2-0.4-0.4-0.5-0.6s0-0.6,0.2-1l0.7-1.1
|
||||
l-0.3-0.2l0.2-0.3l0.3,0.2l0.5,0.3l-0.9,1.5c-0.2,0.3-0.2,0.5-0.2,0.6s0.1,0.3,0.3,0.4c0.2,0.1,0.3,0.1,0.5,0.1
|
||||
c0.1,0,0.3-0.1,0.4-0.1l0.9-1.5l-0.3-0.3l0.2-0.3l0.3,0.2l0.5,0.3l-1.3,2.2l0.3,0.2l-0.2,0.3l-0.7-0.4L145.8,225.8z"/>
|
||||
<path class="st8" d="M149.8,227c-0.2,0.4-0.5,0.6-0.8,0.7c-0.3,0.1-0.6,0.1-0.9-0.1c-0.2-0.1-0.3-0.2-0.4-0.3
|
||||
c-0.1-0.1-0.1-0.3-0.1-0.5l-0.2,0.3l-0.4-0.2l1.9-3.3l-0.3-0.3l0.2-0.3l0.9,0.5l-0.8,1.4c0.1-0.1,0.3-0.1,0.5-0.1
|
||||
c0.2,0,0.3,0.1,0.5,0.2c0.3,0.2,0.5,0.5,0.5,0.8C150.1,226.1,150,226.5,149.8,227L149.8,227z M149.3,226.6
|
||||
c0.2-0.3,0.3-0.6,0.3-0.8c0-0.2-0.1-0.4-0.3-0.6c-0.1-0.1-0.3-0.1-0.4-0.1c-0.1,0-0.3,0.1-0.4,0.1l-0.7,1.1c0,0.2,0,0.3,0.1,0.4
|
||||
s0.2,0.2,0.3,0.3c0.2,0.1,0.4,0.1,0.6,0C149,227.1,149.1,227,149.3,226.6L149.3,226.6z"/>
|
||||
<path class="st8" d="M150.7,229.1c-0.4-0.2-0.6-0.5-0.6-0.8c-0.1-0.4,0-0.7,0.2-1.1l0.1-0.1c0.2-0.4,0.5-0.6,0.9-0.7
|
||||
c0.4-0.1,0.7-0.1,1,0.1c0.3,0.2,0.5,0.5,0.6,0.8s0,0.6-0.2,1l-0.2,0.3l-1.7-1l0,0c-0.1,0.2-0.2,0.5-0.2,0.7s0.2,0.4,0.4,0.5
|
||||
c0.2,0.1,0.3,0.1,0.5,0.2c0.1,0,0.3,0,0.4,0l0,0.4c-0.1,0-0.3,0-0.5,0C151.1,229.3,150.9,229.3,150.7,229.1z M151.9,226.8
|
||||
c-0.2-0.1-0.3-0.1-0.5,0c-0.2,0.1-0.4,0.2-0.5,0.4l0,0l1.2,0.7l0-0.1c0.1-0.2,0.1-0.4,0.1-0.5
|
||||
C152.2,227.1,152.1,226.9,151.9,226.8z"/>
|
||||
<path class="st8" d="M154,226.5l0.2-0.3l0.9,0.5l-1.9,3.3l0.3,0.3l-0.2,0.3l-1.2-0.7l0.2-0.3l0.4,0.2l1.7-3L154,226.5z"/>
|
||||
<path class="st8" d="M154.8,231.5c-0.4-0.2-0.6-0.5-0.6-0.8c-0.1-0.4,0-0.7,0.2-1.1l0.1-0.1c0.2-0.4,0.5-0.6,0.9-0.7
|
||||
c0.4-0.1,0.7-0.1,1,0.1c0.3,0.2,0.5,0.5,0.6,0.8s0,0.6-0.2,1l-0.2,0.3l-1.7-1l0,0c-0.1,0.2-0.2,0.5-0.2,0.7s0.2,0.4,0.4,0.5
|
||||
c0.2,0.1,0.3,0.1,0.5,0.2c0.1,0,0.3,0,0.4,0l0,0.4c-0.1,0-0.3,0-0.5,0C155.2,231.7,155,231.7,154.8,231.5z M156.1,229.2
|
||||
c-0.2-0.1-0.3-0.1-0.5,0c-0.2,0.1-0.4,0.2-0.5,0.4l0,0l1.2,0.7l0-0.1c0.1-0.2,0.1-0.4,0.1-0.5
|
||||
C156.4,229.5,156.3,229.3,156.1,229.2z"/>
|
||||
<path class="st8" d="M158.9,229.6l-0.4,0.6l0.5,0.3l-0.2,0.3l-0.5-0.3l-0.9,1.6c-0.1,0.1-0.1,0.2-0.1,0.3c0,0.1,0.1,0.1,0.2,0.2
|
||||
c0,0,0.1,0,0.1,0.1c0.1,0,0.1,0,0.1,0.1l-0.1,0.4c-0.1,0-0.1,0-0.2,0c-0.1,0-0.2-0.1-0.3-0.1c-0.2-0.1-0.3-0.3-0.4-0.4
|
||||
c0-0.2,0-0.4,0.1-0.6l0.9-1.6l-0.4-0.2l0.2-0.3l0.4,0.2l0.4-0.6L158.9,229.6z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="service">
|
||||
</g>
|
||||
<g id="pods">
|
||||
</g>
|
||||
<g id="IP">
|
||||
</g>
|
||||
<g id="deployments">
|
||||
</g>
|
||||
<g id="containers_x2F_volumes">
|
||||
</g>
|
||||
<g id="labels_x2F_selectors">
|
||||
</g>
|
||||
<g id="description">
|
||||
<g>
|
||||
<path class="st42" d="M374.4,188.6L374.4,188.6l-2.8,6.8h-0.8l-2.8-6.8l0,0l0.1,3.5v2.5l1,0.2v0.7h-3.1v-0.7l1-0.2v-6.7l-1-0.2
|
||||
v-0.7h1h1.5l2.7,6.9h0l2.7-6.9h2.4v0.7l-1,0.2v6.7l1,0.2v0.7h-3.1v-0.7l1-0.2V192L374.4,188.6z"/>
|
||||
<path class="st42" d="M381.5,195.4c0-0.2-0.1-0.3-0.1-0.5s0-0.3,0-0.4c-0.2,0.3-0.5,0.5-0.8,0.7s-0.7,0.3-1.1,0.3
|
||||
c-0.7,0-1.2-0.2-1.5-0.5s-0.5-0.8-0.5-1.4c0-0.6,0.2-1.1,0.7-1.4s1.2-0.5,2-0.5h1.2v-0.7c0-0.4-0.1-0.7-0.4-0.9s-0.6-0.3-1-0.3
|
||||
c-0.3,0-0.5,0-0.8,0.1s-0.4,0.2-0.5,0.3l-0.1,0.7h-0.9v-1.2c0.3-0.2,0.6-0.4,1-0.6s0.9-0.2,1.3-0.2c0.7,0,1.3,0.2,1.7,0.6
|
||||
s0.7,0.9,0.7,1.6v3.1c0,0.1,0,0.2,0,0.2s0,0.2,0,0.2l0.5,0.1v0.7H381.5z M379.6,194.6c0.4,0,0.7-0.1,1-0.3s0.5-0.4,0.7-0.7v-1
|
||||
h-1.2c-0.5,0-0.8,0.1-1.1,0.3s-0.4,0.5-0.4,0.8c0,0.3,0.1,0.5,0.3,0.6S379.3,194.6,379.6,194.6z"/>
|
||||
<path class="st42" d="M388.8,191.1h-0.9l-0.2-0.8c-0.1-0.1-0.3-0.2-0.5-0.3s-0.5-0.1-0.7-0.1c-0.4,0-0.7,0.1-0.9,0.3
|
||||
s-0.3,0.4-0.3,0.7c0,0.2,0.1,0.4,0.3,0.6s0.5,0.3,1.1,0.4c0.8,0.2,1.4,0.4,1.8,0.7s0.6,0.7,0.6,1.2c0,0.6-0.2,1-0.7,1.4
|
||||
s-1,0.5-1.8,0.5c-0.5,0-0.9-0.1-1.3-0.2s-0.7-0.3-1-0.5l0-1.4h0.9l0.2,0.8c0.1,0.1,0.3,0.2,0.5,0.3s0.5,0.1,0.7,0.1
|
||||
c0.4,0,0.7-0.1,1-0.2s0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.6s-0.6-0.3-1.1-0.4c-0.8-0.2-1.3-0.4-1.7-0.7s-0.6-0.7-0.6-1.2
|
||||
c0-0.5,0.2-1,0.7-1.3s1-0.5,1.7-0.5c0.5,0,0.9,0.1,1.3,0.2s0.7,0.3,1,0.5L388.8,191.1z"/>
|
||||
<path class="st42" d="M392.1,187.5v1.5h1.2v0.9h-1.2v3.8c0,0.3,0.1,0.5,0.2,0.6s0.3,0.2,0.5,0.2c0.1,0,0.2,0,0.3,0s0.2,0,0.3-0.1
|
||||
l0.2,0.8c-0.1,0.1-0.3,0.1-0.5,0.2s-0.4,0.1-0.6,0.1c-0.5,0-0.8-0.1-1.1-0.4s-0.4-0.7-0.4-1.3v-3.8h-1v-0.9h1v-1.5H392.1z"/>
|
||||
<path class="st42" d="M397.4,195.5c-0.9,0-1.6-0.3-2.1-0.9s-0.8-1.4-0.8-2.3v-0.3c0-0.9,0.3-1.7,0.8-2.3s1.2-0.9,1.9-0.9
|
||||
c0.9,0,1.5,0.3,1.9,0.8s0.7,1.2,0.7,2.1v0.7h-4.1l0,0c0,0.6,0.2,1.1,0.5,1.5s0.7,0.6,1.2,0.6c0.4,0,0.7-0.1,1-0.2s0.5-0.3,0.8-0.5
|
||||
l0.5,0.8c-0.2,0.2-0.5,0.4-0.9,0.6S397.9,195.5,397.4,195.5z M397.2,189.9c-0.4,0-0.7,0.2-1,0.5s-0.4,0.7-0.5,1.2l0,0h2.9v-0.2
|
||||
c0-0.5-0.1-0.8-0.4-1.1S397.7,189.9,397.2,189.9z"/>
|
||||
<path class="st42" d="M400.9,189.8v-0.7h2l0.1,0.9c0.2-0.3,0.4-0.6,0.7-0.8s0.6-0.3,0.9-0.3c0.1,0,0.2,0,0.3,0s0.2,0,0.2,0
|
||||
l-0.2,1.1l-0.7,0c-0.3,0-0.6,0.1-0.8,0.2s-0.4,0.3-0.5,0.6v3.6l1,0.2v0.7h-3.1v-0.7l1-0.2V190L400.9,189.8z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st42" d="M366,230.1l1-0.2v-4.5l-1-0.2v-0.7h2l0.1,0.9c0.2-0.3,0.5-0.6,0.8-0.8s0.7-0.3,1.1-0.3
|
||||
c0.7,0,1.2,0.2,1.6,0.6s0.6,1,0.6,1.9v3.1l1,0.2v0.7H370v-0.7l1-0.2v-3.1c0-0.6-0.1-1-0.3-1.2s-0.6-0.4-1-0.4
|
||||
c-0.3,0-0.6,0.1-0.9,0.2s-0.5,0.4-0.6,0.7v3.7l1,0.2v0.7H366V230.1z"/>
|
||||
<path class="st42" d="M373.9,227.6c0-0.9,0.3-1.7,0.8-2.3s1.2-0.9,2.1-0.9c0.9,0,1.6,0.3,2.1,0.9s0.8,1.4,0.8,2.3v0.1
|
||||
c0,0.9-0.3,1.7-0.8,2.3s-1.2,0.9-2.1,0.9c-0.9,0-1.6-0.3-2.1-0.9s-0.8-1.4-0.8-2.3V227.6z M375,227.7c0,0.7,0.1,1.2,0.4,1.7
|
||||
s0.7,0.7,1.3,0.7c0.5,0,1-0.2,1.2-0.7s0.4-1,0.4-1.7v-0.1c0-0.7-0.1-1.2-0.4-1.7s-0.7-0.7-1.3-0.7s-1,0.2-1.3,0.7s-0.4,1-0.4,1.7
|
||||
V227.7z"/>
|
||||
<path class="st42" d="M384.9,230c-0.2,0.3-0.5,0.5-0.8,0.7s-0.6,0.2-1,0.2c-0.8,0-1.4-0.3-1.8-0.8s-0.7-1.3-0.7-2.2v-0.1
|
||||
c0-1,0.2-1.8,0.7-2.5s1-0.9,1.8-0.9c0.4,0,0.7,0.1,1,0.2s0.5,0.3,0.7,0.6v-2.6l-1-0.2v-0.7h1h1.2v8.2l1,0.2v0.7h-2L384.9,230z
|
||||
M381.7,227.9c0,0.6,0.1,1.1,0.4,1.5s0.7,0.6,1.2,0.6c0.3,0,0.6-0.1,0.9-0.2s0.4-0.4,0.6-0.7v-2.9c-0.1-0.3-0.3-0.5-0.6-0.6
|
||||
s-0.5-0.2-0.9-0.2c-0.6,0-1,0.2-1.2,0.7s-0.4,1.1-0.4,1.8V227.9z"/>
|
||||
<path class="st42" d="M390.7,230.9c-0.9,0-1.6-0.3-2.1-0.9s-0.8-1.4-0.8-2.3v-0.3c0-0.9,0.3-1.7,0.8-2.3s1.2-0.9,1.9-0.9
|
||||
c0.9,0,1.5,0.3,1.9,0.8s0.7,1.2,0.7,2.1v0.7H389l0,0c0,0.6,0.2,1.1,0.5,1.5s0.7,0.6,1.2,0.6c0.4,0,0.7-0.1,1-0.2s0.5-0.3,0.8-0.5
|
||||
l0.5,0.8c-0.2,0.2-0.5,0.4-0.9,0.6S391.2,230.9,390.7,230.9z M390.5,225.3c-0.4,0-0.7,0.2-1,0.5s-0.4,0.7-0.5,1.2l0,0h2.9v-0.2
|
||||
c0-0.5-0.1-0.8-0.4-1.1S391,225.3,390.5,225.3z"/>
|
||||
<path class="st42" d="M397.1,232.5l1-0.2v-7l-1-0.2v-0.7h1.9l0.1,0.8c0.2-0.3,0.5-0.5,0.8-0.7s0.7-0.2,1.1-0.2
|
||||
c0.8,0,1.4,0.3,1.8,0.9s0.7,1.4,0.7,2.5v0.1c0,0.9-0.2,1.7-0.7,2.2s-1,0.8-1.8,0.8c-0.4,0-0.7-0.1-1-0.2s-0.5-0.3-0.8-0.6v2.2
|
||||
l1,0.2v0.7h-3.1V232.5z M402.3,227.7c0-0.7-0.1-1.3-0.4-1.8s-0.7-0.7-1.3-0.7c-0.3,0-0.6,0.1-0.8,0.2s-0.4,0.4-0.6,0.6v3.1
|
||||
c0.1,0.3,0.3,0.5,0.6,0.6s0.5,0.2,0.9,0.2c0.5,0,1-0.2,1.2-0.6s0.4-0.9,0.4-1.6V227.7z"/>
|
||||
<path class="st42" d="M404.5,225.2v-0.7h2l0.1,0.9c0.2-0.3,0.4-0.6,0.7-0.8s0.6-0.3,0.9-0.3c0.1,0,0.2,0,0.3,0s0.2,0,0.2,0
|
||||
l-0.2,1.1l-0.7,0c-0.3,0-0.6,0.1-0.8,0.2s-0.4,0.3-0.5,0.6v3.6l1,0.2v0.7h-3.1v-0.7l1-0.2v-4.5L404.5,225.2z"/>
|
||||
<path class="st42" d="M409.3,227.6c0-0.9,0.3-1.7,0.8-2.3s1.2-0.9,2.1-0.9c0.9,0,1.6,0.3,2.1,0.9s0.8,1.4,0.8,2.3v0.1
|
||||
c0,0.9-0.3,1.7-0.8,2.3s-1.2,0.9-2.1,0.9c-0.9,0-1.6-0.3-2.1-0.9s-0.8-1.4-0.8-2.3V227.6z M410.5,227.7c0,0.7,0.1,1.2,0.4,1.7
|
||||
s0.7,0.7,1.3,0.7c0.5,0,1-0.2,1.2-0.7s0.4-1,0.4-1.7v-0.1c0-0.7-0.1-1.2-0.4-1.7s-0.7-0.7-1.3-0.7s-1,0.2-1.3,0.7s-0.4,1-0.4,1.7
|
||||
V227.7z"/>
|
||||
<path class="st42" d="M418.9,230c0.4,0,0.7-0.1,1-0.4s0.4-0.5,0.4-0.9h1l0,0c0,0.5-0.2,1-0.7,1.5s-1.1,0.6-1.8,0.6
|
||||
c-0.9,0-1.6-0.3-2.1-0.9s-0.7-1.4-0.7-2.3v-0.2c0-0.9,0.2-1.7,0.7-2.3s1.2-0.9,2.1-0.9c0.5,0,1,0.1,1.4,0.3s0.7,0.4,1,0.7l0.1,1.4
|
||||
h-0.9l-0.3-1c-0.1-0.1-0.3-0.2-0.5-0.3s-0.5-0.1-0.7-0.1c-0.6,0-1,0.2-1.3,0.7s-0.4,1-0.4,1.6v0.2c0,0.6,0.1,1.2,0.4,1.6
|
||||
S418.3,230,418.9,230z"/>
|
||||
<path class="st42" d="M425.4,230.9c-0.9,0-1.6-0.3-2.1-0.9s-0.8-1.4-0.8-2.3v-0.3c0-0.9,0.3-1.7,0.8-2.3s1.2-0.9,1.9-0.9
|
||||
c0.9,0,1.5,0.3,1.9,0.8s0.7,1.2,0.7,2.1v0.7h-4.1l0,0c0,0.6,0.2,1.1,0.5,1.5s0.7,0.6,1.2,0.6c0.4,0,0.7-0.1,1-0.2s0.5-0.3,0.8-0.5
|
||||
l0.5,0.8c-0.2,0.2-0.5,0.4-0.9,0.6S426,230.9,425.4,230.9z M425.3,225.3c-0.4,0-0.7,0.2-1,0.5s-0.4,0.7-0.5,1.2l0,0h2.9v-0.2
|
||||
c0-0.5-0.1-0.8-0.4-1.1S425.7,225.3,425.3,225.3z"/>
|
||||
<path class="st42" d="M433.8,226.5H433l-0.2-0.8c-0.1-0.1-0.3-0.2-0.5-0.3s-0.5-0.1-0.7-0.1c-0.4,0-0.7,0.1-0.9,0.3
|
||||
s-0.3,0.4-0.3,0.7c0,0.2,0.1,0.4,0.3,0.6s0.5,0.3,1.1,0.4c0.8,0.2,1.4,0.4,1.8,0.7s0.6,0.7,0.6,1.2c0,0.6-0.2,1-0.7,1.4
|
||||
s-1,0.5-1.8,0.5c-0.5,0-0.9-0.1-1.3-0.2s-0.7-0.3-1-0.5l0-1.4h0.9l0.2,0.8c0.1,0.1,0.3,0.2,0.5,0.3s0.5,0.1,0.7,0.1
|
||||
c0.4,0,0.7-0.1,1-0.2s0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.6s-0.6-0.3-1.1-0.4c-0.8-0.2-1.3-0.4-1.7-0.7s-0.6-0.7-0.6-1.2
|
||||
c0-0.5,0.2-1,0.7-1.3s1-0.5,1.7-0.5c0.5,0,0.9,0.1,1.3,0.2s0.7,0.3,1,0.5L433.8,226.5z"/>
|
||||
<path class="st42" d="M440,226.5h-0.9l-0.2-0.8c-0.1-0.1-0.3-0.2-0.5-0.3s-0.5-0.1-0.7-0.1c-0.4,0-0.7,0.1-0.9,0.3
|
||||
s-0.3,0.4-0.3,0.7c0,0.2,0.1,0.4,0.3,0.6s0.5,0.3,1.1,0.4c0.8,0.2,1.4,0.4,1.8,0.7s0.6,0.7,0.6,1.2c0,0.6-0.2,1-0.7,1.4
|
||||
s-1,0.5-1.8,0.5c-0.5,0-0.9-0.1-1.3-0.2s-0.7-0.3-1-0.5l0-1.4h0.9l0.2,0.8c0.1,0.1,0.3,0.2,0.5,0.3s0.5,0.1,0.7,0.1
|
||||
c0.4,0,0.7-0.1,1-0.2s0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.6s-0.6-0.3-1.1-0.4c-0.8-0.2-1.3-0.4-1.7-0.7s-0.6-0.7-0.6-1.2
|
||||
c0-0.5,0.2-1,0.7-1.3s1-0.5,1.7-0.5c0.5,0,0.9,0.1,1.3,0.2s0.7,0.3,1,0.5L440,226.5z"/>
|
||||
<path class="st42" d="M444.1,230.9c-0.9,0-1.6-0.3-2.1-0.9s-0.8-1.4-0.8-2.3v-0.3c0-0.9,0.3-1.7,0.8-2.3s1.2-0.9,1.9-0.9
|
||||
c0.9,0,1.5,0.3,1.9,0.8s0.7,1.2,0.7,2.1v0.7h-4.1l0,0c0,0.6,0.2,1.1,0.5,1.5s0.7,0.6,1.2,0.6c0.4,0,0.7-0.1,1-0.2s0.5-0.3,0.8-0.5
|
||||
l0.5,0.8c-0.2,0.2-0.5,0.4-0.9,0.6S444.6,230.9,444.1,230.9z M443.9,225.3c-0.4,0-0.7,0.2-1,0.5s-0.4,0.7-0.5,1.2l0,0h2.9v-0.2
|
||||
c0-0.5-0.1-0.8-0.4-1.1S444.4,225.3,443.9,225.3z"/>
|
||||
<path class="st42" d="M452.5,226.5h-0.9l-0.2-0.8c-0.1-0.1-0.3-0.2-0.5-0.3s-0.5-0.1-0.7-0.1c-0.4,0-0.7,0.1-0.9,0.3
|
||||
s-0.3,0.4-0.3,0.7c0,0.2,0.1,0.4,0.3,0.6s0.5,0.3,1.1,0.4c0.8,0.2,1.4,0.4,1.8,0.7s0.6,0.7,0.6,1.2c0,0.6-0.2,1-0.7,1.4
|
||||
s-1,0.5-1.8,0.5c-0.5,0-0.9-0.1-1.3-0.2s-0.7-0.3-1-0.5l0-1.4h0.9l0.2,0.8c0.1,0.1,0.3,0.2,0.5,0.3s0.5,0.1,0.7,0.1
|
||||
c0.4,0,0.7-0.1,1-0.2s0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.6s-0.6-0.3-1.1-0.4c-0.8-0.2-1.3-0.4-1.7-0.7s-0.6-0.7-0.6-1.2
|
||||
c0-0.5,0.2-1,0.7-1.3s1-0.5,1.7-0.5c0.5,0,0.9,0.1,1.3,0.2s0.7,0.3,1,0.5L452.5,226.5z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st42" d="M374.4,111.8v0.7l-1,0.2v7.6h-1.2l-4.1-6.6l0,0v5.7l1,0.2v0.7h-3.1v-0.7l1-0.2v-6.7l-1-0.2v-0.7h1h1.2
|
||||
l4.1,6.6l0,0v-5.7l-1-0.2v-0.7h2.1H374.4z"/>
|
||||
<path class="st42" d="M375.3,117.1c0-0.9,0.3-1.7,0.8-2.3s1.2-0.9,2.1-0.9c0.9,0,1.6,0.3,2.1,0.9s0.8,1.4,0.8,2.3v0.1
|
||||
c0,0.9-0.3,1.7-0.8,2.3s-1.2,0.9-2.1,0.9c-0.9,0-1.6-0.3-2.1-0.9s-0.8-1.4-0.8-2.3V117.1z M376.5,117.2c0,0.7,0.1,1.2,0.4,1.7
|
||||
s0.7,0.7,1.3,0.7c0.5,0,1-0.2,1.2-0.7s0.4-1,0.4-1.7v-0.1c0-0.7-0.1-1.2-0.4-1.7s-0.7-0.7-1.3-0.7s-1,0.2-1.3,0.7s-0.4,1-0.4,1.7
|
||||
V117.2z"/>
|
||||
<path class="st42" d="M386.3,119.5c-0.2,0.3-0.5,0.5-0.8,0.7s-0.6,0.2-1,0.2c-0.8,0-1.4-0.3-1.8-0.8s-0.7-1.3-0.7-2.2v-0.1
|
||||
c0-1,0.2-1.8,0.7-2.5s1-0.9,1.8-0.9c0.4,0,0.7,0.1,1,0.2s0.5,0.3,0.7,0.6v-2.6l-1-0.2v-0.7h1h1.2v8.2l1,0.2v0.7h-2L386.3,119.5z
|
||||
M383.2,117.4c0,0.6,0.1,1.1,0.4,1.5s0.7,0.6,1.2,0.6c0.3,0,0.6-0.1,0.9-0.2s0.4-0.4,0.6-0.7v-2.9c-0.1-0.3-0.3-0.5-0.6-0.6
|
||||
s-0.5-0.2-0.9-0.2c-0.6,0-1,0.2-1.2,0.7s-0.4,1.1-0.4,1.8V117.4z"/>
|
||||
<path class="st42" d="M392.2,120.4c-0.9,0-1.6-0.3-2.1-0.9s-0.8-1.4-0.8-2.3V117c0-0.9,0.3-1.7,0.8-2.3s1.2-0.9,1.9-0.9
|
||||
c0.9,0,1.5,0.3,1.9,0.8s0.7,1.2,0.7,2.1v0.7h-4.1l0,0c0,0.6,0.2,1.1,0.5,1.5s0.7,0.6,1.2,0.6c0.4,0,0.7-0.1,1-0.2s0.5-0.3,0.8-0.5
|
||||
l0.5,0.8c-0.2,0.2-0.5,0.4-0.9,0.6S392.7,120.4,392.2,120.4z M392,114.8c-0.4,0-0.7,0.2-1,0.5s-0.4,0.7-0.5,1.2l0,0h2.9v-0.2
|
||||
c0-0.5-0.1-0.8-0.4-1.1S392.5,114.8,392,114.8z"/>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st42" d="M122.4,356.6l1-0.2v-6.9l-1-0.2v-1.2h4v1.2l-1,0.2v2.6h0.8l1.9-2.7l-0.6-0.1v-1.2h3.8v1.2l-1,0.2l-2.4,3.2
|
||||
l2.7,3.8l1,0.2v1.2h-3.8v-1.2l0.6-0.1l-1.9-2.8h-1.1v2.7l1,0.2v1.2h-4V356.6z"/>
|
||||
<path class="st42" d="M137,356.9c-0.2,0.3-0.5,0.6-0.9,0.8c-0.3,0.2-0.7,0.3-1.2,0.3c-0.8,0-1.4-0.2-1.8-0.7
|
||||
c-0.4-0.5-0.6-1.2-0.6-2.3v-3l-0.8-0.2v-1.2h0.8h1.9v4.3c0,0.5,0.1,0.9,0.3,1.1c0.2,0.2,0.4,0.3,0.8,0.3c0.3,0,0.6,0,0.8-0.1
|
||||
s0.4-0.2,0.5-0.4V352l-0.8-0.2v-1.2h0.8h1.9v5.8l0.9,0.2v1.2h-2.6L137,356.9z"/>
|
||||
<path class="st42" d="M147.4,354.4c0,1.1-0.2,1.9-0.7,2.6c-0.5,0.6-1.2,1-2.1,1c-0.4,0-0.8-0.1-1.1-0.3c-0.3-0.2-0.6-0.4-0.8-0.8
|
||||
l-0.1,0.9H141v-9l-1-0.2v-1.2h3v3.9c0.2-0.3,0.5-0.5,0.7-0.7c0.3-0.2,0.6-0.2,1-0.2c0.9,0,1.6,0.3,2.1,1c0.5,0.7,0.7,1.6,0.7,2.8
|
||||
V354.4z M145.5,354.3c0-0.7-0.1-1.3-0.3-1.7c-0.2-0.4-0.6-0.6-1.1-0.6c-0.3,0-0.6,0.1-0.8,0.2c-0.2,0.1-0.4,0.3-0.5,0.5v3
|
||||
c0.1,0.2,0.3,0.4,0.5,0.5c0.2,0.1,0.5,0.2,0.8,0.2c0.5,0,0.8-0.2,1-0.5s0.3-0.9,0.3-1.5V354.3z"/>
|
||||
<path class="st42" d="M151.8,358c-1,0-1.9-0.3-2.5-1c-0.6-0.7-0.9-1.5-0.9-2.5v-0.3c0-1.1,0.3-1.9,0.9-2.6c0.6-0.7,1.4-1,2.4-1
|
||||
c1,0,1.7,0.3,2.3,0.9c0.5,0.6,0.8,1.4,0.8,2.4v1.1h-4.3l0,0c0,0.5,0.2,0.9,0.5,1.2c0.3,0.3,0.7,0.5,1.1,0.5c0.4,0,0.8,0,1.1-0.1
|
||||
c0.3-0.1,0.6-0.2,0.9-0.4l0.5,1.2c-0.3,0.2-0.7,0.4-1.2,0.6C152.9,357.9,152.4,358,151.8,358z M151.6,352c-0.4,0-0.6,0.1-0.8,0.4
|
||||
c-0.2,0.3-0.3,0.6-0.4,1.1l0,0h2.4v-0.2c0-0.4-0.1-0.7-0.3-1S152,352,151.6,352z"/>
|
||||
<path class="st42" d="M155.7,356.6l0.9-0.2V352l-1-0.2v-1.2h2.8l0.1,1c0.2-0.4,0.4-0.7,0.7-0.9c0.3-0.2,0.6-0.3,0.9-0.3
|
||||
c0.1,0,0.2,0,0.3,0c0.1,0,0.2,0,0.3,0.1l-0.2,1.8l-0.8,0c-0.3,0-0.5,0.1-0.7,0.2c-0.2,0.1-0.3,0.3-0.4,0.5v3.5l0.9,0.2v1.2h-3.8
|
||||
V356.6z"/>
|
||||
<path class="st42" d="M161.2,356.6l0.9-0.2V352l-1-0.2v-1.2h2.8l0.1,1c0.2-0.4,0.5-0.7,0.9-0.9s0.7-0.3,1.2-0.3
|
||||
c0.7,0,1.3,0.2,1.7,0.7s0.6,1.2,0.6,2.1v3.1l0.9,0.2v1.2h-3.7v-1.2l0.8-0.2v-3.1c0-0.5-0.1-0.8-0.3-1c-0.2-0.2-0.5-0.3-0.9-0.3
|
||||
c-0.3,0-0.5,0.1-0.7,0.2c-0.2,0.1-0.4,0.3-0.5,0.4v3.9l0.8,0.2v1.2h-3.7V356.6z"/>
|
||||
<path class="st42" d="M173.3,358c-1,0-1.9-0.3-2.5-1c-0.6-0.7-0.9-1.5-0.9-2.5v-0.3c0-1.1,0.3-1.9,0.9-2.6c0.6-0.7,1.4-1,2.4-1
|
||||
c1,0,1.7,0.3,2.3,0.9c0.5,0.6,0.8,1.4,0.8,2.4v1.1h-4.3l0,0c0,0.5,0.2,0.9,0.5,1.2c0.3,0.3,0.7,0.5,1.1,0.5c0.4,0,0.8,0,1.1-0.1
|
||||
c0.3-0.1,0.6-0.2,0.9-0.4l0.5,1.2c-0.3,0.2-0.7,0.4-1.2,0.6C174.4,357.9,173.9,358,173.3,358z M173.1,352c-0.4,0-0.6,0.1-0.8,0.4
|
||||
c-0.2,0.3-0.3,0.6-0.4,1.1l0,0h2.4v-0.2c0-0.4-0.1-0.7-0.3-1S173.5,352,173.1,352z"/>
|
||||
<path class="st42" d="M180,348.9v1.8h1.3v1.4H180v3.7c0,0.3,0.1,0.5,0.2,0.6c0.1,0.1,0.3,0.2,0.5,0.2c0.1,0,0.2,0,0.3,0
|
||||
c0.1,0,0.2,0,0.3-0.1l0.2,1.4c-0.2,0.1-0.4,0.1-0.6,0.1c-0.2,0-0.4,0-0.7,0c-0.7,0-1.2-0.2-1.5-0.6c-0.4-0.4-0.5-0.9-0.5-1.7V352
|
||||
H177v-1.4h1.1v-1.8H180z"/>
|
||||
<path class="st42" d="M185.6,358c-1,0-1.9-0.3-2.5-1c-0.6-0.7-0.9-1.5-0.9-2.5v-0.3c0-1.1,0.3-1.9,0.9-2.6c0.6-0.7,1.4-1,2.4-1
|
||||
c1,0,1.7,0.3,2.3,0.9c0.5,0.6,0.8,1.4,0.8,2.4v1.1h-4.3l0,0c0,0.5,0.2,0.9,0.5,1.2c0.3,0.3,0.7,0.5,1.1,0.5c0.4,0,0.8,0,1.1-0.1
|
||||
c0.3-0.1,0.6-0.2,0.9-0.4l0.5,1.2c-0.3,0.2-0.7,0.4-1.2,0.6C186.7,357.9,186.2,358,185.6,358z M185.5,352c-0.4,0-0.6,0.1-0.8,0.4
|
||||
c-0.2,0.3-0.3,0.6-0.4,1.1l0,0h2.4v-0.2c0-0.4-0.1-0.7-0.3-1S185.9,352,185.5,352z"/>
|
||||
<path class="st42" d="M189.6,356.6l0.9-0.2V352l-1-0.2v-1.2h2.8l0.1,1c0.2-0.4,0.4-0.7,0.7-0.9c0.3-0.2,0.6-0.3,0.9-0.3
|
||||
c0.1,0,0.2,0,0.3,0c0.1,0,0.2,0,0.3,0.1l-0.2,1.8l-0.8,0c-0.3,0-0.5,0.1-0.7,0.2c-0.2,0.1-0.3,0.3-0.4,0.5v3.5l0.9,0.2v1.2h-3.8
|
||||
V356.6z"/>
|
||||
<path class="st42" d="M201,353.1h-1.3l-0.2-0.9c-0.1-0.1-0.3-0.2-0.5-0.3c-0.2-0.1-0.4-0.1-0.7-0.1c-0.3,0-0.6,0.1-0.8,0.2
|
||||
s-0.3,0.3-0.3,0.6c0,0.2,0.1,0.4,0.3,0.5c0.2,0.1,0.6,0.3,1.1,0.4c0.9,0.2,1.5,0.4,2,0.8c0.4,0.3,0.6,0.8,0.6,1.4
|
||||
c0,0.6-0.3,1.2-0.8,1.6c-0.6,0.4-1.3,0.6-2.2,0.6c-0.6,0-1.1-0.1-1.5-0.2c-0.5-0.2-0.9-0.4-1.2-0.7l0-1.6h1.4l0.3,0.9
|
||||
c0.1,0.1,0.3,0.2,0.5,0.2s0.4,0.1,0.6,0.1c0.4,0,0.7-0.1,0.9-0.2c0.2-0.1,0.3-0.3,0.3-0.6c0-0.2-0.1-0.4-0.3-0.6
|
||||
c-0.2-0.2-0.6-0.3-1.1-0.4c-0.8-0.2-1.5-0.4-1.9-0.8c-0.4-0.3-0.6-0.8-0.6-1.4c0-0.6,0.2-1.1,0.7-1.6s1.2-0.7,2.1-0.7
|
||||
c0.6,0,1.1,0.1,1.6,0.2c0.5,0.2,0.9,0.3,1.2,0.6L201,353.1z"/>
|
||||
<path class="st42" d="M208.9,356.5c0.3,0,0.6-0.1,0.8-0.3c0.2-0.2,0.3-0.5,0.3-0.8h1.8l0,0c0,0.7-0.3,1.3-0.8,1.8
|
||||
c-0.6,0.5-1.3,0.7-2.1,0.7c-1.1,0-1.9-0.3-2.5-1s-0.9-1.5-0.9-2.6v-0.2c0-1.1,0.3-1.9,0.9-2.6s1.4-1,2.5-1c0.6,0,1.1,0.1,1.6,0.3
|
||||
c0.5,0.2,0.8,0.4,1.1,0.7l0,1.9h-1.6l-0.3-1.1c-0.1-0.1-0.2-0.2-0.4-0.2c-0.1-0.1-0.3-0.1-0.5-0.1c-0.5,0-0.9,0.2-1.2,0.6
|
||||
s-0.3,0.9-0.3,1.5v0.2c0,0.6,0.1,1.2,0.3,1.6C208,356.3,208.4,356.5,208.9,356.5z"/>
|
||||
<path class="st42" d="M212.5,348.6v-1.2h3v9l0.9,0.2v1.2h-3.8v-1.2l0.9-0.2v-7.6L212.5,348.6z"/>
|
||||
<path class="st42" d="M222,356.9c-0.2,0.3-0.5,0.6-0.9,0.8c-0.3,0.2-0.7,0.3-1.2,0.3c-0.8,0-1.4-0.2-1.8-0.7
|
||||
c-0.4-0.5-0.6-1.2-0.6-2.3v-3l-0.8-0.2v-1.2h0.8h1.9v4.3c0,0.5,0.1,0.9,0.3,1.1c0.2,0.2,0.4,0.3,0.8,0.3c0.3,0,0.6,0,0.8-0.1
|
||||
s0.4-0.2,0.5-0.4V352l-0.8-0.2v-1.2h0.8h1.9v5.8l0.9,0.2v1.2h-2.6L222,356.9z"/>
|
||||
<path class="st42" d="M231.4,353.1h-1.3l-0.2-0.9c-0.1-0.1-0.3-0.2-0.5-0.3c-0.2-0.1-0.4-0.1-0.7-0.1c-0.3,0-0.6,0.1-0.8,0.2
|
||||
s-0.3,0.3-0.3,0.6c0,0.2,0.1,0.4,0.3,0.5c0.2,0.1,0.6,0.3,1.1,0.4c0.9,0.2,1.5,0.4,2,0.8c0.4,0.3,0.6,0.8,0.6,1.4
|
||||
c0,0.6-0.3,1.2-0.8,1.6c-0.6,0.4-1.3,0.6-2.2,0.6c-0.6,0-1.1-0.1-1.5-0.2c-0.5-0.2-0.9-0.4-1.2-0.7l0-1.6h1.4l0.3,0.9
|
||||
c0.1,0.1,0.3,0.2,0.5,0.2s0.4,0.1,0.6,0.1c0.4,0,0.7-0.1,0.9-0.2c0.2-0.1,0.3-0.3,0.3-0.6c0-0.2-0.1-0.4-0.3-0.6
|
||||
c-0.2-0.2-0.6-0.3-1.1-0.4c-0.8-0.2-1.5-0.4-1.9-0.8c-0.4-0.3-0.6-0.8-0.6-1.4c0-0.6,0.2-1.1,0.7-1.6s1.2-0.7,2.1-0.7
|
||||
c0.6,0,1.1,0.1,1.6,0.2c0.5,0.2,0.9,0.3,1.2,0.6L231.4,353.1z"/>
|
||||
<path class="st42" d="M235.4,348.9v1.8h1.3v1.4h-1.3v3.7c0,0.3,0.1,0.5,0.2,0.6c0.1,0.1,0.3,0.2,0.5,0.2c0.1,0,0.2,0,0.3,0
|
||||
c0.1,0,0.2,0,0.3-0.1l0.2,1.4c-0.2,0.1-0.4,0.1-0.6,0.1c-0.2,0-0.4,0-0.7,0c-0.7,0-1.2-0.2-1.5-0.6c-0.4-0.4-0.5-0.9-0.5-1.7V352
|
||||
h-1.1v-1.4h1.1v-1.8H235.4z"/>
|
||||
<path class="st42" d="M241,358c-1,0-1.9-0.3-2.5-1c-0.6-0.7-0.9-1.5-0.9-2.5v-0.3c0-1.1,0.3-1.9,0.9-2.6c0.6-0.7,1.4-1,2.4-1
|
||||
c1,0,1.7,0.3,2.3,0.9c0.5,0.6,0.8,1.4,0.8,2.4v1.1h-4.3l0,0c0,0.5,0.2,0.9,0.5,1.2c0.3,0.3,0.7,0.5,1.1,0.5c0.4,0,0.8,0,1.1-0.1
|
||||
c0.3-0.1,0.6-0.2,0.9-0.4l0.5,1.2c-0.3,0.2-0.7,0.4-1.2,0.6C242.1,357.9,241.6,358,241,358z M240.8,352c-0.4,0-0.6,0.1-0.8,0.4
|
||||
c-0.2,0.3-0.3,0.6-0.4,1.1l0,0h2.4v-0.2c0-0.4-0.1-0.7-0.3-1S241.2,352,240.8,352z"/>
|
||||
<path class="st42" d="M245,356.6l0.9-0.2V352l-1-0.2v-1.2h2.8l0.1,1c0.2-0.4,0.4-0.7,0.7-0.9c0.3-0.2,0.6-0.3,0.9-0.3
|
||||
c0.1,0,0.2,0,0.3,0c0.1,0,0.2,0,0.3,0.1l-0.2,1.8l-0.8,0c-0.3,0-0.5,0.1-0.7,0.2c-0.2,0.1-0.3,0.3-0.4,0.5v3.5l0.9,0.2v1.2H245
|
||||
V356.6z"/>
|
||||
</g>
|
||||
</g>
|
||||
<line class="st62" x1="360.6" y1="191.7" x2="201.6" y2="191.7"/>
|
||||
<line class="st62" x1="360.6" y1="228.8" x2="160" y2="228.8"/>
|
||||
<line class="st62" x1="360.6" y1="118.3" x2="243.4" y2="118.3"/>
|
||||
</g>
|
||||
<g id="Layer_14">
|
||||
</g>
|
||||
</svg>
|
||||
.st63{fill:none;stroke:#011F38;stroke-width:0.2813;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}</style>
|
||||
<symbol viewBox="-68.6 -66.9 137.2 133.9" id="master_x5F_level1_1_">
|
||||
<g id="svg_1">
|
||||
<g id="svg_2">
|
||||
<line id="svg_3" y2="0.7" x2="0" y1="-11.1" x1="0" class="st0"/>
|
||||
<line id="svg_4" y2="-5.2" x2="-5.9" y1="-5.2" x1="5.9" class="st0"/>
|
||||
</g>
|
||||
<polygon id="svg_5" points="-29.2,-63.9 -65.6,-18.3 -52.6,38.6 0,63.9 52.6,38.6 65.6,-18.3 29.2,-63.9 " class="st1"/>
|
||||
</g>
|
||||
</symbol>
|
||||
<symbol viewBox="-81 -93 162 186.1" id="node_high_level">
|
||||
<polygon id="svg_6" points="-80,-46 -80,46 0,92 80,46 80,-46 0,-92 " class="st2"/>
|
||||
<g id="Isolation_Mode_3_"/>
|
||||
</symbol>
|
||||
<symbol viewBox="-87.5 -100.6 175.1 201.1" id="node_x5F_empty">
|
||||
<use transform="matrix(1.0808,0,0,1.0808,-0.00003292006,-0.00003749943) " y="-93" x="-81" id="XMLID_201_" height="186.1" width="162" xlink:href="#node_high_level"/>
|
||||
<g id="svg_7">
|
||||
<polygon id="svg_8" points="76.8,-28.1 -14,-80.3 0,-88.3 76.7,-44.4 " class="st3"/>
|
||||
<polygon id="svg_9" points="76.8,-28.1 32.1,-53.8 38.8,-66.1 76.7,-44.4 " class="st4"/>
|
||||
</g>
|
||||
</symbol>
|
||||
<symbol viewBox="-87.6 -101 175.2 202" id="node_x5F_new">
|
||||
<polygon id="svg_10" points="0,-100 -86.6,-50 -86.6,50 0,100 86.6,50 86.6,-50 " class="st5"/>
|
||||
<polygon id="svg_11" points="-86.6,-20.2 -86.6,-50 0,-100 25.8,-85.1 " class="st6"/>
|
||||
<polygon id="svg_12" points="-40.8,-70.7 -32.9,-57 15.7,-85.1 0,-94.3 " class="st7"/>
|
||||
<text id="svg_13" font-family="'RobotoSlab-Regular'" font-size="11.3632px" class="st8" transform="matrix(0.866,-0.5,-0.5,-0.866,-33.9256,-70.7388) ">Docker</text>
|
||||
<text id="svg_14" font-family="'RobotoSlab-Regular'" font-size="11.3632px" class="st8" transform="matrix(0.866,-0.5,-0.5,-0.866,-76.0668,-46.4087) ">Kubelt</text>
|
||||
</symbol>
|
||||
<g>
|
||||
<title>Layer 1</title>
|
||||
<g id="CLUSTER">
|
||||
<g class="st9" id="XMLID_296_">
|
||||
<g id="svg_15">
|
||||
<linearGradient y2="185.2931" x2="343.0902" y1="185.2931" x1="28.6348" gradientUnits="userSpaceOnUse" id="SVGID_1_">
|
||||
<stop stop-color="#326DE6" offset="0"/>
|
||||
<stop stop-color="#10FFC6" offset="1"/>
|
||||
</linearGradient>
|
||||
<polygon id="svg_16" points="311.9,92.7 343.1,229.2 255.8,338.6 115.9,338.6 28.6,229.2 59.8,92.7 185.9,32 " class="st10"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="master">
|
||||
<use id="svg_17" transform="matrix(0.4,0,0,-0.4,185.8606,187.2514) " y="-66.9" x="-68.6" height="133.9" width="137.2" xlink:href="#master_x5F_level1_1_"/>
|
||||
<g id="master_x5F_level1"/>
|
||||
</g>
|
||||
<g id="description">
|
||||
<g id="svg_72">
|
||||
<path id="svg_73" d="m374.4,188.6l0,0l-2.8,6.8l-0.8,0l-2.8,-6.8l0,0l0.1,3.5l0,2.5l1,0.2l0,0.7l-3.1,0l0,-0.7l1,-0.2l0,-6.7l-1,-0.2l0,-0.7l1,0l1.5,0l2.7,6.9l0,0l2.7,-6.9l2.4,0l0,0.7l-1,0.2l0,6.7l1,0.2l0,0.7l-3.1,0l0,-0.7l1,-0.2l0,-2.6l0.2,-3.4z" class="st42"/>
|
||||
<path id="svg_74" d="m381.5,195.4c0,-0.2 -0.1,-0.3 -0.1,-0.5s0,-0.3 0,-0.4c-0.2,0.3 -0.5,0.5 -0.8,0.7s-0.7,0.3 -1.1,0.3c-0.7,0 -1.2,-0.2 -1.5,-0.5s-0.5,-0.8 -0.5,-1.4c0,-0.6 0.2,-1.1 0.7,-1.4s1.2,-0.5 2,-0.5l1.2,0l0,-0.7c0,-0.4 -0.1,-0.7 -0.4,-0.9s-0.6,-0.3 -1,-0.3c-0.3,0 -0.5,0 -0.8,0.1s-0.4,0.2 -0.5,0.3l-0.1,0.7l-0.9,0l0,-1.2c0.3,-0.2 0.6,-0.4 1,-0.6s0.9,-0.2 1.3,-0.2c0.7,0 1.3,0.2 1.7,0.6s0.7,0.9 0.7,1.6l0,3.1c0,0.1 0,0.2 0,0.2s0,0.2 0,0.2l0.5,0.1l0,0.7l-1.4,0zm-1.9,-0.8c0.4,0 0.7,-0.1 1,-0.3s0.5,-0.4 0.7,-0.7l0,-1l-1.2,0c-0.5,0 -0.8,0.1 -1.1,0.3s-0.4,0.5 -0.4,0.8c0,0.3 0.1,0.5 0.3,0.6s0.4,0.3 0.7,0.3z" class="st42"/>
|
||||
<path id="svg_75" d="m388.8,191.1l-0.9,0l-0.2,-0.8c-0.1,-0.1 -0.3,-0.2 -0.5,-0.3s-0.5,-0.1 -0.7,-0.1c-0.4,0 -0.7,0.1 -0.9,0.3s-0.3,0.4 -0.3,0.7c0,0.2 0.1,0.4 0.3,0.6s0.5,0.3 1.1,0.4c0.8,0.2 1.4,0.4 1.8,0.7s0.6,0.7 0.6,1.2c0,0.6 -0.2,1 -0.7,1.4s-1,0.5 -1.8,0.5c-0.5,0 -0.9,-0.1 -1.3,-0.2s-0.7,-0.3 -1,-0.5l0,-1.4l0.9,0l0.2,0.8c0.1,0.1 0.3,0.2 0.5,0.3s0.5,0.1 0.7,0.1c0.4,0 0.7,-0.1 1,-0.2s0.3,-0.4 0.3,-0.7c0,-0.3 -0.1,-0.5 -0.3,-0.6s-0.6,-0.3 -1.1,-0.4c-0.8,-0.2 -1.3,-0.4 -1.7,-0.7s-0.6,-0.7 -0.6,-1.2c0,-0.5 0.2,-1 0.7,-1.3s1,-0.5 1.7,-0.5c0.5,0 0.9,0.1 1.3,0.2s0.7,0.3 1,0.5l-0.1,1.2z" class="st42"/>
|
||||
<path id="svg_76" d="m392.1,187.5l0,1.5l1.2,0l0,0.9l-1.2,0l0,3.8c0,0.3 0.1,0.5 0.2,0.6s0.3,0.2 0.5,0.2c0.1,0 0.2,0 0.3,0s0.2,0 0.3,-0.1l0.2,0.8c-0.1,0.1 -0.3,0.1 -0.5,0.2s-0.4,0.1 -0.6,0.1c-0.5,0 -0.8,-0.1 -1.1,-0.4s-0.4,-0.7 -0.4,-1.3l0,-3.8l-1,0l0,-0.9l1,0l0,-1.5l1.1,0l0,-0.1z" class="st42"/>
|
||||
<path id="svg_77" d="m397.4,195.5c-0.9,0 -1.6,-0.3 -2.1,-0.9s-0.8,-1.4 -0.8,-2.3l0,-0.3c0,-0.9 0.3,-1.7 0.8,-2.3s1.2,-0.9 1.9,-0.9c0.9,0 1.5,0.3 1.9,0.8s0.7,1.2 0.7,2.1l0,0.7l-4.1,0l0,0c0,0.6 0.2,1.1 0.5,1.5s0.7,0.6 1.2,0.6c0.4,0 0.7,-0.1 1,-0.2s0.5,-0.3 0.8,-0.5l0.5,0.8c-0.2,0.2 -0.5,0.4 -0.9,0.6s-0.9,0.3 -1.4,0.3zm-0.2,-5.6c-0.4,0 -0.7,0.2 -1,0.5s-0.4,0.7 -0.5,1.2l0,0l2.9,0l0,-0.2c0,-0.5 -0.1,-0.8 -0.4,-1.1s-0.5,-0.4 -1,-0.4z" class="st42"/>
|
||||
<path id="svg_78" d="m400.9,189.8l0,-0.7l2,0l0.1,0.9c0.2,-0.3 0.4,-0.6 0.7,-0.8s0.6,-0.3 0.9,-0.3c0.1,0 0.2,0 0.3,0s0.2,0 0.2,0l-0.2,1.1l-0.7,0c-0.3,0 -0.6,0.1 -0.8,0.2s-0.4,0.3 -0.5,0.6l0,3.6l1,0.2l0,0.7l-3.1,0l0,-0.7l1,-0.2l0,-4.4l-0.9,-0.2z" class="st42"/>
|
||||
</g>
|
||||
<g id="svg_79">
|
||||
<path id="svg_80" d="m366,230.1l1,-0.2l0,-4.5l-1,-0.2l0,-0.7l2,0l0.1,0.9c0.2,-0.3 0.5,-0.6 0.8,-0.8s0.7,-0.3 1.1,-0.3c0.7,0 1.2,0.2 1.6,0.6s0.6,1 0.6,1.9l0,3.1l1,0.2l0,0.7l-3.2,0l0,-0.7l1,-0.2l0,-3.1c0,-0.6 -0.1,-1 -0.3,-1.2s-0.6,-0.4 -1,-0.4c-0.3,0 -0.6,0.1 -0.9,0.2s-0.5,0.4 -0.6,0.7l0,3.7l1,0.2l0,0.7l-3.2,0l0,-0.6z" class="st42"/>
|
||||
<path id="svg_81" d="m373.9,227.6c0,-0.9 0.3,-1.7 0.8,-2.3s1.2,-0.9 2.1,-0.9c0.9,0 1.6,0.3 2.1,0.9s0.8,1.4 0.8,2.3l0,0.1c0,0.9 -0.3,1.7 -0.8,2.3s-1.2,0.9 -2.1,0.9c-0.9,0 -1.6,-0.3 -2.1,-0.9s-0.8,-1.4 -0.8,-2.3l0,-0.1zm1.1,0.1c0,0.7 0.1,1.2 0.4,1.7s0.7,0.7 1.3,0.7c0.5,0 1,-0.2 1.2,-0.7s0.4,-1 0.4,-1.7l0,-0.1c0,-0.7 -0.1,-1.2 -0.4,-1.7s-0.7,-0.7 -1.3,-0.7s-1,0.2 -1.3,0.7s-0.4,1 -0.4,1.7l0,0.1l0.1,0z" class="st42"/>
|
||||
<path id="svg_82" d="m384.9,230c-0.2,0.3 -0.5,0.5 -0.8,0.7s-0.6,0.2 -1,0.2c-0.8,0 -1.4,-0.3 -1.8,-0.8s-0.7,-1.3 -0.7,-2.2l0,-0.1c0,-1 0.2,-1.8 0.7,-2.5s1,-0.9 1.8,-0.9c0.4,0 0.7,0.1 1,0.2s0.5,0.3 0.7,0.6l0,-2.6l-1,-0.2l0,-0.7l1,0l1.2,0l0,8.2l1,0.2l0,0.7l-2,0l-0.1,-0.8zm-3.2,-2.1c0,0.6 0.1,1.1 0.4,1.5s0.7,0.6 1.2,0.6c0.3,0 0.6,-0.1 0.9,-0.2s0.4,-0.4 0.6,-0.7l0,-2.9c-0.1,-0.3 -0.3,-0.5 -0.6,-0.6s-0.5,-0.2 -0.9,-0.2c-0.6,0 -1,0.2 -1.2,0.7s-0.4,1.1 -0.4,1.8l0,0z" class="st42"/>
|
||||
<path id="svg_83" d="m390.7,230.9c-0.9,0 -1.6,-0.3 -2.1,-0.9s-0.8,-1.4 -0.8,-2.3l0,-0.3c0,-0.9 0.3,-1.7 0.8,-2.3s1.2,-0.9 1.9,-0.9c0.9,0 1.5,0.3 1.9,0.8s0.7,1.2 0.7,2.1l0,0.7l-4.1,0l0,0c0,0.6 0.2,1.1 0.5,1.5s0.7,0.6 1.2,0.6c0.4,0 0.7,-0.1 1,-0.2s0.5,-0.3 0.8,-0.5l0.5,0.8c-0.2,0.2 -0.5,0.4 -0.9,0.6s-0.9,0.3 -1.4,0.3zm-0.2,-5.6c-0.4,0 -0.7,0.2 -1,0.5s-0.4,0.7 -0.5,1.2l0,0l2.9,0l0,-0.2c0,-0.5 -0.1,-0.8 -0.4,-1.1s-0.5,-0.4 -1,-0.4z" class="st42"/>
|
||||
<path id="svg_84" d="m397.1,232.5l1,-0.2l0,-7l-1,-0.2l0,-0.7l1.9,0l0.1,0.8c0.2,-0.3 0.5,-0.5 0.8,-0.7s0.7,-0.2 1.1,-0.2c0.8,0 1.4,0.3 1.8,0.9s0.7,1.4 0.7,2.5l0,0.1c0,0.9 -0.2,1.7 -0.7,2.2s-1,0.8 -1.8,0.8c-0.4,0 -0.7,-0.1 -1,-0.2s-0.5,-0.3 -0.8,-0.6l0,2.2l1,0.2l0,0.7l-3.1,0l0,-0.6zm5.2,-4.8c0,-0.7 -0.1,-1.3 -0.4,-1.8s-0.7,-0.7 -1.3,-0.7c-0.3,0 -0.6,0.1 -0.8,0.2s-0.4,0.4 -0.6,0.6l0,3.1c0.1,0.3 0.3,0.5 0.6,0.6s0.5,0.2 0.9,0.2c0.5,0 1,-0.2 1.2,-0.6s0.4,-0.9 0.4,-1.6l0,0z" class="st42"/>
|
||||
<path id="svg_85" d="m404.5,225.2l0,-0.7l2,0l0.1,0.9c0.2,-0.3 0.4,-0.6 0.7,-0.8s0.6,-0.3 0.9,-0.3c0.1,0 0.2,0 0.3,0s0.2,0 0.2,0l-0.2,1.1l-0.7,0c-0.3,0 -0.6,0.1 -0.8,0.2s-0.4,0.3 -0.5,0.6l0,3.6l1,0.2l0,0.7l-3.1,0l0,-0.7l1,-0.2l0,-4.5l-0.9,-0.1z" class="st42"/>
|
||||
<path id="svg_86" d="m409.3,227.6c0,-0.9 0.3,-1.7 0.8,-2.3s1.2,-0.9 2.1,-0.9c0.9,0 1.6,0.3 2.1,0.9s0.8,1.4 0.8,2.3l0,0.1c0,0.9 -0.3,1.7 -0.8,2.3s-1.2,0.9 -2.1,0.9c-0.9,0 -1.6,-0.3 -2.1,-0.9s-0.8,-1.4 -0.8,-2.3l0,-0.1zm1.2,0.1c0,0.7 0.1,1.2 0.4,1.7s0.7,0.7 1.3,0.7c0.5,0 1,-0.2 1.2,-0.7s0.4,-1 0.4,-1.7l0,-0.1c0,-0.7 -0.1,-1.2 -0.4,-1.7s-0.7,-0.7 -1.3,-0.7s-1,0.2 -1.3,0.7s-0.4,1 -0.4,1.7l0,0.1l0.1,0z" class="st42"/>
|
||||
<path id="svg_87" d="m418.9,230c0.4,0 0.7,-0.1 1,-0.4s0.4,-0.5 0.4,-0.9l1,0l0,0c0,0.5 -0.2,1 -0.7,1.5s-1.1,0.6 -1.8,0.6c-0.9,0 -1.6,-0.3 -2.1,-0.9s-0.7,-1.4 -0.7,-2.3l0,-0.2c0,-0.9 0.2,-1.7 0.7,-2.3s1.2,-0.9 2.1,-0.9c0.5,0 1,0.1 1.4,0.3s0.7,0.4 1,0.7l0.1,1.4l-0.9,0l-0.3,-1c-0.1,-0.1 -0.3,-0.2 -0.5,-0.3s-0.5,-0.1 -0.7,-0.1c-0.6,0 -1,0.2 -1.3,0.7s-0.4,1 -0.4,1.6l0,0.2c0,0.6 0.1,1.2 0.4,1.6s0.7,0.7 1.3,0.7z" class="st42"/>
|
||||
<path id="svg_88" d="m425.4,230.9c-0.9,0 -1.6,-0.3 -2.1,-0.9s-0.8,-1.4 -0.8,-2.3l0,-0.3c0,-0.9 0.3,-1.7 0.8,-2.3s1.2,-0.9 1.9,-0.9c0.9,0 1.5,0.3 1.9,0.8s0.7,1.2 0.7,2.1l0,0.7l-4.1,0l0,0c0,0.6 0.2,1.1 0.5,1.5s0.7,0.6 1.2,0.6c0.4,0 0.7,-0.1 1,-0.2s0.5,-0.3 0.8,-0.5l0.5,0.8c-0.2,0.2 -0.5,0.4 -0.9,0.6s-0.8,0.3 -1.4,0.3zm-0.1,-5.6c-0.4,0 -0.7,0.2 -1,0.5s-0.4,0.7 -0.5,1.2l0,0l2.9,0l0,-0.2c0,-0.5 -0.1,-0.8 -0.4,-1.1s-0.6,-0.4 -1,-0.4z" class="st42"/>
|
||||
<path id="svg_89" d="m433.8,226.5l-0.8,0l-0.2,-0.8c-0.1,-0.1 -0.3,-0.2 -0.5,-0.3s-0.5,-0.1 -0.7,-0.1c-0.4,0 -0.7,0.1 -0.9,0.3s-0.3,0.4 -0.3,0.7c0,0.2 0.1,0.4 0.3,0.6s0.5,0.3 1.1,0.4c0.8,0.2 1.4,0.4 1.8,0.7s0.6,0.7 0.6,1.2c0,0.6 -0.2,1 -0.7,1.4s-1,0.5 -1.8,0.5c-0.5,0 -0.9,-0.1 -1.3,-0.2s-0.7,-0.3 -1,-0.5l0,-1.4l0.9,0l0.2,0.8c0.1,0.1 0.3,0.2 0.5,0.3s0.5,0.1 0.7,0.1c0.4,0 0.7,-0.1 1,-0.2s0.3,-0.4 0.3,-0.7c0,-0.3 -0.1,-0.5 -0.3,-0.6s-0.6,-0.3 -1.1,-0.4c-0.8,-0.2 -1.3,-0.4 -1.7,-0.7s-0.6,-0.7 -0.6,-1.2c0,-0.5 0.2,-1 0.7,-1.3s1,-0.5 1.7,-0.5c0.5,0 0.9,0.1 1.3,0.2s0.7,0.3 1,0.5l-0.2,1.2z" class="st42"/>
|
||||
<path id="svg_90" d="m440,226.5l-0.9,0l-0.2,-0.8c-0.1,-0.1 -0.3,-0.2 -0.5,-0.3s-0.5,-0.1 -0.7,-0.1c-0.4,0 -0.7,0.1 -0.9,0.3s-0.3,0.4 -0.3,0.7c0,0.2 0.1,0.4 0.3,0.6s0.5,0.3 1.1,0.4c0.8,0.2 1.4,0.4 1.8,0.7s0.6,0.7 0.6,1.2c0,0.6 -0.2,1 -0.7,1.4s-1,0.5 -1.8,0.5c-0.5,0 -0.9,-0.1 -1.3,-0.2s-0.7,-0.3 -1,-0.5l0,-1.4l0.9,0l0.2,0.8c0.1,0.1 0.3,0.2 0.5,0.3s0.5,0.1 0.7,0.1c0.4,0 0.7,-0.1 1,-0.2s0.3,-0.4 0.3,-0.7c0,-0.3 -0.1,-0.5 -0.3,-0.6s-0.6,-0.3 -1.1,-0.4c-0.8,-0.2 -1.3,-0.4 -1.7,-0.7s-0.6,-0.7 -0.6,-1.2c0,-0.5 0.2,-1 0.7,-1.3s1,-0.5 1.7,-0.5c0.5,0 0.9,0.1 1.3,0.2s0.7,0.3 1,0.5l-0.1,1.2z" class="st42"/>
|
||||
<path id="svg_91" d="m444.1,230.9c-0.9,0 -1.6,-0.3 -2.1,-0.9s-0.8,-1.4 -0.8,-2.3l0,-0.3c0,-0.9 0.3,-1.7 0.8,-2.3s1.2,-0.9 1.9,-0.9c0.9,0 1.5,0.3 1.9,0.8s0.7,1.2 0.7,2.1l0,0.7l-4.1,0l0,0c0,0.6 0.2,1.1 0.5,1.5s0.7,0.6 1.2,0.6c0.4,0 0.7,-0.1 1,-0.2s0.5,-0.3 0.8,-0.5l0.5,0.8c-0.2,0.2 -0.5,0.4 -0.9,0.6s-0.9,0.3 -1.4,0.3zm-0.2,-5.6c-0.4,0 -0.7,0.2 -1,0.5s-0.4,0.7 -0.5,1.2l0,0l2.9,0l0,-0.2c0,-0.5 -0.1,-0.8 -0.4,-1.1s-0.5,-0.4 -1,-0.4z" class="st42"/>
|
||||
<path id="svg_92" d="m452.5,226.5l-0.9,0l-0.2,-0.8c-0.1,-0.1 -0.3,-0.2 -0.5,-0.3s-0.5,-0.1 -0.7,-0.1c-0.4,0 -0.7,0.1 -0.9,0.3s-0.3,0.4 -0.3,0.7c0,0.2 0.1,0.4 0.3,0.6s0.5,0.3 1.1,0.4c0.8,0.2 1.4,0.4 1.8,0.7s0.6,0.7 0.6,1.2c0,0.6 -0.2,1 -0.7,1.4s-1,0.5 -1.8,0.5c-0.5,0 -0.9,-0.1 -1.3,-0.2s-0.7,-0.3 -1,-0.5l0,-1.4l0.9,0l0.2,0.8c0.1,0.1 0.3,0.2 0.5,0.3s0.5,0.1 0.7,0.1c0.4,0 0.7,-0.1 1,-0.2s0.3,-0.4 0.3,-0.7c0,-0.3 -0.1,-0.5 -0.3,-0.6s-0.6,-0.3 -1.1,-0.4c-0.8,-0.2 -1.3,-0.4 -1.7,-0.7s-0.6,-0.7 -0.6,-1.2c0,-0.5 0.2,-1 0.7,-1.3s1,-0.5 1.7,-0.5c0.5,0 0.9,0.1 1.3,0.2s0.7,0.3 1,0.5l-0.1,1.2z" class="st42"/>
|
||||
</g>
|
||||
<g id="svg_93">
|
||||
<path id="svg_94" d="m374.4,111.8l0,0.7l-1,0.2l0,7.6l-1.2,0l-4.1,-6.6l0,0l0,5.7l1,0.2l0,0.7l-3.1,0l0,-0.7l1,-0.2l0,-6.7l-1,-0.2l0,-0.7l1,0l1.2,0l4.1,6.6l0,0l0,-5.7l-1,-0.2l0,-0.7l2.1,0l1,0z" class="st42"/>
|
||||
<path id="svg_95" d="m375.3,117.1c0,-0.9 0.3,-1.7 0.8,-2.3s1.2,-0.9 2.1,-0.9c0.9,0 1.6,0.3 2.1,0.9s0.8,1.4 0.8,2.3l0,0.1c0,0.9 -0.3,1.7 -0.8,2.3s-1.2,0.9 -2.1,0.9c-0.9,0 -1.6,-0.3 -2.1,-0.9s-0.8,-1.4 -0.8,-2.3l0,-0.1zm1.2,0.1c0,0.7 0.1,1.2 0.4,1.7s0.7,0.7 1.3,0.7c0.5,0 1,-0.2 1.2,-0.7s0.4,-1 0.4,-1.7l0,-0.1c0,-0.7 -0.1,-1.2 -0.4,-1.7s-0.7,-0.7 -1.3,-0.7s-1,0.2 -1.3,0.7s-0.4,1 -0.4,1.7l0,0.1l0.1,0z" class="st42"/>
|
||||
<path id="svg_96" d="m386.3,119.5c-0.2,0.3 -0.5,0.5 -0.8,0.7s-0.6,0.2 -1,0.2c-0.8,0 -1.4,-0.3 -1.8,-0.8s-0.7,-1.3 -0.7,-2.2l0,-0.1c0,-1 0.2,-1.8 0.7,-2.5s1,-0.9 1.8,-0.9c0.4,0 0.7,0.1 1,0.2s0.5,0.3 0.7,0.6l0,-2.6l-1,-0.2l0,-0.7l1,0l1.2,0l0,8.2l1,0.2l0,0.7l-2,0l-0.1,-0.8zm-3.1,-2.1c0,0.6 0.1,1.1 0.4,1.5s0.7,0.6 1.2,0.6c0.3,0 0.6,-0.1 0.9,-0.2s0.4,-0.4 0.6,-0.7l0,-2.9c-0.1,-0.3 -0.3,-0.5 -0.6,-0.6s-0.5,-0.2 -0.9,-0.2c-0.6,0 -1,0.2 -1.2,0.7s-0.4,1.1 -0.4,1.8l0,0z" class="st42"/>
|
||||
<path id="svg_97" d="m392.2,120.4c-0.9,0 -1.6,-0.3 -2.1,-0.9s-0.8,-1.4 -0.8,-2.3l0,-0.2c0,-0.9 0.3,-1.7 0.8,-2.3s1.2,-0.9 1.9,-0.9c0.9,0 1.5,0.3 1.9,0.8s0.7,1.2 0.7,2.1l0,0.7l-4.1,0l0,0c0,0.6 0.2,1.1 0.5,1.5s0.7,0.6 1.2,0.6c0.4,0 0.7,-0.1 1,-0.2s0.5,-0.3 0.8,-0.5l0.5,0.8c-0.2,0.2 -0.5,0.4 -0.9,0.6s-0.9,0.2 -1.4,0.2zm-0.2,-5.6c-0.4,0 -0.7,0.2 -1,0.5s-0.4,0.7 -0.5,1.2l0,0l2.9,0l0,-0.2c0,-0.5 -0.1,-0.8 -0.4,-1.1s-0.5,-0.4 -1,-0.4z" class="st42"/>
|
||||
</g>
|
||||
<g id="svg_98">
|
||||
<g id="svg_99">
|
||||
<path id="svg_100" d="m128.4,356.6l1,-0.2l0,-6.9l-1,-0.2l0,-1.2l4,0l0,1.2l-1,0.2l0,2.6l0.8,0l1.9,-2.7l-0.6,-0.1l0,-1.2l3.8,0l0,1.2l-1,0.2l-2.4,3.2l2.7,3.8l1,0.2l0,1.2l-3.8,0l0,-1.2l0.6,-0.1l-1.9,-2.8l-1.1,0l0,2.7l1,0.2l0,1.2l-4,0l0,-1.3z" class="st42"/>
|
||||
<path id="svg_101" d="m143,356.9c-0.2,0.3 -0.5,0.6 -0.9,0.8c-0.3,0.2 -0.7,0.3 -1.2,0.3c-0.8,0 -1.4,-0.2 -1.8,-0.7c-0.4,-0.5 -0.6,-1.2 -0.6,-2.3l0,-3l-0.8,-0.2l0,-1.2l0.8,0l1.9,0l0,4.3c0,0.5 0.1,0.9 0.3,1.1c0.2,0.2 0.4,0.3 0.8,0.3c0.3,0 0.6,0 0.8,-0.1s0.4,-0.2 0.5,-0.4l0,-3.8l-0.8,-0.2l0,-1.2l0.8,0l1.9,0l0,5.8l0.9,0.2l0,1.2l-2.6,0l0,-0.9z" class="st42"/>
|
||||
<path id="svg_102" d="m153.4,354.4c0,1.1 -0.2,1.9 -0.7,2.6c-0.5,0.6 -1.2,1 -2.1,1c-0.4,0 -0.8,-0.1 -1.1,-0.3c-0.3,-0.2 -0.6,-0.4 -0.8,-0.8l-0.1,0.9l-1.6,0l0,-9l-1,-0.2l0,-1.2l3,0l0,3.9c0.2,-0.3 0.5,-0.5 0.7,-0.7c0.3,-0.2 0.6,-0.2 1,-0.2c0.9,0 1.6,0.3 2.1,1c0.5,0.7 0.7,1.6 0.7,2.8l0,0.2l-0.1,0zm-1.9,-0.1c0,-0.7 -0.1,-1.3 -0.3,-1.7c-0.2,-0.4 -0.6,-0.6 -1.1,-0.6c-0.3,0 -0.6,0.1 -0.8,0.2c-0.2,0.1 -0.4,0.3 -0.5,0.5l0,3c0.1,0.2 0.3,0.4 0.5,0.5c0.2,0.1 0.5,0.2 0.8,0.2c0.5,0 0.8,-0.2 1,-0.5s0.3,-0.9 0.3,-1.5l0,-0.1l0.1,0z" class="st42"/>
|
||||
<path id="svg_103" d="m157.8,358c-1,0 -1.9,-0.3 -2.5,-1c-0.6,-0.7 -0.9,-1.5 -0.9,-2.5l0,-0.3c0,-1.1 0.3,-1.9 0.9,-2.6c0.6,-0.7 1.4,-1 2.4,-1c1,0 1.7,0.3 2.3,0.9c0.5,0.6 0.8,1.4 0.8,2.4l0,1.1l-4.3,0l0,0c0,0.5 0.2,0.9 0.5,1.2c0.3,0.3 0.7,0.5 1.1,0.5c0.4,0 0.8,0 1.1,-0.1c0.3,-0.1 0.6,-0.2 0.9,-0.4l0.5,1.2c-0.3,0.2 -0.7,0.4 -1.2,0.6c-0.5,-0.1 -1,0 -1.6,0zm-0.2,-6c-0.4,0 -0.6,0.1 -0.8,0.4c-0.2,0.3 -0.3,0.6 -0.4,1.1l0,0l2.4,0l0,-0.2c0,-0.4 -0.1,-0.7 -0.3,-1s-0.5,-0.3 -0.9,-0.3z" class="st42"/>
|
||||
<path id="svg_104" d="m161.7,356.6l0.9,-0.2l0,-4.4l-1,-0.2l0,-1.2l2.8,0l0.1,1c0.2,-0.4 0.4,-0.7 0.7,-0.9c0.3,-0.2 0.6,-0.3 0.9,-0.3c0.1,0 0.2,0 0.3,0c0.1,0 0.2,0 0.3,0.1l-0.2,1.8l-0.8,0c-0.3,0 -0.5,0.1 -0.7,0.2c-0.2,0.1 -0.3,0.3 -0.4,0.5l0,3.5l0.9,0.2l0,1.2l-3.8,0l0,-1.3z" class="st42"/>
|
||||
<path id="svg_105" d="m167.2,356.6l0.9,-0.2l0,-4.4l-1,-0.2l0,-1.2l2.8,0l0.1,1c0.2,-0.4 0.5,-0.7 0.9,-0.9s0.7,-0.3 1.2,-0.3c0.7,0 1.3,0.2 1.7,0.7s0.6,1.2 0.6,2.1l0,3.1l0.9,0.2l0,1.2l-3.7,0l0,-1.2l0.8,-0.2l0,-3.1c0,-0.5 -0.1,-0.8 -0.3,-1c-0.2,-0.2 -0.5,-0.3 -0.9,-0.3c-0.3,0 -0.5,0.1 -0.7,0.2c-0.2,0.1 -0.4,0.3 -0.5,0.4l0,3.9l0.8,0.2l0,1.2l-3.7,0l0,-1.2l0.1,0z" class="st42"/>
|
||||
<path id="svg_106" d="m179.3,358c-1,0 -1.9,-0.3 -2.5,-1c-0.6,-0.7 -0.9,-1.5 -0.9,-2.5l0,-0.3c0,-1.1 0.3,-1.9 0.9,-2.6c0.6,-0.7 1.4,-1 2.4,-1c1,0 1.7,0.3 2.3,0.9c0.5,0.6 0.8,1.4 0.8,2.4l0,1.1l-4.3,0l0,0c0,0.5 0.2,0.9 0.5,1.2c0.3,0.3 0.7,0.5 1.1,0.5c0.4,0 0.8,0 1.1,-0.1c0.3,-0.1 0.6,-0.2 0.9,-0.4l0.5,1.2c-0.3,0.2 -0.7,0.4 -1.2,0.6c-0.5,-0.1 -1,0 -1.6,0zm-0.2,-6c-0.4,0 -0.6,0.1 -0.8,0.4c-0.2,0.3 -0.3,0.6 -0.4,1.1l0,0l2.4,0l0,-0.2c0,-0.4 -0.1,-0.7 -0.3,-1s-0.5,-0.3 -0.9,-0.3z" class="st42"/>
|
||||
<path id="svg_107" d="m186,348.9l0,1.8l1.3,0l0,1.4l-1.3,0l0,3.7c0,0.3 0.1,0.5 0.2,0.6c0.1,0.1 0.3,0.2 0.5,0.2c0.1,0 0.2,0 0.3,0c0.1,0 0.2,0 0.3,-0.1l0.2,1.4c-0.2,0.1 -0.4,0.1 -0.6,0.1c-0.2,0 -0.4,0 -0.7,0c-0.7,0 -1.2,-0.2 -1.5,-0.6c-0.4,-0.4 -0.5,-0.9 -0.5,-1.7l0,-3.7l-1.2,0l0,-1.4l1.1,0l0,-1.8l1.9,0l0,0.1z" class="st42"/>
|
||||
<path id="svg_108" d="m191.6,358c-1,0 -1.9,-0.3 -2.5,-1c-0.6,-0.7 -0.9,-1.5 -0.9,-2.5l0,-0.3c0,-1.1 0.3,-1.9 0.9,-2.6c0.6,-0.7 1.4,-1 2.4,-1c1,0 1.7,0.3 2.3,0.9c0.5,0.6 0.8,1.4 0.8,2.4l0,1.1l-4.3,0l0,0c0,0.5 0.2,0.9 0.5,1.2c0.3,0.3 0.7,0.5 1.1,0.5c0.4,0 0.8,0 1.1,-0.1c0.3,-0.1 0.6,-0.2 0.9,-0.4l0.5,1.2c-0.3,0.2 -0.7,0.4 -1.2,0.6c-0.5,-0.1 -1,0 -1.6,0zm-0.1,-6c-0.4,0 -0.6,0.1 -0.8,0.4c-0.2,0.3 -0.3,0.6 -0.4,1.1l0,0l2.4,0l0,-0.2c0,-0.4 -0.1,-0.7 -0.3,-1s-0.5,-0.3 -0.9,-0.3z" class="st42"/>
|
||||
<path stroke="null" style="vector-effect: non-scaling-stroke;" id="svg_110" d="m201,353.1l-1.3,0l-0.2,-0.9c-0.1,-0.1 -0.3,-0.2 -0.5,-0.3c-0.2,-0.1 -0.4,-0.1 -0.7,-0.1c-0.3,0 -0.6,0.1 -0.8,0.2s-0.3,0.3 -0.3,0.6c0,0.2 0.1,0.4 0.3,0.5c0.2,0.1 0.6,0.3 1.1,0.4c0.9,0.2 1.5,0.4 2,0.8c0.4,0.3 0.6,0.8 0.6,1.4c0,0.6 -0.3,1.2 -0.8,1.6c-0.6,0.4 -1.3,0.6 -2.2,0.6c-0.6,0 -1.1,-0.1 -1.5,-0.2c-0.5,-0.2 -0.9,-0.4 -1.2,-0.7l0,-1.6l1.4,0l0.3,0.9c0.1,0.1 0.3,0.2 0.5,0.2s0.4,0.1 0.6,0.1c0.4,0 0.7,-0.1 0.9,-0.2c0.2,-0.1 0.3,-0.3 0.3,-0.6c0,-0.2 -0.1,-0.4 -0.3,-0.6c-0.2,-0.2 -0.6,-0.3 -1.1,-0.4c-0.8,-0.2 -1.5,-0.4 -1.9,-0.8c-0.4,-0.3 -0.6,-0.8 -0.6,-1.4c0,-0.6 0.2,-1.1 0.7,-1.6s1.2,-0.7 2.1,-0.7c0.6,0 1.1,0.1 1.6,0.2c0.5,0.2 0.9,0.3 1.2,0.6l-0.2,2z" class="st42"/>
|
||||
<path id="svg_111" d="m208.9,356.5c0.3,0 0.6,-0.1 0.8,-0.3c0.2,-0.2 0.3,-0.5 0.3,-0.8l1.8,0l0,0c0,0.7 -0.3,1.3 -0.8,1.8c-0.6,0.5 -1.3,0.7 -2.1,0.7c-1.1,0 -1.9,-0.3 -2.5,-1s-0.9,-1.5 -0.9,-2.6l0,-0.2c0,-1.1 0.3,-1.9 0.9,-2.6s1.4,-1 2.5,-1c0.6,0 1.1,0.1 1.6,0.3c0.5,0.2 0.8,0.4 1.1,0.7l0,1.9l-1.6,0l-0.3,-1.1c-0.1,-0.1 -0.2,-0.2 -0.4,-0.2c-0.1,-0.1 -0.3,-0.1 -0.5,-0.1c-0.5,0 -0.9,0.2 -1.2,0.6s-0.3,0.9 -0.3,1.5l0,0.2c0,0.6 0.1,1.2 0.3,1.6c0.4,0.4 0.8,0.6 1.3,0.6z" class="st42"/>
|
||||
<path fill="black" id="svg_112" d="m212.5,348.6l0,-1.2l3,0l0,9l0.9,0.2l0,1.2l-3.8,0l0,-1.2l0.9,-0.2l0,-7.6l-1,-0.2z" class="st42"/>
|
||||
<path id="svg_113" d="m222,356.9c-0.2,0.3 -0.5,0.6 -0.9,0.8c-0.3,0.2 -0.7,0.3 -1.2,0.3c-0.8,0 -1.4,-0.2 -1.8,-0.7c-0.4,-0.5 -0.6,-1.2 -0.6,-2.3l0,-3l-0.8,-0.2l0,-1.2l0.8,0l1.9,0l0,4.3c0,0.5 0.1,0.9 0.3,1.1c0.2,0.2 0.4,0.3 0.8,0.3c0.3,0 0.6,0 0.8,-0.1s0.4,-0.2 0.5,-0.4l0,-3.8l-0.8,-0.2l0,-1.2l0.8,0l1.9,0l0,5.8l0.9,0.2l0,1.2l-2.6,0l0,-0.9z" class="st42"/>
|
||||
<path id="svg_114" d="m231.4,353.1l-1.3,0l-0.2,-0.9c-0.1,-0.1 -0.3,-0.2 -0.5,-0.3c-0.2,-0.1 -0.4,-0.1 -0.7,-0.1c-0.3,0 -0.6,0.1 -0.8,0.2s-0.3,0.3 -0.3,0.6c0,0.2 0.1,0.4 0.3,0.5c0.2,0.1 0.6,0.3 1.1,0.4c0.9,0.2 1.5,0.4 2,0.8c0.4,0.3 0.6,0.8 0.6,1.4c0,0.6 -0.3,1.2 -0.8,1.6c-0.6,0.4 -1.3,0.6 -2.2,0.6c-0.6,0 -1.1,-0.1 -1.5,-0.2c-0.5,-0.2 -0.9,-0.4 -1.2,-0.7l0,-1.6l1.4,0l0.3,0.9c0.1,0.1 0.3,0.2 0.5,0.2s0.4,0.1 0.6,0.1c0.4,0 0.7,-0.1 0.9,-0.2c0.2,-0.1 0.3,-0.3 0.3,-0.6c0,-0.2 -0.1,-0.4 -0.3,-0.6c-0.2,-0.2 -0.6,-0.3 -1.1,-0.4c-0.8,-0.2 -1.5,-0.4 -1.9,-0.8c-0.4,-0.3 -0.6,-0.8 -0.6,-1.4c0,-0.6 0.2,-1.1 0.7,-1.6s1.2,-0.7 2.1,-0.7c0.6,0 1.1,0.1 1.6,0.2c0.5,0.2 0.9,0.3 1.2,0.6l-0.2,2z" class="st42"/>
|
||||
<path id="svg_115" d="m235.4,348.9l0,1.8l1.3,0l0,1.4l-1.3,0l0,3.7c0,0.3 0.1,0.5 0.2,0.6c0.1,0.1 0.3,0.2 0.5,0.2c0.1,0 0.2,0 0.3,0c0.1,0 0.2,0 0.3,-0.1l0.2,1.4c-0.2,0.1 -0.4,0.1 -0.6,0.1c-0.2,0 -0.4,0 -0.7,0c-0.7,0 -1.2,-0.2 -1.5,-0.6c-0.4,-0.4 -0.5,-0.9 -0.5,-1.7l0,-3.7l-1.1,0l0,-1.4l1.1,0l0,-1.8l1.8,0l0,0.1z" class="st42"/>
|
||||
<path id="svg_116" d="m241,358c-1,0 -1.9,-0.3 -2.5,-1c-0.6,-0.7 -0.9,-1.5 -0.9,-2.5l0,-0.3c0,-1.1 0.3,-1.9 0.9,-2.6c0.6,-0.7 1.4,-1 2.4,-1c1,0 1.7,0.3 2.3,0.9c0.5,0.6 0.8,1.4 0.8,2.4l0,1.1l-4.3,0l0,0c0,0.5 0.2,0.9 0.5,1.2c0.3,0.3 0.7,0.5 1.1,0.5c0.4,0 0.8,0 1.1,-0.1c0.3,-0.1 0.6,-0.2 0.9,-0.4l0.5,1.2c-0.3,0.2 -0.7,0.4 -1.2,0.6c-0.5,-0.1 -1,0 -1.6,0zm-0.2,-6c-0.4,0 -0.6,0.1 -0.8,0.4c-0.2,0.3 -0.3,0.6 -0.4,1.1l0,0l2.4,0l0,-0.2c0,-0.4 -0.1,-0.7 -0.3,-1s-0.5,-0.3 -0.9,-0.3z" class="st42"/>
|
||||
<path id="svg_117" d="m245,356.6l0.9,-0.2l0,-4.4l-1,-0.2l0,-1.2l2.8,0l0.1,1c0.2,-0.4 0.4,-0.7 0.7,-0.9c0.3,-0.2 0.6,-0.3 0.9,-0.3c0.1,0 0.2,0 0.3,0c0.1,0 0.2,0 0.3,0.1l-0.2,1.8l-0.8,0c-0.3,0 -0.5,0.1 -0.7,0.2c-0.2,0.1 -0.3,0.3 -0.4,0.5l0,3.5l0.9,0.2l0,1.2l-3.8,0l0,-1.3z" class="st42"/>
|
||||
</g>
|
||||
</g>
|
||||
<line id="svg_118" y2="191.7" x2="201.6" y1="191.7" x1="360.6" class="st62"/>
|
||||
<line id="svg_119" y2="228.8" x2="160" y1="228.8" x1="360.6" class="st62"/>
|
||||
<line id="svg_120" y2="118.3" x2="243.4" y1="118.3" x1="360.6" class="st62"/>
|
||||
</g>
|
||||
<g id="Node">
|
||||
<g id="Node_x5F_level3_x5F_1">
|
||||
<g id="Isolation_Mode"/>
|
||||
</g>
|
||||
<polygon id="svg_18" points="182.7,139.9 147.1,160.4 111.4,139.9 111.4,98.7 147.1,78.2 182.7,98.7 " class="st16"/>
|
||||
<polygon id="svg_19" points="129.3,150.2 147.1,160.4 182.7,139.9 182.7,119.3 " class="st13"/>
|
||||
<polygon id="svg_20" points="163.5,147.7 157.4,137.2 179.9,124.2 179.9,138.3 " class="st7"/>
|
||||
<g id="svg_21">
|
||||
<path id="svg_22" d="m162.5,139.3c0.4,-0.3 0.9,-0.3 1.3,-0.2c0.4,0.1 0.8,0.4 1,0.8l0.3,0.5c0.3,0.4 0.3,0.9 0.2,1.3c-0.1,0.4 -0.4,0.8 -0.8,1l-1.4,0.8l-0.2,-0.3l0.3,-0.3l-1.6,-2.7l-0.4,0.2l-0.2,-0.3l0.4,-0.2l1.1,-0.6zm-0.4,0.7l1.6,2.7l0.6,-0.3c0.3,-0.2 0.5,-0.4 0.6,-0.8c0.1,-0.3 0,-0.6 -0.2,-1l-0.3,-0.5c-0.2,-0.3 -0.4,-0.5 -0.7,-0.6c-0.3,-0.1 -0.6,-0.1 -0.9,0.1l-0.7,0.4z" class="st8"/>
|
||||
<path id="svg_23" d="m165.7,140.3c-0.2,-0.4 -0.3,-0.8 -0.2,-1.1c0.1,-0.4 0.3,-0.6 0.6,-0.9c0.4,-0.2 0.7,-0.2 1.1,-0.1c0.3,0.1 0.6,0.4 0.9,0.8l0,0.1c0.2,0.4 0.3,0.8 0.2,1.1c-0.1,0.4 -0.3,0.6 -0.6,0.8c-0.4,0.2 -0.7,0.2 -1.1,0.1c-0.4,-0.1 -0.7,-0.3 -0.9,-0.8l0,0zm0.5,-0.2c0.2,0.3 0.3,0.5 0.6,0.6c0.2,0.1 0.4,0.1 0.7,0c0.2,-0.1 0.3,-0.3 0.4,-0.6c0,-0.2 -0.1,-0.5 -0.2,-0.8l0,-0.1c-0.2,-0.3 -0.3,-0.5 -0.6,-0.6c-0.2,-0.1 -0.4,-0.1 -0.7,0c-0.2,0.1 -0.3,0.3 -0.4,0.6c-0.1,0.3 0,0.6 0.2,0.9l0,0z" class="st8"/>
|
||||
<path id="svg_24" d="m170.1,139.1c0.2,-0.1 0.3,-0.2 0.3,-0.4c0.1,-0.2 0.1,-0.3 0,-0.5l0.4,-0.2l0,0c0.1,0.2 0.2,0.5 0,0.8c-0.1,0.3 -0.3,0.5 -0.6,0.7c-0.4,0.2 -0.7,0.3 -1.1,0.1c-0.3,-0.1 -0.6,-0.4 -0.8,-0.7l-0.1,-0.1c-0.2,-0.4 -0.3,-0.7 -0.2,-1.1s0.3,-0.6 0.6,-0.9c0.2,-0.1 0.4,-0.2 0.6,-0.2c0.2,0 0.4,0 0.6,0l0.3,0.6l-0.4,0.2l-0.3,-0.3c-0.1,0 -0.2,0 -0.3,0c-0.1,0 -0.2,0.1 -0.3,0.1c-0.2,0.1 -0.4,0.3 -0.4,0.6c0,0.2 0.1,0.5 0.2,0.7l0.1,0.1c0.2,0.3 0.3,0.5 0.5,0.6c0.5,0 0.7,0 0.9,-0.1z" class="st8"/>
|
||||
<path id="svg_25" d="m169.8,135.2l-0.2,-0.3l0.9,-0.5l1.2,2.1l0.3,-0.2l0.2,-1l-0.3,0.1l-0.2,-0.3l1.1,-0.6l0.2,0.3l-0.3,0.2l-0.2,1.2l1.4,0.6l0.3,-0.1l0.2,0.3l-1.1,0.6l-0.2,-0.3l0.2,-0.2l-1.2,-0.5l-0.3,0.2l0.5,0.8l0.4,-0.2l0.2,0.3l-1.2,0.7l-0.2,-0.3l0.3,-0.3l-1.7,-3l-0.3,0.4z" class="st8"/>
|
||||
<path id="svg_26" d="m175.9,136.3c-0.4,0.2 -0.7,0.3 -1.1,0.1s-0.6,-0.4 -0.9,-0.7l-0.1,-0.1c-0.2,-0.4 -0.3,-0.7 -0.2,-1.1c0.1,-0.4 0.3,-0.6 0.6,-0.8c0.3,-0.2 0.7,-0.2 1,-0.1s0.5,0.3 0.7,0.7l0.2,0.3l-1.7,1l0,0c0.1,0.2 0.3,0.4 0.5,0.5c0.2,0.1 0.4,0.1 0.6,-0.1c0.2,-0.1 0.3,-0.2 0.4,-0.3c0.1,-0.1 0.2,-0.2 0.2,-0.4l0.4,0.2c0,0.1 -0.1,0.3 -0.2,0.4c0,0.1 -0.2,0.2 -0.4,0.4zm-1.4,-2.3c-0.2,0.1 -0.3,0.2 -0.3,0.4s0,0.4 0.1,0.6l0,0l1.2,-0.7l0,-0.1c-0.1,-0.2 -0.2,-0.3 -0.4,-0.4c-0.2,0.1 -0.4,0.1 -0.6,0.2z" class="st8"/>
|
||||
<path id="svg_27" d="m176,133.1l-0.2,-0.3l0.8,-0.5l0.3,0.3c0,-0.2 0,-0.3 0.1,-0.5c0.1,-0.1 0.2,-0.2 0.3,-0.3c0,0 0.1,0 0.1,-0.1c0,0 0.1,0 0.1,0l0.2,0.5l-0.3,0.1c-0.1,0.1 -0.2,0.2 -0.3,0.3c-0.1,0.1 -0.1,0.2 -0.1,0.4l0.8,1.5l0.4,-0.2l0.2,0.3l-1.2,0.7l-0.2,-0.3l0.3,-0.3l-1.1,-1.8l-0.2,0.2z" class="st8"/>
|
||||
</g>
|
||||
<g id="svg_28">
|
||||
<path id="svg_29" d="m141.1,151.8l-0.2,-0.3l0.9,-0.5l1.2,2.1l0.3,-0.2l0.2,-1l-0.3,0.1l-0.2,-0.3l1.1,-0.6l0.2,0.3l-0.3,0.2l-0.2,1.2l1.4,0.6l0.3,-0.1l0.2,0.3l-1.1,0.6l-0.2,-0.3l0.2,-0.2l-1.2,-0.5l-0.3,0.2l0.5,0.8l0.4,-0.2l0.2,0.3l-1.2,0.7l-0.2,-0.3l0.3,-0.3l-1.7,-3l-0.3,0.4z" class="st8"/>
|
||||
<path id="svg_30" d="m147.6,152c0,0.2 0,0.3 -0.1,0.5c-0.1,0.1 -0.2,0.3 -0.4,0.4c-0.3,0.2 -0.5,0.2 -0.8,0.1c-0.3,-0.1 -0.5,-0.3 -0.7,-0.7l-0.7,-1.1l-0.3,0.1l-0.2,-0.3l0.3,-0.2l0.5,-0.3l0.9,1.5c0.2,0.3 0.3,0.4 0.4,0.5s0.3,0 0.5,-0.1c0.2,-0.1 0.3,-0.2 0.4,-0.3c0.1,-0.1 0.1,-0.3 0.1,-0.4l-0.9,-1.5l-0.4,0.1l-0.2,-0.3l0.3,-0.2l0.5,-0.3l1.3,2.2l0.3,-0.1l0.2,0.3l-0.7,0.4l-0.3,-0.3z" class="st8"/>
|
||||
<path id="svg_31" d="m150.6,149.2c0.2,0.4 0.3,0.7 0.2,1c0,0.3 -0.2,0.6 -0.5,0.8c-0.2,0.1 -0.3,0.1 -0.5,0.2c-0.2,0 -0.3,0 -0.5,-0.1l0.1,0.4l-0.4,0.2l-1.9,-3.3l-0.4,0.2l-0.2,-0.3l0.9,-0.5l0.8,1.4c0,-0.2 0.1,-0.3 0.1,-0.4c0.1,-0.1 0.2,-0.2 0.4,-0.3c0.3,-0.2 0.6,-0.2 1,0s0.7,0.2 0.9,0.7l0,0zm-0.5,0.2c-0.2,-0.3 -0.4,-0.5 -0.6,-0.6c-0.2,-0.1 -0.4,-0.1 -0.7,0c-0.1,0.1 -0.2,0.2 -0.3,0.3c-0.1,0.1 -0.1,0.3 -0.1,0.4l0.7,1.1c0.1,0.1 0.3,0.1 0.4,0.1c0.1,0 0.3,0 0.4,-0.1c0.2,-0.1 0.3,-0.3 0.4,-0.5c0.1,-0.2 0,-0.4 -0.2,-0.7l0,0z" class="st8"/>
|
||||
<path id="svg_32" d="m153,149.5c-0.4,0.2 -0.7,0.3 -1.1,0.1s-0.6,-0.4 -0.9,-0.7l-0.1,-0.1c-0.2,-0.4 -0.3,-0.7 -0.2,-1.1c0.1,-0.4 0.3,-0.6 0.6,-0.8c0.3,-0.2 0.7,-0.2 1,-0.1s0.5,0.3 0.7,0.7l0.2,0.3l-1.7,1l0,0c0.1,0.2 0.3,0.4 0.5,0.5c0.2,0.1 0.4,0.1 0.6,-0.1c0.2,-0.1 0.3,-0.2 0.4,-0.3c0.1,-0.1 0.2,-0.2 0.2,-0.4l0.4,0.2c0,0.1 -0.1,0.3 -0.2,0.4s-0.2,0.2 -0.4,0.4zm-1.4,-2.3c-0.2,0.1 -0.3,0.2 -0.3,0.4c0,0.2 0,0.4 0.1,0.6l0,0l1.2,-0.7l0,-0.1c-0.1,-0.2 -0.2,-0.3 -0.4,-0.4s-0.4,0.1 -0.6,0.2z" class="st8"/>
|
||||
<path id="svg_33" d="m152.4,145.2l-0.2,-0.3l0.9,-0.5l1.9,3.3l0.4,-0.2l0.2,0.3l-1.2,0.7l-0.2,-0.3l0.3,-0.3l-1.7,-3l-0.4,0.3z" class="st8"/>
|
||||
<path id="svg_34" d="m157.1,147.1c-0.4,0.2 -0.7,0.3 -1.1,0.1s-0.6,-0.4 -0.9,-0.7l-0.1,-0.1c-0.2,-0.4 -0.3,-0.7 -0.2,-1.1c0.1,-0.4 0.3,-0.6 0.6,-0.8c0.3,-0.2 0.7,-0.2 1,-0.1s0.5,0.3 0.7,0.7l0.2,0.3l-1.7,1l0,0c0.1,0.2 0.3,0.4 0.5,0.5c0.2,0.1 0.4,0.1 0.6,-0.1c0.2,-0.1 0.3,-0.2 0.4,-0.3c0.1,-0.1 0.2,-0.2 0.2,-0.4l0.4,0.2c0,0.1 -0.1,0.3 -0.2,0.4s-0.2,0.3 -0.4,0.4zm-1.4,-2.3c-0.2,0.1 -0.3,0.2 -0.3,0.4s0,0.4 0.1,0.6l0,0l1.2,-0.7l0,-0.1c-0.1,-0.2 -0.2,-0.3 -0.4,-0.4c-0.2,0.1 -0.4,0.1 -0.6,0.2z" class="st8"/>
|
||||
<path id="svg_35" d="m157.5,142.6l0.4,0.6l0.5,-0.3l0.2,0.3l-0.5,0.3l0.9,1.6c0.1,0.1 0.1,0.2 0.2,0.2c0.1,0 0.2,0 0.2,0c0,0 0.1,-0.1 0.1,-0.1c0,0 0.1,-0.1 0.1,-0.1l0.2,0.3c0,0.1 -0.1,0.1 -0.2,0.2c-0.1,0.1 -0.2,0.1 -0.2,0.2c-0.2,0.1 -0.4,0.1 -0.6,0.1c-0.2,0 -0.3,-0.2 -0.5,-0.4l-0.9,-1.6l-0.4,0.2l-0.2,-0.3l0.4,-0.2l-0.4,-0.6l0.7,-0.4z" class="st8"/>
|
||||
</g>
|
||||
<polygon id="svg_36" points="225.1,160.4 189.4,139.9 189.4,98.7 225.1,78.2 260.7,98.7 260.7,139.9 " class="st16"/>
|
||||
<polygon id="svg_37" points="189.4,119.3 189.4,139.9 225.1,160.4 242.9,150.2 " class="st13"/>
|
||||
<polygon id="svg_38" points="208.7,147.7 214.8,137.2 237.3,150.2 225.1,157.2 " class="st7"/>
|
||||
<g id="svg_39">
|
||||
<path id="svg_40" d="m215.5,142.6c0.5,0.3 0.7,0.6 0.8,1c0.1,0.4 0,0.9 -0.2,1.3l-0.3,0.5c-0.3,0.4 -0.6,0.7 -1,0.8c-0.4,0.1 -0.9,0 -1.3,-0.2l-1.4,-0.8l0.2,-0.3l0.4,0.2l1.6,-2.7l-0.3,-0.3l0.2,-0.3l0.4,0.2l0.9,0.6zm-0.8,0l-1.6,2.7l0.6,0.3c0.3,0.2 0.6,0.2 0.9,0.1c0.3,-0.1 0.6,-0.3 0.7,-0.6l0.3,-0.5c0.2,-0.3 0.2,-0.6 0.2,-1c-0.1,-0.3 -0.3,-0.6 -0.6,-0.8l-0.5,-0.2z" class="st8"/>
|
||||
<path id="svg_41" d="m216.2,145.9c0.2,-0.4 0.5,-0.6 0.8,-0.8c0.3,-0.1 0.7,-0.1 1,0.1c0.4,0.2 0.6,0.5 0.6,0.9c0.1,0.4 0,0.7 -0.2,1.1l0,0.1c-0.2,0.4 -0.5,0.6 -0.8,0.8c-0.3,0.1 -0.7,0.1 -1,-0.1c-0.4,-0.2 -0.6,-0.5 -0.6,-0.9c-0.1,-0.4 0,-0.8 0.2,-1.2l0,0zm0.5,0.3c-0.2,0.3 -0.2,0.5 -0.2,0.8c0,0.2 0.1,0.4 0.4,0.6c0.2,0.1 0.4,0.1 0.7,0c0.2,-0.1 0.4,-0.3 0.6,-0.6l0,-0.1c0.2,-0.3 0.2,-0.5 0.2,-0.8c0,-0.2 -0.1,-0.4 -0.4,-0.6c-0.2,-0.1 -0.4,-0.1 -0.7,0c-0.3,0.2 -0.5,0.4 -0.6,0.7l0,0z" class="st8"/>
|
||||
<path id="svg_42" d="m219.5,149.1c0.2,0.1 0.3,0.1 0.5,0.1c0.2,0 0.3,-0.1 0.4,-0.2l0.4,0.2l0,0c-0.1,0.2 -0.3,0.4 -0.6,0.4c-0.3,0.1 -0.6,0 -0.9,-0.2c-0.4,-0.2 -0.6,-0.5 -0.6,-0.9c-0.1,-0.4 0,-0.7 0.2,-1.1l0.1,-0.1c0.2,-0.4 0.5,-0.6 0.8,-0.7s0.7,-0.1 1.1,0.1c0.2,0.1 0.4,0.3 0.5,0.4s0.2,0.3 0.2,0.5l-0.3,0.6l-0.4,-0.2l0.1,-0.5c0,-0.1 -0.1,-0.2 -0.1,-0.3c-0.1,-0.1 -0.2,-0.2 -0.3,-0.2c-0.2,-0.1 -0.5,-0.2 -0.7,0c-0.2,0.1 -0.4,0.3 -0.5,0.6l-0.1,0.1c-0.2,0.3 -0.2,0.5 -0.2,0.7c0.1,0.4 0.2,0.6 0.4,0.7z" class="st8"/>
|
||||
<path id="svg_43" d="m222.7,146.8l0.2,-0.3l0.9,0.5l-1.2,2.1l0.3,0.2l0.9,-0.4l-0.2,-0.2l0.2,-0.3l1.1,0.6l-0.2,0.3l-0.3,-0.1l-1.1,0.4l0.2,1.5l0.3,0.2l-0.2,0.3l-1.1,-0.6l0.2,-0.3l0.3,0.1l-0.2,-1.2l-0.3,-0.2l-0.5,0.8l0.3,0.3l-0.2,0.3l-1.2,-0.7l0.2,-0.3l0.4,0.2l1.7,-3l-0.5,-0.2z" class="st8"/>
|
||||
<path id="svg_44" d="m224.8,152.7c-0.4,-0.2 -0.6,-0.5 -0.6,-0.8s0,-0.7 0.2,-1.1l0.1,-0.1c0.2,-0.4 0.5,-0.6 0.9,-0.7s0.7,-0.1 1,0.1c0.3,0.2 0.5,0.5 0.6,0.8c0.1,0.3 0,0.6 -0.2,1l-0.2,0.3l-1.7,-1l0,0c-0.1,0.2 -0.2,0.5 -0.2,0.7c0,0.2 0.2,0.4 0.4,0.5c0.2,0.1 0.3,0.1 0.5,0.2c0.1,0 0.3,0 0.4,0l0,0.4c-0.1,0 -0.3,0 -0.5,0s-0.4,-0.2 -0.7,-0.3zm1.3,-2.4c-0.2,-0.1 -0.3,-0.1 -0.5,0c-0.2,0.1 -0.4,0.2 -0.5,0.4l0,0l1.2,0.7l0,-0.1c0.1,-0.2 0.1,-0.4 0.1,-0.5c0,-0.2 -0.1,-0.4 -0.3,-0.5z" class="st8"/>
|
||||
<path id="svg_45" d="m227.6,151.2l0.2,-0.3l0.8,0.5l-0.2,0.4c0.1,-0.1 0.3,-0.1 0.4,-0.2c0.1,0 0.3,0 0.4,0.1c0,0 0.1,0 0.1,0.1c0,0 0.1,0.1 0.1,0.1l-0.3,0.4l-0.3,-0.2c-0.1,-0.1 -0.2,-0.1 -0.4,-0.1c-0.1,0 -0.2,0.1 -0.3,0.1l-0.8,1.5l0.3,0.3l-0.2,0.3l-1.2,-0.7l0.2,-0.3l0.4,0.2l1.1,-1.8l-0.3,-0.4z" class="st8"/>
|
||||
</g>
|
||||
<g id="svg_46">
|
||||
<path id="svg_47" d="m194,130.3l0.2,-0.3l0.9,0.5l-1.2,2.1l0.3,0.2l0.9,-0.4l-0.2,-0.2l0.2,-0.3l1.1,0.6l-0.2,0.3l-0.3,-0.1l-1.1,0.4l0.2,1.5l0.3,0.2l-0.2,0.3l-1.1,-0.6l0.2,-0.3l0.3,0.1l-0.2,-1.2l-0.3,-0.2l-0.5,0.8l0.3,0.3l-0.2,0.3l-1.2,-0.7l0.2,-0.3l0.4,0.2l1.7,-3l-0.5,-0.2z" class="st8"/>
|
||||
<path id="svg_48" d="m197.1,136.1c-0.2,0.1 -0.3,0.1 -0.5,0.1c-0.2,0 -0.3,0 -0.5,-0.1c-0.3,-0.2 -0.4,-0.4 -0.5,-0.6c-0.1,-0.3 0,-0.6 0.2,-1l0.7,-1.1l-0.3,-0.2l0.2,-0.3l0.3,0.2l0.5,0.3l-0.9,1.5c-0.2,0.3 -0.2,0.5 -0.2,0.6c0,0.1 0.1,0.3 0.3,0.4c0.2,0.1 0.3,0.1 0.5,0.1c0.1,0 0.3,-0.1 0.4,-0.1l0.9,-1.5l-0.3,-0.3l0.2,-0.3l0.3,0.2l0.5,0.3l-1.3,2.2l0.3,0.2l-0.2,0.3l-0.7,-0.4l0.1,-0.5z" class="st8"/>
|
||||
<path id="svg_49" d="m201,137.3c-0.2,0.4 -0.5,0.6 -0.8,0.7s-0.6,0.1 -0.9,-0.1c-0.2,-0.1 -0.3,-0.2 -0.4,-0.3c-0.1,-0.1 -0.1,-0.3 -0.1,-0.5l-0.2,0.3l-0.4,-0.2l1.9,-3.3l-0.3,-0.3l0.2,-0.3l0.9,0.5l-0.8,1.4c0.1,-0.1 0.3,-0.1 0.5,-0.1s0.3,0.1 0.5,0.2c0.3,0.2 0.5,0.5 0.5,0.8s-0.3,0.7 -0.6,1.2l0,0zm-0.4,-0.4c0.2,-0.3 0.3,-0.6 0.3,-0.8c0,-0.2 -0.1,-0.4 -0.3,-0.6c-0.1,-0.1 -0.3,-0.1 -0.4,-0.1c-0.1,0 -0.3,0.1 -0.4,0.1l-0.7,1.1c0,0.2 0,0.3 0.1,0.4c0.1,0.1 0.2,0.2 0.3,0.3c0.2,0.1 0.4,0.1 0.6,0c0.1,0.1 0.3,-0.1 0.5,-0.4l0,0z" class="st8"/>
|
||||
<path id="svg_50" d="m202,139.4c-0.4,-0.2 -0.6,-0.5 -0.6,-0.8c-0.1,-0.4 0,-0.7 0.2,-1.1l0.1,-0.1c0.2,-0.4 0.5,-0.6 0.9,-0.7c0.4,-0.1 0.7,-0.1 1,0.1c0.3,0.2 0.5,0.5 0.6,0.8c0.1,0.3 0,0.6 -0.2,1l-0.2,0.3l-1.7,-1l0,0c-0.1,0.2 -0.2,0.5 -0.2,0.7c0,0.2 0.2,0.4 0.4,0.5c0.2,0.1 0.3,0.1 0.5,0.2c0.1,0 0.3,0 0.4,0l0,0.4c-0.1,0 -0.3,0 -0.5,0c-0.3,-0.1 -0.5,-0.1 -0.7,-0.3zm1.2,-2.3c-0.2,-0.1 -0.3,-0.1 -0.5,0c-0.2,0.1 -0.3,0.2 -0.5,0.4l0,0l1.2,0.7l0,-0.1c0.1,-0.2 0.1,-0.4 0.1,-0.5c0,-0.2 -0.1,-0.4 -0.3,-0.5z" class="st8"/>
|
||||
<path id="svg_51" d="m205.3,136.8l0.2,-0.3l0.9,0.5l-1.9,3.3l0.3,0.3l-0.2,0.3l-1.2,-0.7l0.2,-0.3l0.4,0.2l1.7,-3l-0.4,-0.3z" class="st8"/>
|
||||
<path id="svg_52" d="m206.1,141.8c-0.4,-0.2 -0.6,-0.5 -0.6,-0.8c-0.1,-0.4 0,-0.7 0.2,-1.1l0.1,-0.1c0.2,-0.4 0.5,-0.6 0.9,-0.7c0.4,-0.1 0.7,-0.1 1,0.1c0.3,0.2 0.5,0.5 0.6,0.8c0.1,0.3 0,0.6 -0.2,1l-0.2,0.3l-1.7,-1l0,0c-0.1,0.2 -0.2,0.5 -0.2,0.7c0,0.2 0.2,0.4 0.4,0.5c0.2,0.1 0.3,0.1 0.5,0.2c0.1,0 0.3,0 0.4,0l0,0.4c-0.1,0 -0.3,0 -0.5,0c-0.3,-0.1 -0.5,-0.2 -0.7,-0.3zm1.2,-2.3c-0.2,-0.1 -0.3,-0.1 -0.5,0c-0.2,0.1 -0.3,0.2 -0.5,0.4l0,0l1.2,0.7l0,-0.1c0.1,-0.2 0.1,-0.4 0.1,-0.5c0,-0.3 -0.1,-0.4 -0.3,-0.5z" class="st8"/>
|
||||
<path id="svg_53" d="m210.2,139.9l-0.4,0.6l0.5,0.3l-0.2,0.3l-0.5,-0.3l-0.9,1.6c-0.1,0.1 -0.1,0.2 -0.1,0.3c0,0.1 0.1,0.1 0.2,0.2c0,0 0.1,0 0.1,0.1c0.1,0 0.1,0 0.1,0.1l-0.1,0.4c-0.1,0 -0.1,0 -0.2,0c-0.1,0 -0.2,-0.1 -0.3,-0.1c-0.2,-0.1 -0.3,-0.3 -0.4,-0.4c0,-0.2 0,-0.4 0.1,-0.6l0.9,-1.6l-0.4,-0.2l0.2,-0.3l0.4,0.2l0.4,-0.6l0.6,0z" class="st8"/>
|
||||
</g>
|
||||
<polygon id="svg_54" points="147.1,296.4 111.4,275.9 111.4,234.7 147.1,214.1 182.7,234.7 182.7,275.9 " class="st16"/>
|
||||
<polygon id="svg_55" points="129.3,224.4 147.1,214.1 182.7,234.7 182.7,255.3 " class="st13"/>
|
||||
<polygon id="svg_56" points="163.5,226.9 157.4,237.4 179.9,250.4 179.9,236.3 " class="st7"/>
|
||||
<g id="svg_57">
|
||||
<path id="svg_58" d="m164.2,232.3c0.5,0.3 0.7,0.6 0.8,1c0.1,0.4 0,0.9 -0.2,1.3l-0.3,0.5c-0.3,0.4 -0.6,0.7 -1,0.8c-0.4,0.1 -0.9,0 -1.3,-0.2l-1.4,-0.8l0.2,-0.3l0.4,0.2l1.6,-2.7l-0.3,-0.3l0.2,-0.3l0.4,0.2l0.9,0.6zm-0.8,0l-1.6,2.7l0.6,0.3c0.3,0.2 0.6,0.2 0.9,0.1c0.3,-0.1 0.6,-0.3 0.7,-0.6l0.3,-0.5c0.2,-0.3 0.3,-0.6 0.2,-1c-0.1,-0.3 -0.3,-0.6 -0.6,-0.8l-0.5,-0.2z" class="st8"/>
|
||||
<path id="svg_59" d="m164.9,235.6c0.2,-0.4 0.5,-0.6 0.8,-0.8c0.3,-0.1 0.7,-0.1 1,0.1c0.4,0.2 0.6,0.5 0.6,0.9c0.1,0.4 0,0.7 -0.2,1.1l0,0.1c-0.2,0.4 -0.5,0.6 -0.8,0.8c-0.3,0.1 -0.7,0.1 -1,-0.1c-0.4,-0.2 -0.6,-0.5 -0.6,-0.9c-0.1,-0.4 0,-0.8 0.2,-1.2l0,0zm0.5,0.3c-0.2,0.3 -0.2,0.5 -0.2,0.8c0,0.2 0.1,0.4 0.4,0.6c0.2,0.1 0.4,0.1 0.7,0c0.2,-0.1 0.4,-0.3 0.6,-0.6l0,-0.1c0.2,-0.3 0.2,-0.5 0.2,-0.8c0,-0.2 -0.1,-0.4 -0.4,-0.6c-0.2,-0.1 -0.4,-0.1 -0.7,0c-0.2,0.2 -0.4,0.4 -0.6,0.7l0,0z" class="st8"/>
|
||||
<path id="svg_60" d="m168.2,238.8c0.2,0.1 0.3,0.1 0.5,0.1c0.2,0 0.3,-0.1 0.4,-0.2l0.4,0.2l0,0c-0.1,0.2 -0.3,0.4 -0.6,0.4c-0.3,0.1 -0.6,0 -0.9,-0.2c-0.4,-0.2 -0.6,-0.5 -0.6,-0.9c-0.1,-0.4 0,-0.7 0.2,-1.1l0.1,-0.1c0.2,-0.4 0.5,-0.6 0.8,-0.7c0.3,-0.1 0.7,-0.1 1.1,0.1c0.2,0.1 0.4,0.3 0.5,0.4s0.2,0.3 0.2,0.5l-0.3,0.7l-0.4,-0.2l0.1,-0.5c0,-0.1 -0.1,-0.2 -0.1,-0.3c-0.1,-0.1 -0.2,-0.2 -0.3,-0.2c-0.2,-0.1 -0.5,-0.2 -0.7,0c-0.2,0.1 -0.4,0.3 -0.5,0.6l-0.1,0.1c-0.2,0.3 -0.2,0.5 -0.2,0.7c0.1,0.3 0.2,0.5 0.4,0.6z" class="st8"/>
|
||||
<path id="svg_61" d="m171.4,236.5l0.2,-0.3l0.9,0.5l-1.2,2.1l0.3,0.2l0.9,-0.4l-0.2,-0.2l0.2,-0.3l1.1,0.6l-0.2,0.3l-0.4,0l-1.1,0.4l0.2,1.5l0.3,0.2l-0.2,0.3l-1.1,-0.6l0.2,-0.3l0.3,0.1l-0.2,-1.2l-0.3,-0.2l-0.5,0.8l0.3,0.3l-0.2,0.3l-1.2,-0.7l0.2,-0.3l0.4,0.2l1.7,-3l-0.4,-0.3z" class="st8"/>
|
||||
<path id="svg_62" d="m173.6,242.4c-0.4,-0.2 -0.6,-0.5 -0.6,-0.8c-0.1,-0.4 0,-0.7 0.2,-1.1l0.1,-0.1c0.2,-0.4 0.5,-0.6 0.9,-0.7c0.4,-0.1 0.7,-0.1 1,0.1c0.3,0.2 0.5,0.5 0.6,0.8c0.1,0.3 0,0.6 -0.2,1l-0.2,0.3l-1.7,-1l0,0c-0.1,0.2 -0.2,0.5 -0.2,0.7c0,0.2 0.2,0.4 0.4,0.5c0.2,0.1 0.3,0.1 0.5,0.2s0.3,0 0.4,0l0,0.4c-0.1,0 -0.3,0 -0.5,0c-0.3,-0.1 -0.5,-0.2 -0.7,-0.3zm1.2,-2.4c-0.2,-0.1 -0.3,-0.1 -0.5,0c-0.2,0.1 -0.4,0.2 -0.5,0.4l0,0l1.2,0.7l0,-0.1c0.1,-0.2 0.1,-0.4 0.1,-0.5c0,-0.2 -0.1,-0.4 -0.3,-0.5z" class="st8"/>
|
||||
<path id="svg_63" d="m176.3,240.9l0.2,-0.3l0.8,0.5l-0.2,0.4c0.1,-0.1 0.3,-0.1 0.4,-0.2c0.2,0 0.3,0 0.4,0.1c0,0 0.1,0 0.1,0.1c0,0 0.1,0.1 0.1,0.1l-0.3,0.4l-0.3,-0.2c-0.1,-0.1 -0.2,-0.1 -0.4,-0.1c-0.1,0 -0.2,0.1 -0.3,0.1l-0.8,1.5l0.3,0.3l-0.2,0.3l-1.2,-0.7l0.2,-0.3l0.4,0.2l1.1,-1.8l-0.3,-0.4z" class="st8"/>
|
||||
</g>
|
||||
<g id="svg_64">
|
||||
<path id="svg_65" d="m142.7,220l0.2,-0.3l0.9,0.5l-1.2,2.1l0.3,0.2l0.9,-0.4l-0.2,-0.2l0.2,-0.3l1.1,0.6l-0.2,0.3l-0.3,-0.1l-1.1,0.4l0.2,1.5l0.3,0.2l-0.2,0.3l-1.1,-0.6l0.2,-0.3l0.3,0.1l-0.2,-1.2l-0.3,-0.2l-0.5,0.8l0.3,0.3l-0.2,0.3l-1.2,-0.7l0.2,-0.3l0.4,0.2l1.7,-3l-0.5,-0.2z" class="st8"/>
|
||||
<path id="svg_66" d="m145.8,225.8c-0.2,0.1 -0.3,0.1 -0.5,0.1s-0.3,0 -0.5,-0.1c-0.3,-0.2 -0.4,-0.4 -0.5,-0.6s0,-0.6 0.2,-1l0.7,-1.1l-0.3,-0.2l0.2,-0.3l0.3,0.2l0.5,0.3l-0.9,1.5c-0.2,0.3 -0.2,0.5 -0.2,0.6s0.1,0.3 0.3,0.4c0.2,0.1 0.3,0.1 0.5,0.1c0.1,0 0.3,-0.1 0.4,-0.1l0.9,-1.5l-0.3,-0.3l0.2,-0.3l0.3,0.2l0.5,0.3l-1.3,2.2l0.3,0.2l-0.2,0.3l-0.7,-0.4l0.1,-0.5z" class="st8"/>
|
||||
<path id="svg_67" d="m149.8,227c-0.2,0.4 -0.5,0.6 -0.8,0.7c-0.3,0.1 -0.6,0.1 -0.9,-0.1c-0.2,-0.1 -0.3,-0.2 -0.4,-0.3c-0.1,-0.1 -0.1,-0.3 -0.1,-0.5l-0.2,0.3l-0.4,-0.2l1.9,-3.3l-0.3,-0.3l0.2,-0.3l0.9,0.5l-0.8,1.4c0.1,-0.1 0.3,-0.1 0.5,-0.1c0.2,0 0.3,0.1 0.5,0.2c0.3,0.2 0.5,0.5 0.5,0.8c-0.3,0.3 -0.4,0.7 -0.6,1.2l0,0zm-0.5,-0.4c0.2,-0.3 0.3,-0.6 0.3,-0.8c0,-0.2 -0.1,-0.4 -0.3,-0.6c-0.1,-0.1 -0.3,-0.1 -0.4,-0.1c-0.1,0 -0.3,0.1 -0.4,0.1l-0.7,1.1c0,0.2 0,0.3 0.1,0.4s0.2,0.2 0.3,0.3c0.2,0.1 0.4,0.1 0.6,0c0.2,0.1 0.3,0 0.5,-0.4l0,0z" class="st8"/>
|
||||
<path id="svg_68" d="m150.7,229.1c-0.4,-0.2 -0.6,-0.5 -0.6,-0.8c-0.1,-0.4 0,-0.7 0.2,-1.1l0.1,-0.1c0.2,-0.4 0.5,-0.6 0.9,-0.7c0.4,-0.1 0.7,-0.1 1,0.1c0.3,0.2 0.5,0.5 0.6,0.8s0,0.6 -0.2,1l-0.2,0.3l-1.7,-1l0,0c-0.1,0.2 -0.2,0.5 -0.2,0.7s0.2,0.4 0.4,0.5c0.2,0.1 0.3,0.1 0.5,0.2c0.1,0 0.3,0 0.4,0l0,0.4c-0.1,0 -0.3,0 -0.5,0c-0.3,-0.1 -0.5,-0.1 -0.7,-0.3zm1.2,-2.3c-0.2,-0.1 -0.3,-0.1 -0.5,0c-0.2,0.1 -0.4,0.2 -0.5,0.4l0,0l1.2,0.7l0,-0.1c0.1,-0.2 0.1,-0.4 0.1,-0.5c0,-0.2 -0.1,-0.4 -0.3,-0.5z" class="st8"/>
|
||||
<path id="svg_69" d="m154,226.5l0.2,-0.3l0.9,0.5l-1.9,3.3l0.3,0.3l-0.2,0.3l-1.2,-0.7l0.2,-0.3l0.4,0.2l1.7,-3l-0.4,-0.3z" class="st8"/>
|
||||
<path id="svg_70" d="m154.8,231.5c-0.4,-0.2 -0.6,-0.5 -0.6,-0.8c-0.1,-0.4 0,-0.7 0.2,-1.1l0.1,-0.1c0.2,-0.4 0.5,-0.6 0.9,-0.7c0.4,-0.1 0.7,-0.1 1,0.1c0.3,0.2 0.5,0.5 0.6,0.8s0,0.6 -0.2,1l-0.2,0.3l-1.7,-1l0,0c-0.1,0.2 -0.2,0.5 -0.2,0.7s0.2,0.4 0.4,0.5c0.2,0.1 0.3,0.1 0.5,0.2c0.1,0 0.3,0 0.4,0l0,0.4c-0.1,0 -0.3,0 -0.5,0c-0.3,-0.1 -0.5,-0.1 -0.7,-0.3zm1.3,-2.3c-0.2,-0.1 -0.3,-0.1 -0.5,0c-0.2,0.1 -0.4,0.2 -0.5,0.4l0,0l1.2,0.7l0,-0.1c0.1,-0.2 0.1,-0.4 0.1,-0.5c0,-0.2 -0.1,-0.4 -0.3,-0.5z" class="st8"/>
|
||||
<path id="svg_71" d="m158.9,229.6l-0.4,0.6l0.5,0.3l-0.2,0.3l-0.5,-0.3l-0.9,1.6c-0.1,0.1 -0.1,0.2 -0.1,0.3c0,0.1 0.1,0.1 0.2,0.2c0,0 0.1,0 0.1,0.1c0.1,0 0.1,0 0.1,0.1l-0.1,0.4c-0.1,0 -0.1,0 -0.2,0c-0.1,0 -0.2,-0.1 -0.3,-0.1c-0.2,-0.1 -0.3,-0.3 -0.4,-0.4c0,-0.2 0,-0.4 0.1,-0.6l0.9,-1.6l-0.4,-0.2l0.2,-0.3l0.4,0.2l0.4,-0.6l0.6,0z" class="st8"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="service"/>
|
||||
<g id="pods"/>
|
||||
<g id="IP"/>
|
||||
<g id="deployments"/>
|
||||
<g id="containers_x2F_volumes"/>
|
||||
<g id="labels_x2F_selectors"/>
|
||||
<g id="Layer_14"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 41 KiB |
|
@ -25,7 +25,7 @@
|
|||
<div class="col-md-8">
|
||||
<h3>Scaling an application</h3>
|
||||
|
||||
<p>In the previous modules we created a <a href="http://kubernetes.io/docs/user-guide/deployments/"> Deployment</a>, and then exposed it publicly via a <a href="http://kubernetes.io/docs/user-guide/services/"> Service </a>. The Deployment created only one Pod for running our application. When traffic increases, we will need to scale the application to keep up with user demand.</p>
|
||||
<p>In the previous modules we created a <a href="http://kubernetes.io/docs/user-guide/deployments/"> Deployment</a>, and then exposed it publicly via a <a href="http://kubernetes.io/docs/user-guide/services/">Service</a>. The Deployment created only one Pod for running our application. When traffic increases, we will need to scale the application to keep up with user demand.</p>
|
||||
|
||||
<p><b>Scaling</b> is accomplished by changing the number of replicas in a Deployment</p>
|
||||
|
||||
|
|
|
@ -25,10 +25,10 @@
|
|||
<div class="col-md-8">
|
||||
<h3>Updating an application</h3>
|
||||
|
||||
<p>Users expect applications to be available all the time and developers are expected to deploy new versions of them several times a day. In Kubernetes this is done with rolling updates. <b>Rolling updates</b> allows Deployments to occur with zero downtime by incrementally updating Pods instances with new ones. The new Pods will be scheduled on Nodes with available resources.</p>
|
||||
<p>Users expect applications to be available all the time and developers are expected to deploy new versions of them several times a day. In Kubernetes this is done with rolling updates. <b>Rolling updates</b> allow Deployments' update to take place with zero downtime by incrementally updating Pods instances with new ones. The new Pods will be scheduled on Nodes with available resources.</p>
|
||||
|
||||
<p>In the previous module we scaled our application to run multiple instances. This is a requirement for performing updates without affecting application availability. By default, the maximum number of Pods that can be unavailable during the update and the maximum number of new Pods that can be created, is one. Both options can be configured to either numbers or percentages (of Pods).
|
||||
In Kubernetes, updates are versioned and any Deployment update can be reverted to a previously (stable) version.</p>
|
||||
In Kubernetes, updates are versioned and any Deployment update can be reverted to previous (stable) version.</p>
|
||||
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
|
@ -39,7 +39,7 @@
|
|||
</ul>
|
||||
</div>
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i>Rolling updates allows Deployments update with zero downtime by incrementally updating Pods instances with new ones. </i></p>
|
||||
<p><i>Rolling updates allow Deployments' update to take place with zero downtime by incrementally updating Pods instances with new ones. </i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -103,7 +103,7 @@ provides load balancing for an application that has two running instances.
|
|||
|
||||
curl http://<public-node-ip>:<node-port>
|
||||
|
||||
where `<public-node-ip>` us the public IP address of your node,
|
||||
where `<public-node-ip>` is the public IP address of your node,
|
||||
and `<node-port>` is the NodePort value for your service.
|
||||
|
||||
The response to a successful request is a hello message:
|
||||
|
|
|
@ -64,7 +64,7 @@ external IP address.
|
|||
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
||||
my-service 10.3.245.137 104.198.205.71 8080/TCP 54s
|
||||
|
||||
Note: If the external IP address is shown as <pending>, wait for a minute
|
||||
Note: If the external IP address is shown as \<pending\>, wait for a minute
|
||||
and enter the same command again.
|
||||
|
||||
1. Display detailed information about the Service:
|
||||
|
@ -110,7 +110,7 @@ external IP address.
|
|||
|
||||
curl http://<external-ip>:<port>
|
||||
|
||||
where `<external-ip>` us the external IP address of your Service,
|
||||
where `<external-ip>` is the external IP address of your Service,
|
||||
and `<port>` is the value of `Port` in your Service description.
|
||||
|
||||
The response to a successful request is a hello message:
|
||||
|
|
|
@ -37,8 +37,7 @@ a Deployment that runs the nginx:1.7.9 Docker image:
|
|||
|
||||
1. Create a Deployment based on the YAML file:
|
||||
|
||||
export REPO=https://raw.githubusercontent.com/kubernetes/kubernetes.github.io/master
|
||||
kubectl create -f $REPO/docs/tutorials/stateless-application/deployment.yaml
|
||||
kubectl create -f http://k8s.io/docs/tutorials/stateless-application/deployment.yaml
|
||||
|
||||
1. Display information about the Deployment:
|
||||
|
||||
|
@ -81,7 +80,7 @@ specifies that the deployment should be updated to use nginx 1.8.
|
|||
|
||||
1. Apply the new YAML file:
|
||||
|
||||
kubectl apply -f $REPO/docs/tutorials/stateless-application/deployment-update.yaml
|
||||
kubectl apply -f http://k8s.io/docs/tutorials/stateless-application/deployment-update.yaml
|
||||
|
||||
1. Watch the deployment create pods with new names and delete the old pods:
|
||||
|
||||
|
@ -97,7 +96,7 @@ should have four pods:
|
|||
|
||||
1. Apply the new YAML file:
|
||||
|
||||
kubectl apply -f $REPO/docs/tutorials/stateless-application/deployment-scale.yaml
|
||||
kubectl apply -f http://k8s.io/docs/tutorials/stateless-application/deployment-scale.yaml
|
||||
|
||||
1. Verify that the Deployment has four pods:
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ This document is meant to highlight and consolidate in one place configuration b
|
|||
- Don't specify default values unnecessarily, in order to simplify and minimize configs, and to
|
||||
reduce error. For example, omit the selector and labels in a `ReplicationController` if you want
|
||||
them to be the same as the labels in its `podTemplate`, since those fields are populated from the
|
||||
`podTemplate` labels by default. See the [guestbook app's](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/examples/guestbook/) .yaml files for some [examples](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/examples/guestbook/frontend-controller.yaml) of this.
|
||||
`podTemplate` labels by default. See the [guestbook app's](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/examples/guestbook/) .yaml files for some [examples](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/examples/guestbook/frontend-deployment.yaml) of this.
|
||||
|
||||
- Put an object description in an annotation to allow better introspection.
|
||||
|
||||
|
|
|
@ -14,8 +14,8 @@ should run in a container. In this case, Kubernetes runs the image's default co
|
|||
to run a particular command or override the image's defaults, there are two additional fields that
|
||||
we can use:
|
||||
|
||||
1. `Command`: Controls the actual command run by the image
|
||||
2. `Args`: Controls the arguments passed to the command
|
||||
1. `command`: Controls the actual command run by the image
|
||||
2. `args`: Controls the arguments passed to the command
|
||||
|
||||
### How docker handles command and arguments
|
||||
|
||||
|
@ -28,20 +28,20 @@ fields as either a string array or a string and there are subtle differences in
|
|||
handled. We encourage the curious to check out Docker's documentation for this feature.
|
||||
|
||||
Kubernetes allows you to override both the image's default command (docker `Entrypoint`) and args
|
||||
(docker `Cmd`) with the `Command` and `Args` fields of `Container`. The rules are:
|
||||
(docker `Cmd`) with the `command` and `args` fields of `container`. The rules are:
|
||||
|
||||
1. If you do not supply a `Command` or `Args` for a container, the defaults defined by the image
|
||||
will be used
|
||||
2. If you supply a `Command` but no `Args` for a container, only the supplied `Command` will be
|
||||
used; the image's default arguments are ignored
|
||||
3. If you supply only `Args`, the image's default command will be used with the arguments you
|
||||
supply
|
||||
4. If you supply a `Command` **and** `Args`, the image's defaults will be ignored and the values
|
||||
you supply will be used
|
||||
1. If you do not supply a `command` or `args` for a container, the defaults defined by the image
|
||||
will be used.
|
||||
2. If you supply a `command` but no `args` for a container, only the supplied `command` will be
|
||||
used; the image's default arguments are ignored.
|
||||
3. If you supply only `args`, the image's default command will be used with the arguments you
|
||||
supply.
|
||||
4. If you supply a `command` **and** `args`, the image's defaults will be ignored and the values
|
||||
you supply will be used.
|
||||
|
||||
Here are examples for these rules in table format
|
||||
|
||||
| Image `Entrypoint` | Image `Cmd` | Container `Command` | Container `Args` | Command Run |
|
||||
| Image `Entrypoint` | Image `Cmd` | Container `command` | Container `args` | Command Run |
|
||||
|--------------------|------------------|---------------------|--------------------|------------------|
|
||||
| `[/ep-1]` | `[foo bar]` | <not set> | <not set> | `[ep-1 foo bar]` |
|
||||
| `[/ep-1]` | `[foo bar]` | `[/ep-2]` | <not set> | `[ep-2]` |
|
||||
|
|
|
@ -50,7 +50,7 @@ a matching secret in all underlying kubernetes clusters.
|
|||
You can verify this by checking each of the underlying clusters, for example:
|
||||
|
||||
``` shell
|
||||
kubectl --context=gce-asia-east1a get rs myrs
|
||||
kubectl --context=gce-asia-east1a get secret mysecret
|
||||
```
|
||||
|
||||
The above assumes that you have a context named 'gce-asia-east1a'
|
||||
|
@ -77,7 +77,7 @@ the federation apiserver instead of sending it to a specific Kubernetes cluster.
|
|||
For example, you can do that using kubectl by running:
|
||||
|
||||
```shell
|
||||
kubectl --context=federation-cluster delete rs myrs
|
||||
kubectl --context=federation-cluster delete secret mysecret
|
||||
```
|
||||
|
||||
Note that at this point, deleting a federated secret will not delete the
|
||||
|
|
|
@ -5,7 +5,7 @@ assignees:
|
|||
|
||||
---
|
||||
|
||||
Each container in a pod has its own image. Currently, the only type of image supported is a [Docker Image](https://docs.docker.com/userguide/dockerimages/).
|
||||
Each container in a pod has its own image. Currently, the only type of image supported is a [Docker Image](https://docs.docker.com/engine/tutorials/dockerimages/).
|
||||
|
||||
You create your Docker image and push it to a registry before referring to it in a Kubernetes pod.
|
||||
|
||||
|
|
|
@ -178,7 +178,7 @@ $ KUBE_EDITOR="nano" kubectl edit svc/docker-registry # Use an alternative edi
|
|||
## Scaling Resources
|
||||
|
||||
```console
|
||||
$ kubectl scale --replicas=3 rs/foo # Scale a replicaset named 'foo' to
|
||||
$ kubectl scale --replicas=3 rs/foo # Scale a replicaset named 'foo' to 3
|
||||
$ kubectl scale --replicas=3 -f foo.yaml # Scale a resource specified in "foo.yaml" to 3
|
||||
$ kubectl scale --current-replicas=2 --replicas=3 deployment/mysql # If the deployment named mysql's current size is 2, scale mysql to 3
|
||||
$ kubectl scale --replicas=5 rc/foo rc/bar rc/baz # Scale multiple replication controllers
|
||||
|
|
|
@ -99,10 +99,10 @@ _Set-based_ requirements can be mixed with _equality-based_ requirements. For ex
|
|||
|
||||
### LIST and WATCH filtering
|
||||
|
||||
LIST and WATCH operations may specify label selectors to filter the sets of objects returned using a query parameter. Both requirements are permitted:
|
||||
LIST and WATCH operations may specify label selectors to filter the sets of objects returned using a query parameter. Both requirements are permitted (presented here as they would appear in a URL query string):
|
||||
|
||||
* _equality-based_ requirements: `?labelSelector=environment%3Dproduction,tier%3Dfrontend`
|
||||
* _set-based_ requirements: `?labelSelector=environment+in+%28production%2Cqa%29%2Ctier+in+%28frontend%29`
|
||||
* _equality-based_ requirements: `?labelSelector=environment%3Dproduction,tier%3Dfrontend`
|
||||
* _set-based_ requirements: `?labelSelector=environment+in+%28production%2Cqa%29%2Ctier+in+%28frontend%29`
|
||||
|
||||
Both label selector styles can be used to list or watch resources via a REST client. For example, targeting `apiserver` with `kubectl` and using _equality-based_ one may write:
|
||||
|
||||
|
|
|
@ -7,30 +7,52 @@ assignees:
|
|||
|
||||
To deploy and manage applications on Kubernetes, you’ll use the Kubernetes command-line tool, [kubectl](/docs/user-guide/kubectl/). It lets you inspect your cluster resources, create, delete, and update components, and much more. You will use it to look at your new cluster and bring up example apps.
|
||||
|
||||
## Installing kubectl
|
||||
## Install kubectl Binary Via curl
|
||||
|
||||
If you downloaded a pre-compiled [release](https://github.com/kubernetes/kubernetes/releases), kubectl should be under `platforms/<os>/<arch>` from the tar bundle.
|
||||
|
||||
If you built from source, kubectl should be either under `_output/local/bin/<os>/<arch>` or `_output/dockerized/bin/<os>/<arch>`.
|
||||
|
||||
The kubectl binary doesn't have to be installed to be executable, but the rest of the walkthrough will assume that it's in your PATH.
|
||||
|
||||
The simplest way to install is to copy or move kubectl into a dir already in PATH (e.g. `/usr/local/bin`). For example:
|
||||
Download the latest release with the command:
|
||||
|
||||
```shell
|
||||
# OS X
|
||||
$ sudo cp kubernetes/platforms/darwin/amd64/kubectl /usr/local/bin/kubectl
|
||||
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl
|
||||
|
||||
# Linux
|
||||
$ sudo cp kubernetes/platforms/linux/amd64/kubectl /usr/local/bin/kubectl
|
||||
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
|
||||
```
|
||||
|
||||
You also need to ensure it's executable:
|
||||
If you want to download a specific version of kubectl you can replace the nested curl command from above with the version you want. (e.g. v1.4.6, v1.5.0-beta.2)
|
||||
|
||||
Make the kubectl binary executable and move it to your PATH (e.g. `/usr/local/bin`):
|
||||
|
||||
```shell
|
||||
$ sudo chmod +x /usr/local/bin/kubectl
|
||||
chmod +x ./kubectl
|
||||
sudo mv ./kubectl /usr/local/bin/kubectl
|
||||
```
|
||||
|
||||
If you prefer not to copy kubectl, you need to ensure the tool is in your path:
|
||||
## Extract kubectl from Release .tar.gz or Compiled Source
|
||||
|
||||
If you downloaded a pre-compiled [release](https://github.com/kubernetes/kubernetes/releases), kubectl will be under `platforms/<os>/<arch>` from the tar bundle.
|
||||
|
||||
If you compiled kubernetes from source, kubectl should be either under `_output/local/bin/<os>/<arch>` or `_output/dockerized/bin/<os>/<arch>`.
|
||||
|
||||
Copy or move kubectl into a directory already in your PATH (e.g. `/usr/local/bin`). For example:
|
||||
|
||||
```shell
|
||||
# OS X
|
||||
sudo cp platforms/darwin/amd64/kubectl /usr/local/bin/kubectl
|
||||
|
||||
# Linux
|
||||
sudo cp platforms/linux/amd64/kubectl /usr/local/bin/kubectl
|
||||
```
|
||||
|
||||
Next make it executable with the following command:
|
||||
|
||||
```shell
|
||||
sudo chmod +x /usr/local/bin/kubectl
|
||||
```
|
||||
|
||||
The kubectl binary doesn't have to be installed to be executable, but the rest of the walkthrough will assume that it's in your PATH.
|
||||
|
||||
If you prefer not to copy kubectl, you need to ensure it is in your path:
|
||||
|
||||
```shell
|
||||
# OS X
|
||||
|
@ -57,4 +79,4 @@ If you see a url response, you are ready to go.
|
|||
|
||||
## What's next?
|
||||
|
||||
[Learn how to launch and expose your application.](/docs/user-guide/quick-start)
|
||||
[Learn how to launch and expose your application.](/docs/user-guide/quick-start)
|
||||
|
|
|
@ -204,7 +204,7 @@ The status of the init containers is returned as another annotation - `pod.beta.
|
|||
|
||||
Init containers support all of the same features as normal containers, including resource limits, volumes, and security settings. The resource requests and limits for an init container are handled slightly different than normal containers since init containers are run one at a time instead of all at once - any limits or quotas will be applied based on the largest init container resource quantity, rather than as the sum of quantities. Init containers do not support readiness probes since they will run to completion before the pod can be ready.
|
||||
|
||||
[Complete Init Container Documentation](/docs/user-guide/pods/init-containers.md)
|
||||
[Complete Init Container Documentation](/docs/user-guide/pods/init-container/)
|
||||
|
||||
|
||||
## Lifecycle hooks and termination notice
|
||||
|
|
|
@ -176,7 +176,7 @@ its pods, add appropriate selectors or endpoints and change the service `type`.
|
|||
## Virtual IPs and service proxies
|
||||
|
||||
Every node in a Kubernetes cluster runs a `kube-proxy`. `kube-proxy` is
|
||||
responsible for implementing a form of virtual IP for `Service`s of type other
|
||||
responsible for implementing a form of virtual IP for `Services` of type other
|
||||
than `ExternalName`.
|
||||
In Kubernetes v1.0 the proxy was purely in userspace. In Kubernetes v1.1 an
|
||||
iptables proxy was added, but was not the default operating mode. Since
|
||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue