Merge branch 'master' of https://github.com/kubernetes/kubernetes.github.io into release-1.6
* 'master' of https://github.com/kubernetes/kubernetes.github.io: Replace the tab with 4 spaces in md files (#2797) fix link error Replace the tab with 4 spaces in html files hitting the `ClusterIP` from a pod (#2826) # Conflicts: # docs/admin/accessing-the-api.md # docs/api-reference/extensions/v1beta1/definitions.html # docs/getting-started-guides/kubeadm.md # docs/user-guide/kubectl/index.md
This commit is contained in:
+32
-32
@@ -1,34 +1,34 @@
|
|||||||
<footer>
|
<footer>
|
||||||
<main class="light-text">
|
<main class="light-text">
|
||||||
<nav>
|
<nav>
|
||||||
<a href="/docs/hellonode/">Get Started</a>
|
<a href="/docs/hellonode/">Get Started</a>
|
||||||
<a href="/docs/">Documentation</a>
|
<a href="/docs/">Documentation</a>
|
||||||
<a href="http://blog.kubernetes.io/">Blog</a>
|
<a href="http://blog.kubernetes.io/">Blog</a>
|
||||||
<a href="/partners/">Partners</a>
|
<a href="/partners/">Partners</a>
|
||||||
<a href="/community/">Community</a>
|
<a href="/community/">Community</a>
|
||||||
<a href="/case-studies/">Case Studies</a>
|
<a href="/case-studies/">Case Studies</a>
|
||||||
</nav>
|
</nav>
|
||||||
<div class="social">
|
<div class="social">
|
||||||
<div>
|
<div>
|
||||||
<a href="https://twitter.com/kubernetesio" class="twitter"><span>twitter</span></a>
|
<a href="https://twitter.com/kubernetesio" class="twitter"><span>twitter</span></a>
|
||||||
<a href="https://github.com/kubernetes/kubernetes" class="github"><span>Github</span></a>
|
<a href="https://github.com/kubernetes/kubernetes" class="github"><span>Github</span></a>
|
||||||
<a href="http://slack.k8s.io/" class="slack"><span>Slack</span></a>
|
<a href="http://slack.k8s.io/" class="slack"><span>Slack</span></a>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<a href="http://stackoverflow.com/questions/tagged/kubernetes" class="stack-overflow"><span>Stack Overflow</span></a>
|
<a href="http://stackoverflow.com/questions/tagged/kubernetes" class="stack-overflow"><span>Stack Overflow</span></a>
|
||||||
<a href="https://groups.google.com/forum/#!forum/kubernetes-users" class="mailing-list"><span>Mailing List</span></a>
|
<a href="https://groups.google.com/forum/#!forum/kubernetes-users" class="mailing-list"><span>Mailing List</span></a>
|
||||||
<a href="https://calendar.google.com/calendar/embed?src=nt2tcnbtbied3l6gi2h29slvc0%40group.calendar.google.com" class="calendar"><span>Events Calendar</span></a>
|
<a href="https://calendar.google.com/calendar/embed?src=nt2tcnbtbied3l6gi2h29slvc0%40group.calendar.google.com" class="calendar"><span>Events Calendar</span></a>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<a href="//get.k8s.io" class="button">Download K8s</a>
|
<a href="//get.k8s.io" class="button">Download K8s</a>
|
||||||
<a href="https://github.com/kubernetes/kubernetes" class="button">Contribute to the K8s codebase</a>
|
<a href="https://github.com/kubernetes/kubernetes" class="button">Contribute to the K8s codebase</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="miceType" class="center">
|
<div id="miceType" class="center">
|
||||||
© {{ 'now' | date: "%Y" }} The Kubernetes Authors | Documentation Distributed under <a href="https://github.com/kubernetes/kubernetes.github.io/blob/master/LICENSE" class="light-text">CC BY 4.0</a>
|
© {{ 'now' | date: "%Y" }} The Kubernetes Authors | Documentation Distributed under <a href="https://github.com/kubernetes/kubernetes.github.io/blob/master/LICENSE" class="light-text">CC BY 4.0</a>
|
||||||
</div>
|
</div>
|
||||||
<div id="miceType" class="center">
|
<div id="miceType" class="center">
|
||||||
Copyright © {{ 'now' | date: "%Y" }} The Linux Foundation®. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Usage page: <a href="https://www.linuxfoundation.org/trademark-usage" class="light-text">https://www.linuxfoundation.org/trademark-usage</a>
|
Copyright © {{ 'now' | date: "%Y" }} The Linux Foundation®. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Usage page: <a href="https://www.linuxfoundation.org/trademark-usage" class="light-text">https://www.linuxfoundation.org/trademark-usage</a>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
</footer>
|
</footer>
|
||||||
|
|||||||
@@ -4275,10 +4275,10 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
|
|||||||
<tr>
|
<tr>
|
||||||
<td class="tableblock halign-left valign-top"><p class="tableblock">host</p></td>
|
<td class="tableblock halign-left valign-top"><p class="tableblock">host</p></td>
|
||||||
<td class="tableblock halign-left valign-top"><p class="tableblock">Host is the fully qualified domain name of a network host, as defined by RFC 3986. Note the following deviations from the "host" part of the URI as defined in the RFC: 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the<br>
|
<td class="tableblock halign-left valign-top"><p class="tableblock">Host is the fully qualified domain name of a network host, as defined by RFC 3986. Note the following deviations from the "host" part of the URI as defined in the RFC: 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the<br>
|
||||||
IP in the Spec of the parent Ingress.<br>
|
IP in the Spec of the parent Ingress.<br>
|
||||||
2. The <code>:</code> delimiter is not respected because ports are not allowed.<br>
|
2. The <code>:</code> delimiter is not respected because ports are not allowed.<br>
|
||||||
Currently the port of an Ingress is implicitly :80 for http and<br>
|
Currently the port of an Ingress is implicitly :80 for http and<br>
|
||||||
:443 for https.<br>
|
:443 for https.<br>
|
||||||
Both these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue.</p></td>
|
Both these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue.</p></td>
|
||||||
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
|
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
|
||||||
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
|
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
|
||||||
|
|||||||
@@ -4393,10 +4393,10 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
|
|||||||
<tr>
|
<tr>
|
||||||
<td class="tableblock halign-left valign-top"><p class="tableblock">host</p></td>
|
<td class="tableblock halign-left valign-top"><p class="tableblock">host</p></td>
|
||||||
<td class="tableblock halign-left valign-top"><p class="tableblock">Host is the fully qualified domain name of a network host, as defined by RFC 3986. Note the following deviations from the "host" part of the URI as defined in the RFC: 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the<br>
|
<td class="tableblock halign-left valign-top"><p class="tableblock">Host is the fully qualified domain name of a network host, as defined by RFC 3986. Note the following deviations from the "host" part of the URI as defined in the RFC: 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the<br>
|
||||||
IP in the Spec of the parent Ingress.<br>
|
IP in the Spec of the parent Ingress.<br>
|
||||||
2. The <code>:</code> delimiter is not respected because ports are not allowed.<br>
|
2. The <code>:</code> delimiter is not respected because ports are not allowed.<br>
|
||||||
Currently the port of an Ingress is implicitly :80 for http and<br>
|
Currently the port of an Ingress is implicitly :80 for http and<br>
|
||||||
:443 for https.<br>
|
:443 for https.<br>
|
||||||
Both these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue.</p></td>
|
Both these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue.</p></td>
|
||||||
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
|
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
|
||||||
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
|
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
|
||||||
|
|||||||
@@ -4613,10 +4613,10 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
|
|||||||
<tr>
|
<tr>
|
||||||
<td class="tableblock halign-left valign-top"><p class="tableblock">host</p></td>
|
<td class="tableblock halign-left valign-top"><p class="tableblock">host</p></td>
|
||||||
<td class="tableblock halign-left valign-top"><p class="tableblock">Host is the fully qualified domain name of a network host, as defined by RFC 3986. Note the following deviations from the "host" part of the URI as defined in the RFC: 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the<br>
|
<td class="tableblock halign-left valign-top"><p class="tableblock">Host is the fully qualified domain name of a network host, as defined by RFC 3986. Note the following deviations from the "host" part of the URI as defined in the RFC: 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the<br>
|
||||||
IP in the Spec of the parent Ingress.<br>
|
IP in the Spec of the parent Ingress.<br>
|
||||||
2. The <code>:</code> delimiter is not respected because ports are not allowed.<br>
|
2. The <code>:</code> delimiter is not respected because ports are not allowed.<br>
|
||||||
Currently the port of an Ingress is implicitly :80 for http and<br>
|
Currently the port of an Ingress is implicitly :80 for http and<br>
|
||||||
:443 for https.<br>
|
:443 for https.<br>
|
||||||
Both these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue.</p></td>
|
Both these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue.</p></td>
|
||||||
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
|
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
|
||||||
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
|
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
|
||||||
|
|||||||
+14
-14
@@ -59,20 +59,20 @@
|
|||||||
|
|
||||||
<p><a href=""><img src="https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/{{ page.path }}?pixel" alt="Analytics" /></a></p>
|
<p><a href=""><img src="https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/{{ page.path }}?pixel" alt="Analytics" /></a></p>
|
||||||
{% if page.url != "/404.html" and page.url != "/docs/search/" %}
|
{% if page.url != "/404.html" and page.url != "/docs/search/" %}
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
PDRTJS_settings_8345992 = {
|
PDRTJS_settings_8345992 = {
|
||||||
"id" : "8345992",
|
"id" : "8345992",
|
||||||
"unique_id" : "{{ page.url }}",
|
"unique_id" : "{{ page.url }}",
|
||||||
"title" : "{{ page.title }}",
|
"title" : "{{ page.title }}",
|
||||||
"permalink" : "http://kubernetes.github.io{{ page.url }}"
|
"permalink" : "http://kubernetes.github.io{{ page.url }}"
|
||||||
};
|
};
|
||||||
(function(d,c,j){if(!document.getElementById(j)){var pd=d.createElement(c),s;pd.id=j;pd.src=('https:'==document.location.protocol)?'https://polldaddy.com/js/rating/rating.js':'http://i0.poll.fm/js/rating/rating.js';s=document.getElementsByTagName(c)[0];s.parentNode.insertBefore(pd,s);}}(document,'script','pd-rating-js'));
|
(function(d,c,j){if(!document.getElementById(j)){var pd=d.createElement(c),s;pd.id=j;pd.src=('https:'==document.location.protocol)?'https://polldaddy.com/js/rating/rating.js':'http://i0.poll.fm/js/rating/rating.js';s=document.getElementsByTagName(c)[0];s.parentNode.insertBefore(pd,s);}}(document,'script','pd-rating-js'));
|
||||||
</script>
|
</script>
|
||||||
<a href="" onclick="window.open('https://github.com/kubernetes/kubernetes.github.io/issues/new?title=Issue%20with%20' +
|
<a href="" onclick="window.open('https://github.com/kubernetes/kubernetes.github.io/issues/new?title=Issue%20with%20' +
|
||||||
window.location.pathname)" class="button issue">Create an Issue</a>
|
window.location.pathname)" class="button issue">Create an Issue</a>
|
||||||
<a href="/editdocs#{{ page.path }}" class="button issue">Edit this Page</a>
|
<a href="/editdocs#{{ page.path }}" class="button issue">Edit this Page</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{% include_cached footer.html %}
|
{% include_cached footer.html %}
|
||||||
|
|||||||
+77
-77
@@ -6,94 +6,94 @@ cid: caseStudies
|
|||||||
---
|
---
|
||||||
|
|
||||||
<section id="hero" class="light-text">
|
<section id="hero" class="light-text">
|
||||||
<h1>Kubernetes User Case Studies</h1>
|
<h1>Kubernetes User Case Studies</h1>
|
||||||
<h5>A collection of users running Kubernetes in production.</h5>
|
<h5>A collection of users running Kubernetes in production.</h5>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id="mainContent">
|
<section id="mainContent">
|
||||||
<main>
|
<main>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="case-studies">
|
<div class="case-studies">
|
||||||
<div class="case-study">
|
<div class="case-study">
|
||||||
<img src="/images/case_studies/pearson.png" alt="Pearson">
|
<img src="/images/case_studies/pearson.png" alt="Pearson">
|
||||||
<p class="quote">"We chose Kubernetes because of its flexibility, ease of management and the way it improves our engineers' productivity."</p>
|
<p class="quote">"We chose Kubernetes because of its flexibility, ease of management and the way it improves our engineers' productivity."</p>
|
||||||
<!--<p class="attrib">— Chris Jackson, Director for Cloud Product Engineering, Pearson</p>-->
|
<!--<p class="attrib">— Chris Jackson, Director for Cloud Product Engineering, Pearson</p>-->
|
||||||
<a href="./pearson/">Read about Pearson</a>
|
<a href="./pearson/">Read about Pearson</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="case-study">
|
<div class="case-study">
|
||||||
<img src="/images/case_studies/wikimedia.png" alt="Wikimedia">
|
<img src="/images/case_studies/wikimedia.png" alt="Wikimedia">
|
||||||
<p class="quote">"With Kubernetes, we're simplifying our environment and making it easier for developers to build the tools that make wikis run better."</p>
|
<p class="quote">"With Kubernetes, we're simplifying our environment and making it easier for developers to build the tools that make wikis run better."</p>
|
||||||
<!--<p class="attrib">— Yuvi Panda, Operations Engineer, Wikimedia Foundation</p>-->
|
<!--<p class="attrib">— Yuvi Panda, Operations Engineer, Wikimedia Foundation</p>-->
|
||||||
<a href="./wikimedia/">Read about Wikimedia</a>
|
<a href="./wikimedia/">Read about Wikimedia</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="case-study">
|
<div class="case-study">
|
||||||
<img src="/images/case_studies/ebay.png" alt="eBay">
|
<img src="/images/case_studies/ebay.png" alt="eBay">
|
||||||
<p class="quote">Inside eBay's shift to Kubernetes and containers atop OpenStack</p>
|
<p class="quote">Inside eBay's shift to Kubernetes and containers atop OpenStack</p>
|
||||||
<a href="http://www.nextplatform.com/2015/11/12/inside-ebays-shift-to-kubernetes-and-containers-atop-openstack/">Read about eBay</a>
|
<a href="http://www.nextplatform.com/2015/11/12/inside-ebays-shift-to-kubernetes-and-containers-atop-openstack/">Read about eBay</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="case-study">
|
<div class="case-study">
|
||||||
<img src="/images/case_studies/box.png" alt="box">
|
<img src="/images/case_studies/box.png" alt="box">
|
||||||
<p class="quote">Kubernetes at Box: Microservices at Maximum Velocity</p>
|
<p class="quote">Kubernetes at Box: Microservices at Maximum Velocity</p>
|
||||||
<a href="https://blog.box.com/blog/kubernetes-box-microservices-maximum-velocity/">Read about Box</a>
|
<a href="https://blog.box.com/blog/kubernetes-box-microservices-maximum-velocity/">Read about Box</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id="video">
|
<section id="video">
|
||||||
<main>
|
<main>
|
||||||
<!--<div>-->
|
<!--<div>-->
|
||||||
<!--<h3>"I don't want to deploy software the old way ever again"</h3>-->
|
<!--<h3>"I don't want to deploy software the old way ever again"</h3>-->
|
||||||
<!--<p class="attrib">— Dylan Carney, Lead Software Engineer, Zulily</p>-->
|
<!--<p class="attrib">— Dylan Carney, Lead Software Engineer, Zulily</p>-->
|
||||||
<!--<img src="/images/case_studies/zulily.png" id="zulilyLogo" alt="zulily">-->
|
<!--<img src="/images/case_studies/zulily.png" id="zulilyLogo" alt="zulily">-->
|
||||||
<!--</div>-->
|
<!--</div>-->
|
||||||
<!--<div><button onclick="kub.showVideo()"><img src="/images/case_studies/video_thumb.jpg" alt="Zulily video"><h6>Kubernetes at zulily</h6></button></div>-->
|
<!--<div><button onclick="kub.showVideo()"><img src="/images/case_studies/video_thumb.jpg" alt="Zulily video"><h6>Kubernetes at zulily</h6></button></div>-->
|
||||||
<div>
|
<div>
|
||||||
<!--<h3>SAP</h3>-->
|
<!--<h3>SAP</h3>-->
|
||||||
<h3>SAP's OpenStack, running on Kubernetes in production</h3>
|
<h3>SAP's OpenStack, running on Kubernetes in production</h3>
|
||||||
<img src="/images/case_studies/sap_small.png" id="zulilyLogo" alt="SAP">
|
<img src="/images/case_studies/sap_small.png" id="zulilyLogo" alt="SAP">
|
||||||
</div>
|
</div>
|
||||||
<div><button onclick="kub.showVideo()"><img src="/images/case_studies/video_thumb1.png" alt="SAP video"><h6>Kubernetes at SAP</h6></button></div>
|
<div><button onclick="kub.showVideo()"><img src="/images/case_studies/video_thumb1.png" alt="SAP video"><h6>Kubernetes at SAP</h6></button></div>
|
||||||
</main>
|
</main>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id="users">
|
<section id="users">
|
||||||
<main>
|
<main>
|
||||||
<h3>Kubernetes Users</h3>
|
<h3>Kubernetes Users</h3>
|
||||||
<div id="usersGrid">
|
<div id="usersGrid">
|
||||||
<a target="_blank" href="https://www.youtube.com/watch?v=P5qfyv_zGcU"><img src="/images/case_studies/nyt.png" alt="New York Times"></a>
|
<a target="_blank" href="https://www.youtube.com/watch?v=P5qfyv_zGcU"><img src="/images/case_studies/nyt.png" alt="New York Times"></a>
|
||||||
<a target="_blank" href="https://openai.com/blog/infrastructure-for-deep-learning"><img src="/images/case_studies/openai.png" alt="OpenAI"></a>
|
<a target="_blank" href="https://openai.com/blog/infrastructure-for-deep-learning"><img src="/images/case_studies/openai.png" alt="OpenAI"></a>
|
||||||
<a target="_blank" href="http://blogs.wsj.com/cio/2016/02/24/big-changes-in-goldmans-software-emerge-from-small-containers/"><img src="/images/case_studies/gs.png" alt="Goldman Sachs"></a>
|
<a target="_blank" href="http://blogs.wsj.com/cio/2016/02/24/big-changes-in-goldmans-software-emerge-from-small-containers/"><img src="/images/case_studies/gs.png" alt="Goldman Sachs"></a>
|
||||||
<a target="_blank" href="https://youtu.be/4gyeixJLabo"><img src="/images/case_studies/sap.png" alt="SAP"></a>
|
<a target="_blank" href="https://youtu.be/4gyeixJLabo"><img src="/images/case_studies/sap.png" alt="SAP"></a>
|
||||||
<a target="_blank" href="http://www.nextplatform.com/2016/05/24/samsung-experts-put-kubernetes-paces/"><img src="/images/case_studies/sds.png" alt="Samsung SDS"></a>
|
<a target="_blank" href="http://www.nextplatform.com/2016/05/24/samsung-experts-put-kubernetes-paces/"><img src="/images/case_studies/sds.png" alt="Samsung SDS"></a>
|
||||||
<a target="_blank" href="http://thenewstack.io/wepay-kubernetes-changed-business/"><img src="/images/case_studies/wepay.png" alt="WePay"></a>
|
<a target="_blank" href="http://thenewstack.io/wepay-kubernetes-changed-business/"><img src="/images/case_studies/wepay.png" alt="WePay"></a>
|
||||||
<a target="_blank" href="https://www.youtube.com/watch?v=5378N5iLb2Q"><img src="/images/case_studies/soundcloud.png" alt="SoundCloud"></a>
|
<a target="_blank" href="https://www.youtube.com/watch?v=5378N5iLb2Q"><img src="/images/case_studies/soundcloud.png" alt="SoundCloud"></a>
|
||||||
<a target="_blank" href="https://www.youtube.com/watch?v=F3iMkz_NSvU"><img src="/images/case_studies/homeoffice.png" alt="UK Home Office"></a>
|
<a target="_blank" href="https://www.youtube.com/watch?v=F3iMkz_NSvU"><img src="/images/case_studies/homeoffice.png" alt="UK Home Office"></a>
|
||||||
<a target="_blank" href="http://searchitoperations.techtarget.com/news/450297178/Tech-firms-roll-out-Kubernetes-in-production"><img src="/images/case_studies/concur.png" alt="Concur"></a>
|
<a target="_blank" href="http://searchitoperations.techtarget.com/news/450297178/Tech-firms-roll-out-Kubernetes-in-production"><img src="/images/case_studies/concur.png" alt="Concur"></a>
|
||||||
<a target="_blank" href="http://www.nextplatform.com/2015/08/04/amadeus-takes-off-with-containers-and-clouds/"><img src="/images/case_studies/amadeus.png" alt="Amadeus"></a>
|
<a target="_blank" href="http://www.nextplatform.com/2015/08/04/amadeus-takes-off-with-containers-and-clouds/"><img src="/images/case_studies/amadeus.png" alt="Amadeus"></a>
|
||||||
<a target="_blank" href="http://superuser.openstack.org/articles/how-ancestry-com-s-open-source-strategy-combines-kubernetes-and-openstack"><img src="/images/case_studies/ancestry.png" alt="Ancestry.com"></a>
|
<a target="_blank" href="http://superuser.openstack.org/articles/how-ancestry-com-s-open-source-strategy-combines-kubernetes-and-openstack"><img src="/images/case_studies/ancestry.png" alt="Ancestry.com"></a>
|
||||||
<a target="_blank" href="https://cloud.google.com/customers/ccp-games/"><img src="/images/case_studies/ccp.png" alt="CCP Games"></a>
|
<a target="_blank" href="https://cloud.google.com/customers/ccp-games/"><img src="/images/case_studies/ccp.png" alt="CCP Games"></a>
|
||||||
<a target="_blank" href="https://www.openstack.org/videos/video/running-kubernetes-on-openstack-at-liveperson"><img src="/images/case_studies/liveperson.png" alt="LivePerson"></a>
|
<a target="_blank" href="https://www.openstack.org/videos/video/running-kubernetes-on-openstack-at-liveperson"><img src="/images/case_studies/liveperson.png" alt="LivePerson"></a>
|
||||||
<a target="_blank" href="https://youtu.be/YkOY7DgXKyw"><img src="/images/case_studies/monzo_logo.png" alt="monzo"></a>
|
<a target="_blank" href="https://youtu.be/YkOY7DgXKyw"><img src="/images/case_studies/monzo_logo.png" alt="monzo"></a>
|
||||||
<a target="_blank" href="https://blog.box.com/blog/kubernetes-box-microservices-maximum-velocity/"><img src="/images/case_studies/box_logo.png" alt="Box"></a>
|
<a target="_blank" href="https://blog.box.com/blog/kubernetes-box-microservices-maximum-velocity/"><img src="/images/case_studies/box_logo.png" alt="Box"></a>
|
||||||
<a target="_blank" href="https://cloudplatform.googleblog.com/2016/09/bringing-Pokemon-GO-to-life-on-Google-Cloud.html"><img src="/images/case_studies/pokemon_go_logo.png" alt="Pokemon GO"></a>
|
<a target="_blank" href="https://cloudplatform.googleblog.com/2016/09/bringing-Pokemon-GO-to-life-on-Google-Cloud.html"><img src="/images/case_studies/pokemon_go_logo.png" alt="Pokemon GO"></a>
|
||||||
<a target="_blank" href="http://blog.kubernetes.io/2016/10/kubernetes-and-openstack-at-yahoo-japan.html"><img src="/images/case_studies/yahooJapan_logo.png" alt="Yahoo! Japan"></a>
|
<a target="_blank" href="http://blog.kubernetes.io/2016/10/kubernetes-and-openstack-at-yahoo-japan.html"><img src="/images/case_studies/yahooJapan_logo.png" alt="Yahoo! Japan"></a>
|
||||||
<a target="_blank" href="https://cloud.google.com/customers/philips/"><img src="/images/case_studies/philips_logo.png" alt="Philips"></a>
|
<a target="_blank" href="https://cloud.google.com/customers/philips/"><img src="/images/case_studies/philips_logo.png" alt="Philips"></a>
|
||||||
<a target="_blank" href="https://youtu.be/EC_ZRLsw58M"><img src="/images/case_studies/buffer_logo.png" alt="buffer"></a>
|
<a target="_blank" href="https://youtu.be/EC_ZRLsw58M"><img src="/images/case_studies/buffer_logo.png" alt="buffer"></a>
|
||||||
<a target="_blank" href="https://youtu.be/lmeFkH-rHII"><img src="/images/case_studies/comcast_logo.png" alt="Comcast"></a>
|
<a target="_blank" href="https://youtu.be/lmeFkH-rHII"><img src="/images/case_studies/comcast_logo.png" alt="Comcast"></a>
|
||||||
<a href="./wikimedia/"><img src="/images/case_studies/wikimedia_logo.png" alt="Wikimedia"></a>
|
<a href="./wikimedia/"><img src="/images/case_studies/wikimedia_logo.png" alt="Wikimedia"></a>
|
||||||
<a href="./pearson/"><img src="/images/case_studies/pearson_logo.png" alt="Pearson"></a>
|
<a href="./pearson/"><img src="/images/case_studies/pearson_logo.png" alt="Pearson"></a>
|
||||||
<a target="_blank" href="#" onclick="event.preventDefault(); kub.showVideo()"><img src="/images/case_studies/zulily_logo.png" alt="zulily"></a>
|
<a target="_blank" href="#" onclick="event.preventDefault(); kub.showVideo()"><img src="/images/case_studies/zulily_logo.png" alt="zulily"></a>
|
||||||
<a target="_blank" href="http://www.nextplatform.com/2015/11/12/inside-ebays-shift-to-kubernetes-and-containers-atop-openstack/"><img src="/images/case_studies/ebay_logo.png" alt="Ebay"></a>
|
<a target="_blank" href="http://www.nextplatform.com/2015/11/12/inside-ebays-shift-to-kubernetes-and-containers-atop-openstack/"><img src="/images/case_studies/ebay_logo.png" alt="Ebay"></a>
|
||||||
<a target="_blank" href="https://docs.google.com/a/google.com/forms/d/e/1FAIpQLScuI7Ye3VQHQTwBASrgkjQDSS5TP0g3AXfFhwSM9YpHgxRKFA/viewform" class="tell-your-story"><img src="/images/case_studies/story.png" alt="Tell your story"></a>
|
<a target="_blank" href="https://docs.google.com/a/google.com/forms/d/e/1FAIpQLScuI7Ye3VQHQTwBASrgkjQDSS5TP0g3AXfFhwSM9YpHgxRKFA/viewform" class="tell-your-story"><img src="/images/case_studies/story.png" alt="Tell your story"></a>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
||||||
<div id="videoPlayer">
|
<div id="videoPlayer">
|
||||||
<!--<iframe data-url="https://www.youtube.com/watch?v=B0_5Nms8sD0" frameborder="0" allowfullscreen></iframe>-->
|
<!--<iframe data-url="https://www.youtube.com/watch?v=B0_5Nms8sD0" frameborder="0" allowfullscreen></iframe>-->
|
||||||
<iframe data-url="https://www.youtube.com/embed/4gyeixJLabo?autoplay=1" frameborder="0" allowfullscreen="true"></iframe>
|
<iframe data-url="https://www.youtube.com/embed/4gyeixJLabo?autoplay=1" frameborder="0" allowfullscreen="true"></iframe>
|
||||||
<button id="closeButton"></button>
|
<button id="closeButton"></button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+60
-60
@@ -6,76 +6,76 @@ cid: caseStudies
|
|||||||
---
|
---
|
||||||
|
|
||||||
<section id="hero" class="light-text">
|
<section id="hero" class="light-text">
|
||||||
<h1> Pearson Case Study</h1>
|
<h1> Pearson Case Study</h1>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id="mainContent">
|
<section id="mainContent">
|
||||||
<main>
|
<main>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<h3 id="caseStudyTitle">Using Kubernetes to reinvent the world's largest educational company</h3>
|
<h3 id="caseStudyTitle">Using Kubernetes to reinvent the world's largest educational company</h3>
|
||||||
<p>
|
<p>
|
||||||
Pearson, the world's education company, serving 75 million learners worldwide, set a goal to more than double that number to 200 million by 2025. A key part of this growth is in digital learning experiences, and that requires an infrastructure platform that is able to scale quickly and deliver products to market faster. So Pearson's Cloud Technology team chose Kubernetes to help build a platform to meet the business requirements. </p>
|
Pearson, the world's education company, serving 75 million learners worldwide, set a goal to more than double that number to 200 million by 2025. A key part of this growth is in digital learning experiences, and that requires an infrastructure platform that is able to scale quickly and deliver products to market faster. So Pearson's Cloud Technology team chose Kubernetes to help build a platform to meet the business requirements. </p>
|
||||||
<div class="feature">
|
<div class="feature">
|
||||||
<img src="/images/case_studies/pearson.png" alt="Pearson">
|
<img src="/images/case_studies/pearson.png" alt="Pearson">
|
||||||
<p class="quote">
|
<p class="quote">
|
||||||
"To transform our infrastructure, we had to think beyond simply enabling automated provisioning, we realized we had to build a platform that would allow Pearson developers to build manage and deploy applications in a completely different way. We chose Kubernetes because of its flexibility, ease of management and the way it would improve our engineers' productivity." </p>
|
"To transform our infrastructure, we had to think beyond simply enabling automated provisioning, we realized we had to build a platform that would allow Pearson developers to build manage and deploy applications in a completely different way. We chose Kubernetes because of its flexibility, ease of management and the way it would improve our engineers' productivity." </p>
|
||||||
<p class="attrib">— Chris Jackson, Director for Cloud Product Engineering, Pearson</p>
|
<p class="attrib">— Chris Jackson, Director for Cloud Product Engineering, Pearson</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="bullets">
|
<section class="bullets">
|
||||||
<main>
|
<main>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="bullet">
|
<div class="bullet">
|
||||||
<h4>Challenges:</h4>
|
<h4>Challenges:</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Pearson had difficulty in scaling and adapting to the growing online audience. They wanted to build and deliver content primarily over the web.</li>
|
<li>Pearson had difficulty in scaling and adapting to the growing online audience. They wanted to build and deliver content primarily over the web.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="bullet">
|
<div class="bullet">
|
||||||
<h4>Why Kubernetes:</h4>
|
<h4>Why Kubernetes:</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Kubernetes will allow Pearson's teams to develop their apps in a consistent manner, saving time and minimizing complexity.</li>
|
<li>Kubernetes will allow Pearson's teams to develop their apps in a consistent manner, saving time and minimizing complexity.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="bullet">
|
<div class="bullet">
|
||||||
<h4>Approach:</h4>
|
<h4>Approach:</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Build a centralized platform for use across the entire enterprise</li>
|
<li>Build a centralized platform for use across the entire enterprise</li>
|
||||||
<li>Use container technology as the core of the platform</li>
|
<li>Use container technology as the core of the platform</li>
|
||||||
<li>Deploy Kubernetes to manage the platform</li>
|
<li>Deploy Kubernetes to manage the platform</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="bullet">
|
<div class="bullet">
|
||||||
<h4>Results:</h4>
|
<h4>Results:</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Pearson is building an enterprise-wide platform for delivering innovative, web-based educational content. They expect engineers' productivity to increase by up to 20 percent.</li>
|
<li>Pearson is building an enterprise-wide platform for delivering innovative, web-based educational content. They expect engineers' productivity to increase by up to 20 percent.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="details">
|
<section class="details">
|
||||||
<main>
|
<main>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<h4>Kubernetes powers a comprehensive developer experience</h4>
|
<h4>Kubernetes powers a comprehensive developer experience</h4>
|
||||||
<p>Pearson wanted to use as much open source technology as possible for the platform given that it provides both technical and commercial benefits over the duration of the project. Jackson says, "Building an infrastructure platform based on open source technology in Pearson was a no-brainer, the sharing of technical challenges and advanced use cases in a community of people with talent far beyond what we could hire independently allows us to innovate at a level we could not reach on our own. Our engineers enjoy returning code to the community and participating in talks, blogs and meetings, it's a great way for us to allow our team to express themselves and share the pride they have in their work."</p>
|
<p>Pearson wanted to use as much open source technology as possible for the platform given that it provides both technical and commercial benefits over the duration of the project. Jackson says, "Building an infrastructure platform based on open source technology in Pearson was a no-brainer, the sharing of technical challenges and advanced use cases in a community of people with talent far beyond what we could hire independently allows us to innovate at a level we could not reach on our own. Our engineers enjoy returning code to the community and participating in talks, blogs and meetings, it's a great way for us to allow our team to express themselves and share the pride they have in their work."</p>
|
||||||
<p>It also wanted to use a container-focused platform. Pearson has 400 development groups and diverse brands with varying business and technical needs. With containers, each brand could experiment with building new types of content using their preferred technologies, and then deliver it using containers. Pearson chose Kubernetes because it believes that is the best technology for managing containers, has the widest community support and offers the most flexible and powerful tools."</p>
|
<p>It also wanted to use a container-focused platform. Pearson has 400 development groups and diverse brands with varying business and technical needs. With containers, each brand could experiment with building new types of content using their preferred technologies, and then deliver it using containers. Pearson chose Kubernetes because it believes that is the best technology for managing containers, has the widest community support and offers the most flexible and powerful tools."</p>
|
||||||
<p>Kubernetes is at the core of the platform we've built for developers. After we get our big spike in back-to-school in traffic, much of Pearson's traffic will interact with Kubernetes. It is proving to be as effective as we had hoped," Jackson says.</p>
|
<p>Kubernetes is at the core of the platform we've built for developers. After we get our big spike in back-to-school in traffic, much of Pearson's traffic will interact with Kubernetes. It is proving to be as effective as we had hoped," Jackson says.</p>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="details">
|
<section class="details">
|
||||||
<main>
|
<main>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<h4>Encouraging experimentation, saving engineers time</h4>
|
<h4>Encouraging experimentation, saving engineers time</h4>
|
||||||
<p>With the new platform, Pearson will increase stability and performance, and to bring products to market more quickly. The company says its engineers will also get a productivity boost because they won't spend time managing infrastructure. Jackson estimates 15 to 20 percent in productivity savings.</p>
|
<p>With the new platform, Pearson will increase stability and performance, and to bring products to market more quickly. The company says its engineers will also get a productivity boost because they won't spend time managing infrastructure. Jackson estimates 15 to 20 percent in productivity savings.</p>
|
||||||
<p>Beyond that, Pearson says the platform will encourage innovation because of the ease with which new applications can be developed, and because applications will be deployed far more quickly than in the past. It expects that will help the company meet its goal of reaching 200 million learners within the next 10 years.</p>
|
<p>Beyond that, Pearson says the platform will encourage innovation because of the ease with which new applications can be developed, and because applications will be deployed far more quickly than in the past. It expects that will help the company meet its goal of reaching 200 million learners within the next 10 years.</p>
|
||||||
<p>"We're already seeing tremendous benefits with Kubernetes — improved engineering productivity, faster delivery of applications and a simplified infrastructure. But this is just the beginning. Kubernetes will help transform the way that educational content is delivered online," says Jackson.</p>
|
<p>"We're already seeing tremendous benefits with Kubernetes — improved engineering productivity, faster delivery of applications and a simplified infrastructure. But this is just the beginning. Kubernetes will help transform the way that educational content is delivered online," says Jackson.</p>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
+75
-75
@@ -6,91 +6,91 @@ cid: caseStudies
|
|||||||
---
|
---
|
||||||
|
|
||||||
<section id="hero" class="light-text">
|
<section id="hero" class="light-text">
|
||||||
<h1> Wikimedia Case Study</h1>
|
<h1> Wikimedia Case Study</h1>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id="mainContent">
|
<section id="mainContent">
|
||||||
<main>
|
<main>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<h3 id="caseStudyTitle">Using Kubernetes to Build Tools to Improve the World's Wikis</h3>
|
<h3 id="caseStudyTitle">Using Kubernetes to Build Tools to Improve the World's Wikis</h3>
|
||||||
<p>
|
<p>
|
||||||
The non-profit Wikimedia Foundation operates some of the largest collaboratively edited reference projects in the world, including Wikipedia. To help users maintain and use wikis, it runs Wikimedia Tool Labs, a hosting environment for community developers working on tools and bots to help editors and other volunteers do their work, including reducing vandalism. The community around Wikimedia Tool Labs began forming nearly 10 years ago.
|
The non-profit Wikimedia Foundation operates some of the largest collaboratively edited reference projects in the world, including Wikipedia. To help users maintain and use wikis, it runs Wikimedia Tool Labs, a hosting environment for community developers working on tools and bots to help editors and other volunteers do their work, including reducing vandalism. The community around Wikimedia Tool Labs began forming nearly 10 years ago.
|
||||||
</p>
|
</p>
|
||||||
<div class="feature">
|
<div class="feature">
|
||||||
<img src="/images/case_studies/wikimedia.png" alt="Wikimedia">
|
<img src="/images/case_studies/wikimedia.png" alt="Wikimedia">
|
||||||
<p class="quote">
|
<p class="quote">
|
||||||
"Wikimedia Tool Labs is vital for making sure wikis all around the world work as well as they possibly can. Because it's grown organically for almost 10 years, it has become an extremely challenging environment and difficult to maintain. It's like a big ball of mud — you really can't see through it. With Kubernetes, we're simplifying the environment and making it easier for developers to build the tools that make wikis run better."
|
"Wikimedia Tool Labs is vital for making sure wikis all around the world work as well as they possibly can. Because it's grown organically for almost 10 years, it has become an extremely challenging environment and difficult to maintain. It's like a big ball of mud — you really can't see through it. With Kubernetes, we're simplifying the environment and making it easier for developers to build the tools that make wikis run better."
|
||||||
</p>
|
</p>
|
||||||
<p class="attrib">— Yuvi Panda, operations engineer at Wikimedia Foundation and Wikimedia Tool Labs</p>
|
<p class="attrib">— Yuvi Panda, operations engineer at Wikimedia Foundation and Wikimedia Tool Labs</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="bullets">
|
<section class="bullets">
|
||||||
<main>
|
<main>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="bullet">
|
<div class="bullet">
|
||||||
<h4>Challenges:</h4>
|
<h4>Challenges:</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Simplify a complex, difficult-to-manage infrastructure</li>
|
<li>Simplify a complex, difficult-to-manage infrastructure</li>
|
||||||
<li>Allow developers to continue writing tools and bots using existing techniques</li>
|
<li>Allow developers to continue writing tools and bots using existing techniques</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="bullet">
|
<div class="bullet">
|
||||||
<h4>Why Kubernetes:</h4>
|
<h4>Why Kubernetes:</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Wikimedia Tool Labs chose Kubernetes because it can mimic existing workflows, while reducing complexity</li>
|
<li>Wikimedia Tool Labs chose Kubernetes because it can mimic existing workflows, while reducing complexity</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="bullet">
|
<div class="bullet">
|
||||||
<h4>Approach:</h4>
|
<h4>Approach:</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Migrate old systems and a complex infrastructure to Kubernetes</li>
|
<li>Migrate old systems and a complex infrastructure to Kubernetes</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="bullet">
|
<div class="bullet">
|
||||||
<h4>Results:</h4>
|
<h4>Results:</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li>20 percent of web tools that account for more than 40 percent of web traffic now run on Kubernetes</li>
|
<li>20 percent of web tools that account for more than 40 percent of web traffic now run on Kubernetes</li>
|
||||||
<li>A 25-node cluster that keeps up with each new Kubernetes release</li>
|
<li>A 25-node cluster that keeps up with each new Kubernetes release</li>
|
||||||
<li>Thousands of lines of old code have been deleted, thanks to Kubernetes</li>
|
<li>Thousands of lines of old code have been deleted, thanks to Kubernetes</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="details">
|
<section class="details">
|
||||||
<main>
|
<main>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<h4>Using Kubernetes to provide tools for maintaining wikis</h4>
|
<h4>Using Kubernetes to provide tools for maintaining wikis</h4>
|
||||||
<p>
|
<p>
|
||||||
Wikimedia Tool Labs is run by a staff of four-and-a-half paid employees and two volunteers. The infrastructure didn't make it easy or intuitive for developers to build bots and other tools to make wikis work more easily. Yuvi says, "It's incredibly chaotic. We have lots of Perl and Bash duct tape on top of it. Everything is super fragile."
|
Wikimedia Tool Labs is run by a staff of four-and-a-half paid employees and two volunteers. The infrastructure didn't make it easy or intuitive for developers to build bots and other tools to make wikis work more easily. Yuvi says, "It's incredibly chaotic. We have lots of Perl and Bash duct tape on top of it. Everything is super fragile."
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
To solve the problem, Wikimedia Tool Labs migrated parts of its infrastructure to Kubernetes, in preparation for eventually moving its entire system. Yuvi said Kubernetes greatly simplifies maintenance. The goal is to allow developers creating bots and other tools to use whatever development methods they want, but make it easier for the Wikimedia Tool Labs to maintain the required infrastructure for hosting and sharing them.
|
To solve the problem, Wikimedia Tool Labs migrated parts of its infrastructure to Kubernetes, in preparation for eventually moving its entire system. Yuvi said Kubernetes greatly simplifies maintenance. The goal is to allow developers creating bots and other tools to use whatever development methods they want, but make it easier for the Wikimedia Tool Labs to maintain the required infrastructure for hosting and sharing them.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
"With Kubernetes, I've been able to remove a lot of our custom-made code, which makes everything easier to maintain. Our users' code also runs in a more stable way than previously," says Yuvi.
|
"With Kubernetes, I've been able to remove a lot of our custom-made code, which makes everything easier to maintain. Our users' code also runs in a more stable way than previously," says Yuvi.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="details">
|
<section class="details">
|
||||||
<main>
|
<main>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<h4>Simplifying infrastructure and keeping wikis running better</h4>
|
<h4>Simplifying infrastructure and keeping wikis running better</h4>
|
||||||
<p>
|
<p>
|
||||||
Wikimedia Tool Labs has seen great success with the initial Kubernetes deployment. Old code is being simplified and eliminated, contributing developers don't have to change the way they write their tools and bots, and those tools and bots run in a more stable fashion than they have in the past. The paid staff and volunteers are able to better keep up with fixing issues.
|
Wikimedia Tool Labs has seen great success with the initial Kubernetes deployment. Old code is being simplified and eliminated, contributing developers don't have to change the way they write their tools and bots, and those tools and bots run in a more stable fashion than they have in the past. The paid staff and volunteers are able to better keep up with fixing issues.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
In the future, with a more complete migration to Kubernetes, Wikimedia Tool Labs expects to make it even easier to host and maintain the bots and tools that help run wikis across the world. The tool labs already host approximately 1,300 tools and bots from 800 volunteers, with many more being submitted every day. Twenty percent of the tool labs' web tools that account for more than 60 percent of web traffic now run on Kubernetes. The tool labs has a 25-node cluster that keeps up with each new Kubernetes release. Many existing web tools are migrating to Kubernetes.
|
In the future, with a more complete migration to Kubernetes, Wikimedia Tool Labs expects to make it even easier to host and maintain the bots and tools that help run wikis across the world. The tool labs already host approximately 1,300 tools and bots from 800 volunteers, with many more being submitted every day. Twenty percent of the tool labs' web tools that account for more than 60 percent of web traffic now run on Kubernetes. The tool labs has a 25-node cluster that keeps up with each new Kubernetes release. Many existing web tools are migrating to Kubernetes.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
"Our goal is to make sure that people all over the world can share knowledge as easily as possible. Kubernetes helps with that, by making it easier for wikis everywhere to have the tools they need to thrive," says Yuvi.
|
"Our goal is to make sure that people all over the world can share knowledge as easily as possible. Kubernetes helps with that, by making it easier for wikis everywhere to have the tools they need to thrive," says Yuvi.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
+55
-55
@@ -9,63 +9,63 @@ cid: community
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id="mainContent">
|
<section id="mainContent">
|
||||||
<main>
|
<main>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<h3>Ensuring Kubernetes works well everywhere and for everyone.</h3>
|
<h3>Ensuring Kubernetes works well everywhere and for everyone.</h3>
|
||||||
<p>Connect with the Kubernetes community on our <a href="http://slack.k8s.io/">Slack channel</a> or join the
|
<p>Connect with the Kubernetes community on our <a href="http://slack.k8s.io/">Slack channel</a> or join the
|
||||||
<a href="https://groups.google.com/forum/#!forum/kubernetes-dev">Kubernetes-dev Google group</a>. A weekly
|
<a href="https://groups.google.com/forum/#!forum/kubernetes-dev">Kubernetes-dev Google group</a>. A weekly
|
||||||
community meeting takes place via video conference to discuss the state of affairs,
|
community meeting takes place via video conference to discuss the state of affairs,
|
||||||
<a href="https://groups.google.com/forum/#!forum/kubernetes-community-video-chat">get a calendar invite</a>
|
<a href="https://groups.google.com/forum/#!forum/kubernetes-community-video-chat">get a calendar invite</a>
|
||||||
to participate.</p>
|
to participate.</p>
|
||||||
<p>You can also join Kubernauts all around the world through our
|
<p>You can also join Kubernauts all around the world through our
|
||||||
<a href="https://www.meetup.com/topics/kubernetes/">Kubernetes Meetup Community</a> and the
|
<a href="https://www.meetup.com/topics/kubernetes/">Kubernetes Meetup Community</a> and the
|
||||||
<a href="https://www.meetup.com/Kubernetes-Cloud-Native-Online-Meetup/">Kubernetes Cloud Native Meetup Community</a>.</p>
|
<a href="https://www.meetup.com/Kubernetes-Cloud-Native-Online-Meetup/">Kubernetes Cloud Native Meetup Community</a>.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<h3>Special Interest Groups (SIGs)</h3>
|
<h3>Special Interest Groups (SIGs)</h3>
|
||||||
<p>Have a special interest in how Kubernetes works with another technology? See our ever growing
|
<p>Have a special interest in how Kubernetes works with another technology? See our ever growing
|
||||||
<a href="https://github.com/kubernetes/kubernetes/wiki/Special-Interest-Groups-(SIGs)">lists of SIGs</a>,
|
<a href="https://github.com/kubernetes/kubernetes/wiki/Special-Interest-Groups-(SIGs)">lists of SIGs</a>,
|
||||||
from AWS and Openstack to Big Data and Scalability, there's a place for you to contribute and instructions
|
from AWS and Openstack to Big Data and Scalability, there's a place for you to contribute and instructions
|
||||||
for forming a new SIG if your special interest isn't covered (yet).</p>
|
for forming a new SIG if your special interest isn't covered (yet).</p>
|
||||||
|
|
||||||
<p>As a member of the Kubernetes community, you are welcome to join any of the SIG meetings
|
<p>As a member of the Kubernetes community, you are welcome to join any of the SIG meetings
|
||||||
you are interested in. No registration required.</p>
|
you are interested in. No registration required.</p>
|
||||||
<div id="calendarMeetings">
|
<div id="calendarMeetings">
|
||||||
<iframe src="https://calendar.google.com/calendar/embed?src=cgnt364vd8s86hr2phapfjc6uk%40group.calendar.google.com&ctz=America/Los_Angeles"
|
<iframe src="https://calendar.google.com/calendar/embed?src=cgnt364vd8s86hr2phapfjc6uk%40group.calendar.google.com&ctz=America/Los_Angeles"
|
||||||
frameborder="0" scrolling="no"></iframe>
|
frameborder="0" scrolling="no"></iframe>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<h3>Events</h3>
|
<h3>Events</h3>
|
||||||
<div id="calendarEvents">
|
<div id="calendarEvents">
|
||||||
<iframe src="https://calendar.google.com/calendar/embed?src=nt2tcnbtbied3l6gi2h29slvc0%40group.calendar.google.com&ctz=America/Los_Angeles"
|
<iframe src="https://calendar.google.com/calendar/embed?src=nt2tcnbtbied3l6gi2h29slvc0%40group.calendar.google.com&ctz=America/Los_Angeles"
|
||||||
frameborder="0" scrolling="no"></iframe>
|
frameborder="0" scrolling="no"></iframe>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id="talkToUs">
|
<section id="talkToUs">
|
||||||
<main>
|
<main>
|
||||||
<h3>Talk to Us!</h3>
|
<h3>Talk to Us!</h3>
|
||||||
<h4>We would love to hear from you, how you are using Kubernetes,<br> and what we can do to make it better.</h4>
|
<h4>We would love to hear from you, how you are using Kubernetes,<br> and what we can do to make it better.</h4>
|
||||||
<div id="bigSocial">
|
<div id="bigSocial">
|
||||||
<div>
|
<div>
|
||||||
<a href="https://twitter.com/kubernetesio">@kubernetesio</a>
|
<a href="https://twitter.com/kubernetesio">@kubernetesio</a>
|
||||||
<p>Get the latest news and updates.</p>
|
<p>Get the latest news and updates.</p>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<a href="https://github.com/kubernetes/kubernetes">Github Project</a>
|
<a href="https://github.com/kubernetes/kubernetes">Github Project</a>
|
||||||
<p>Check out the project and consider contributing.</p>
|
<p>Check out the project and consider contributing.</p>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<a href="http://slack.k8s.io/">#kubernetes-users</a>
|
<a href="http://slack.k8s.io/">#kubernetes-users</a>
|
||||||
<p>Our Slack channel is the best way to contact our engineers and share your ideas with them.</p>
|
<p>Our Slack channel is the best way to contact our engineers and share your ideas with them.</p>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<a href="http://stackoverflow.com/questions/tagged/kubernetes">Stack Overflow</a>
|
<a href="http://stackoverflow.com/questions/tagged/kubernetes">Stack Overflow</a>
|
||||||
<p>Our user forum is a great place to go for community support.</p>
|
<p>Our user forum is a great place to go for community support.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ By default the Kubernetes API server serves HTTP on 2 ports:
|
|||||||
1. `Localhost Port`:
|
1. `Localhost Port`:
|
||||||
|
|
||||||
- is intended for testing and bootstrap, and for other components of the master node
|
- is intended for testing and bootstrap, and for other components of the master node
|
||||||
(scheduler, controller-manager) to talk to the API
|
(scheduler, controller-manager) to talk to the API
|
||||||
- no TLS
|
- no TLS
|
||||||
- default is port 8080, change with `--insecure-port` flag.
|
- default is port 8080, change with `--insecure-port` flag.
|
||||||
- defaults IP is localhost, change with `--insecure-bind-address` flag.
|
- defaults IP is localhost, change with `--insecure-bind-address` flag.
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ cross-zone attachments are not generally permitted by cloud providers:
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
> kubectl describe pod mypod | grep Node
|
> kubectl describe pod mypod | grep Node
|
||||||
Node: kubernetes-minion-9vlv/10.240.0.5
|
Node: kubernetes-minion-9vlv/10.240.0.5
|
||||||
> kubectl get node kubernetes-minion-9vlv --show-labels
|
> kubectl get node kubernetes-minion-9vlv --show-labels
|
||||||
NAME STATUS AGE LABELS
|
NAME STATUS AGE LABELS
|
||||||
kubernetes-minion-9vlv Ready 22m beta.kubernetes.io/instance-type=n1-standard-2,failure-domain.beta.kubernetes.io/region=us-central1,failure-domain.beta.kubernetes.io/zone=us-central1-a,kubernetes.io/hostname=kubernetes-minion-9vlv
|
kubernetes-minion-9vlv Ready 22m beta.kubernetes.io/instance-type=n1-standard-2,failure-domain.beta.kubernetes.io/region=us-central1,failure-domain.beta.kubernetes.io/zone=us-central1-a,kubernetes.io/hostname=kubernetes-minion-9vlv
|
||||||
@@ -268,9 +268,9 @@ The pods should be spread across all 3 zones:
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
> kubectl describe pod -l app=guestbook | grep Node
|
> kubectl describe pod -l app=guestbook | grep Node
|
||||||
Node: kubernetes-minion-9vlv/10.240.0.5
|
Node: kubernetes-minion-9vlv/10.240.0.5
|
||||||
Node: kubernetes-minion-281d/10.240.0.8
|
Node: kubernetes-minion-281d/10.240.0.8
|
||||||
Node: kubernetes-minion-olsh/10.240.0.11
|
Node: kubernetes-minion-olsh/10.240.0.11
|
||||||
|
|
||||||
> kubectl get node kubernetes-minion-9vlv kubernetes-minion-281d kubernetes-minion-olsh --show-labels
|
> kubectl get node kubernetes-minion-9vlv kubernetes-minion-281d kubernetes-minion-olsh --show-labels
|
||||||
NAME STATUS AGE LABELS
|
NAME STATUS AGE LABELS
|
||||||
|
|||||||
@@ -64,16 +64,16 @@ Or you can get detailed information with:
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ kubectl describe namespaces <name>
|
$ kubectl describe namespaces <name>
|
||||||
Name: default
|
Name: default
|
||||||
Labels: <none>
|
Labels: <none>
|
||||||
Status: Active
|
Status: Active
|
||||||
|
|
||||||
No resource quota.
|
No resource quota.
|
||||||
|
|
||||||
Resource Limits
|
Resource Limits
|
||||||
Type Resource Min Max Default
|
Type Resource Min Max Default
|
||||||
---- -------- --- --- ---
|
---- -------- --- --- ---
|
||||||
Container cpu - - 100m
|
Container cpu - - 100m
|
||||||
```
|
```
|
||||||
|
|
||||||
Note that these details show both resource quota (if present) as well as resource limit ranges.
|
Note that these details show both resource quota (if present) as well as resource limit ranges.
|
||||||
|
|||||||
+6475
File diff suppressed because it is too large
Load Diff
+244
-244
@@ -1,252 +1,252 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo</title>
|
<title>jQuery.scrollTo</title>
|
||||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||||
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
||||||
<meta name="robots" content="index,follow" />
|
<meta name="robots" content="index,follow" />
|
||||||
<link type="text/css" rel="stylesheet" href="css/style.css" />
|
<link type="text/css" rel="stylesheet" href="css/style.css" />
|
||||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.min.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.min.js"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
jQuery(function( $ ){
|
jQuery(function( $ ){
|
||||||
/**
|
/**
|
||||||
* Demo binding and preparation, no need to read this part
|
* Demo binding and preparation, no need to read this part
|
||||||
*/
|
*/
|
||||||
//borrowed from jQuery easing plugin
|
//borrowed from jQuery easing plugin
|
||||||
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
||||||
$.easing.elasout = function(x, t, b, c, d) {
|
$.easing.elasout = function(x, t, b, c, d) {
|
||||||
var s=1.70158;var p=0;var a=c;
|
var s=1.70158;var p=0;var a=c;
|
||||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||||
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
||||||
};
|
};
|
||||||
$('a.back').click(function() {
|
$('a.back').click(function() {
|
||||||
$(this).parents('div.pane').scrollTo(0, 800, { queue:true });
|
$(this).parents('div.pane').scrollTo(0, 800, { queue:true });
|
||||||
$(this).parents('div.section').find('span.message').text( this.title);
|
$(this).parents('div.section').find('span.message').text( this.title);
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
//just for the example, to stop the click on the links.
|
//just for the example, to stop the click on the links.
|
||||||
$('ul.links').click(function(e){
|
$('ul.links').click(function(e){
|
||||||
var link = e.target;
|
var link = e.target;
|
||||||
if (link.target === '_blank') {
|
if (link.target === '_blank') {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
link.blur();
|
link.blur();
|
||||||
if (link.title) {
|
if (link.title) {
|
||||||
$(this).parent().find('span.message').text(link.title);
|
$(this).parent().find('span.message').text(link.title);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// This one is important, many browsers don't reset scroll on refreshes
|
// This one is important, many browsers don't reset scroll on refreshes
|
||||||
// Reset all scrollable panes to (0,0)
|
// Reset all scrollable panes to (0,0)
|
||||||
$('div.pane').scrollTo(0);
|
$('div.pane').scrollTo(0);
|
||||||
// Reset the screen to (0,0)
|
// Reset the screen to (0,0)
|
||||||
$.scrollTo(0);
|
$.scrollTo(0);
|
||||||
|
|
||||||
// TOC, shows how to scroll the whole window
|
// TOC, shows how to scroll the whole window
|
||||||
$('#toc a').click(function() {//$.scrollTo works EXACTLY the same way, but scrolls the whole screen
|
$('#toc a').click(function() {//$.scrollTo works EXACTLY the same way, but scrolls the whole screen
|
||||||
$.scrollTo(this.hash, 1500, { easing:'elasout' });
|
$.scrollTo(this.hash, 1500, { easing:'elasout' });
|
||||||
$(this.hash).find('span.message').text(this.title);
|
$(this.hash).find('span.message').text(this.title);
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
// Target examples bindings
|
// Target examples bindings
|
||||||
var $target = $('#pane-target');
|
var $target = $('#pane-target');
|
||||||
$('#target-examples a').click(function() {
|
$('#target-examples a').click(function() {
|
||||||
$target.stop(true);
|
$target.stop(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#relative-selector').click(function() {
|
$('#relative-selector').click(function() {
|
||||||
$target.scrollTo('li:eq(7)', 800);
|
$target.scrollTo('li:eq(7)', 800);
|
||||||
});
|
});
|
||||||
$('#jquery-object').click(function() {
|
$('#jquery-object').click(function() {
|
||||||
$target.scrollTo($('#pane-target li:eq(14)') , 800);
|
$target.scrollTo($('#pane-target li:eq(14)') , 800);
|
||||||
});
|
});
|
||||||
$('#dom-element').click(function() {
|
$('#dom-element').click(function() {
|
||||||
$target.scrollTo(document.getElementById('twenty'), 800);
|
$target.scrollTo(document.getElementById('twenty'), 800);
|
||||||
});
|
});
|
||||||
$('#absolute-number').click(function() {
|
$('#absolute-number').click(function() {
|
||||||
$target.scrollTo(150, 800);
|
$target.scrollTo(150, 800);
|
||||||
});
|
});
|
||||||
$('#absolute-number-hash').click(function() {
|
$('#absolute-number-hash').click(function() {
|
||||||
$target.scrollTo({ top:800, left:700}, 800);
|
$target.scrollTo({ top:800, left:700}, 800);
|
||||||
});
|
});
|
||||||
$('#absolute-px').click(function() {
|
$('#absolute-px').click(function() {
|
||||||
$target.scrollTo('520px', 800);
|
$target.scrollTo('520px', 800);
|
||||||
});
|
});
|
||||||
$('#absolute-px-hash').click(function() {
|
$('#absolute-px-hash').click(function() {
|
||||||
$target.scrollTo({top:'110px', left:'290px'}, 800);
|
$target.scrollTo({top:'110px', left:'290px'}, 800);
|
||||||
});
|
});
|
||||||
$('#relative-px').click(function() {
|
$('#relative-px').click(function() {
|
||||||
$target.scrollTo('+=100', 500);
|
$target.scrollTo('+=100', 500);
|
||||||
});
|
});
|
||||||
$('#relative-px-hash').click(function() {
|
$('#relative-px-hash').click(function() {
|
||||||
$target.scrollTo({top:'-=100px', left:'+=100'}, 500);
|
$target.scrollTo({top:'-=100px', left:'+=100'}, 500);
|
||||||
});
|
});
|
||||||
$('#percentage-px').click(function() {
|
$('#percentage-px').click(function() {
|
||||||
$target.scrollTo('50%', 800);
|
$target.scrollTo('50%', 800);
|
||||||
});
|
});
|
||||||
$('#percentage-px-hash').click(function() {
|
$('#percentage-px-hash').click(function() {
|
||||||
$target.scrollTo({top:'50%', left:'20%'}, 800);
|
$target.scrollTo({top:'50%', left:'20%'}, 800);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Settings examples bindings, they will all scroll to the same place, with different settings
|
// Settings examples bindings, they will all scroll to the same place, with different settings
|
||||||
var $settings = $('#pane-settings');
|
var $settings = $('#pane-settings');
|
||||||
$('#settings-examples a').click(function() {
|
$('#settings-examples a').click(function() {
|
||||||
// before each animation, reset to (0,0), skip this.
|
// before each animation, reset to (0,0), skip this.
|
||||||
$settings.stop(true).scrollTo(0);
|
$settings.stop(true).scrollTo(0);
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#settings-no').click(function() {
|
$('#settings-no').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 1000);
|
$settings.scrollTo('li:eq(15)', 1000);
|
||||||
});
|
});
|
||||||
$('#settings-axis').click(function() {// only scroll horizontally
|
$('#settings-axis').click(function() {// only scroll horizontally
|
||||||
$settings.scrollTo('li:eq(15)', 1000, { axis:'x' });
|
$settings.scrollTo('li:eq(15)', 1000, { axis:'x' });
|
||||||
});
|
});
|
||||||
$('#settings-duration').click(function() {// it's the same as specifying it in the 2nd argument
|
$('#settings-duration').click(function() {// it's the same as specifying it in the 2nd argument
|
||||||
$settings.scrollTo('li:eq(15)', { duration: 3000 });
|
$settings.scrollTo('li:eq(15)', { duration: 3000 });
|
||||||
});
|
});
|
||||||
$('#settings-easing').click(function() {
|
$('#settings-easing').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 2500, { easing:'elasout' });
|
$settings.scrollTo('li:eq(15)', 2500, { easing:'elasout' });
|
||||||
});
|
});
|
||||||
$('#settings-margin').click(function() {//scroll to the "outer" position of the element
|
$('#settings-margin').click(function() {//scroll to the "outer" position of the element
|
||||||
$settings.scrollTo('li:eq(15)', 1000, { margin:true });
|
$settings.scrollTo('li:eq(15)', 1000, { margin:true });
|
||||||
});
|
});
|
||||||
$('#settings-offset').click(function() {//same as { top:-50, left:-50 }
|
$('#settings-offset').click(function() {//same as { top:-50, left:-50 }
|
||||||
$settings.scrollTo('li:eq(15)', 1000, { offset:-50 });
|
$settings.scrollTo('li:eq(15)', 1000, { offset:-50 });
|
||||||
});
|
});
|
||||||
$('#settings-offset-hash').click(function() {
|
$('#settings-offset-hash').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 1000, { offset:{ top:-5, left:-30 } });
|
$settings.scrollTo('li:eq(15)', 1000, { offset:{ top:-5, left:-30 } });
|
||||||
});
|
});
|
||||||
$('#settings-offset-function').click(function() {
|
$('#settings-offset-function').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});
|
$settings.scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});
|
||||||
});
|
});
|
||||||
$('#settings-over').click(function() {//same as { top:-50, left:-50 }
|
$('#settings-over').click(function() {//same as { top:-50, left:-50 }
|
||||||
$settings.scrollTo('li:eq(15)', 1000, { over:0.5 });
|
$settings.scrollTo('li:eq(15)', 1000, { over:0.5 });
|
||||||
});
|
});
|
||||||
$('#settings-over-hash').click(function() {
|
$('#settings-over-hash').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 1000, { over:{ top:0.2, left:-0.5 } });
|
$settings.scrollTo('li:eq(15)', 1000, { over:{ top:0.2, left:-0.5 } });
|
||||||
});
|
});
|
||||||
$('#settings-interrupt').click(function() {
|
$('#settings-interrupt').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 10000, { interrupt:true });
|
$settings.scrollTo('li:eq(15)', 10000, { interrupt:true });
|
||||||
});
|
});
|
||||||
$('#settings-queue').click(function() {//in this case, having 'axis' as 'xy' or 'yx' matters.
|
$('#settings-queue').click(function() {//in this case, having 'axis' as 'xy' or 'yx' matters.
|
||||||
$settings.scrollTo('li:eq(15)', 2000, { queue:true });
|
$settings.scrollTo('li:eq(15)', 2000, { queue:true });
|
||||||
});
|
});
|
||||||
$('#settings-onAfter').click(function() {
|
$('#settings-onAfter').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 2000, {
|
$settings.scrollTo('li:eq(15)', 2000, {
|
||||||
onAfter:function() {
|
onAfter:function() {
|
||||||
$('#settings-message').text('Got there!');
|
$('#settings-message').text('Got there!');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
$('#settings-onAfterFirst').click(function() {//onAfterFirst exists only when queuing
|
$('#settings-onAfterFirst').click(function() {//onAfterFirst exists only when queuing
|
||||||
$settings.scrollTo('li:eq(15)', 1600, {
|
$settings.scrollTo('li:eq(15)', 1600, {
|
||||||
queue:true,
|
queue:true,
|
||||||
onAfterFirst:function() {
|
onAfterFirst:function() {
|
||||||
$('#settings-message').text('Got there horizontally!');
|
$('#settings-message').text('Got there horizontally!');
|
||||||
},
|
},
|
||||||
onAfter:function() {
|
onAfter:function() {
|
||||||
$('#settings-message').text('Got there vertically!');
|
$('#settings-message').text('Got there vertically!');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
$('#settings-step').click(function() {
|
$('#settings-step').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 2000, {step:function(now) {
|
$settings.scrollTo('li:eq(15)', 2000, {step:function(now) {
|
||||||
$('#settings-message').text(now.toFixed(2));
|
$('#settings-message').text(now.toFixed(2));
|
||||||
}});
|
}});
|
||||||
});
|
});
|
||||||
$('#settings-progress').click(function() {
|
$('#settings-progress').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 2000, {progress:function(_, now) {
|
$settings.scrollTo('li:eq(15)', 2000, {progress:function(_, now) {
|
||||||
$('#settings-message').text(Math.round(now*100) + '%');
|
$('#settings-message').text(Math.round(now*100) + '%');
|
||||||
}});
|
}});
|
||||||
});
|
});
|
||||||
$('#settings-fail').click(function() {
|
$('#settings-fail').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 10000, {interrupt:true, fail:function() {
|
$settings.scrollTo('li:eq(15)', 10000, {interrupt:true, fail:function() {
|
||||||
$('#settings-message').text('Scroll interrupted!');
|
$('#settings-message').text('Scroll interrupted!');
|
||||||
}});
|
}});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo <strong>by Ariel Flesler</strong></h1>
|
<h1>jQuery.scrollTo <strong>by Ariel Flesler</strong></h1>
|
||||||
|
|
||||||
<div id="toc" class="part">
|
<div id="toc" class="part">
|
||||||
<h3>Table of contents <strong>(try these)</strong></h3>
|
<h3>Table of contents <strong>(try these)</strong></h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a title="$.scrollTo('#target-examples', 800, {easing:'elasout'});" href="#target-examples">Ways to specify the target</a></li>
|
<li><a title="$.scrollTo('#target-examples', 800, {easing:'elasout'});" href="#target-examples">Ways to specify the target</a></li>
|
||||||
<li><a title="$.scrollTo('#settings-examples', 800, {easing:'elasout'});" href="#settings-examples">Settings</a></li>
|
<li><a title="$.scrollTo('#settings-examples', 800, {easing:'elasout'});" href="#settings-examples">Settings</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="links" class="part">
|
<div id="links" class="part">
|
||||||
<h3>Links</h3>
|
<h3>Links</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a target="_blank" href="https://github.com/flesler/jquery.scrollTo">Github</a></li>
|
<li><a target="_blank" href="https://github.com/flesler/jquery.scrollTo">Github</a></li>
|
||||||
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
||||||
<li><a target="_blank" href="http://demos.flesler.com/jquery/localScroll/">LocalScroll Demo</a></li>
|
<li><a target="_blank" href="http://demos.flesler.com/jquery/localScroll/">LocalScroll Demo</a></li>
|
||||||
<li><a target="_blank" href="http://demos.flesler.com/jquery/serialScroll/">SerialScroll Demo</a></li>
|
<li><a target="_blank" href="http://demos.flesler.com/jquery/serialScroll/">SerialScroll Demo</a></li>
|
||||||
<li><a target="_blank" href="index.old.html">Old Demo</a></li>
|
<li><a target="_blank" href="index.old.html">Old Demo</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div id="target-examples" class="section part">
|
<div id="target-examples" class="section part">
|
||||||
<h3>Ways to specify the target <span id="target-message" class="message">Click an option, to see it in action</span></h3>
|
<h3>Ways to specify the target <span id="target-message" class="message">Click an option, to see it in action</span></h3>
|
||||||
<ul class="links">
|
<ul class="links">
|
||||||
<li><a title="$(...).scrollTo('li:eq(7)', 800);" id="relative-selector" href="#">Relative selector</a></li>
|
<li><a title="$(...).scrollTo('li:eq(7)', 800);" id="relative-selector" href="#">Relative selector</a></li>
|
||||||
<li><a title="$(...).scrollTo($('div li:eq(14)'), 800);" id="jquery-object" href="#">jQuery object</a></li>
|
<li><a title="$(...).scrollTo($('div li:eq(14)'), 800);" id="jquery-object" href="#">jQuery object</a></li>
|
||||||
<li><a title="$(...).scrollTo(document.getElementById('twenty'), 800);" id="dom-element" href="#">DOM Element</a></li>
|
<li><a title="$(...).scrollTo(document.getElementById('twenty'), 800);" id="dom-element" href="#">DOM Element</a></li>
|
||||||
<li><a title="$(...).scrollTo(150, 800);" id="absolute-number" href="#">Absolute number</a></li>
|
<li><a title="$(...).scrollTo(150, 800);" id="absolute-number" href="#">Absolute number</a></li>
|
||||||
<li><a title="$(...).scrollTo({ top:800, left:700}, 800);" id="absolute-number-hash" href="#">Absolute number(hash)</a></li>
|
<li><a title="$(...).scrollTo({ top:800, left:700}, 800);" id="absolute-number-hash" href="#">Absolute number(hash)</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="links">
|
<ul class="links">
|
||||||
<li><a title="$(...).scrollTo('520px', 800);" id="absolute-px" href="#">Absolute px</a></li>
|
<li><a title="$(...).scrollTo('520px', 800);" id="absolute-px" href="#">Absolute px</a></li>
|
||||||
<li><a title="$(...).scrollTo({top:'110px', left:'290px'}, 800);" id="absolute-px-hash" href="#">Absolute px(hash)</a></li>
|
<li><a title="$(...).scrollTo({top:'110px', left:'290px'}, 800);" id="absolute-px-hash" href="#">Absolute px(hash)</a></li>
|
||||||
<li><a title="$(...).scrollTo('+=100px', 800);" id="relative-px" href="#">Relative px</a></li>
|
<li><a title="$(...).scrollTo('+=100px', 800);" id="relative-px" href="#">Relative px</a></li>
|
||||||
<li><a title="$(...).scrollTo({top:'-=100px', left:'+=100'}, 800);" id="relative-px-hash" href="#">Relative px(hash)</a></li>
|
<li><a title="$(...).scrollTo({top:'-=100px', left:'+=100'}, 800);" id="relative-px-hash" href="#">Relative px(hash)</a></li>
|
||||||
<li><a title="$(...).scrollTo('50%', 800);" id="percentage-px" href="#">Percent</a></li>
|
<li><a title="$(...).scrollTo('50%', 800);" id="percentage-px" href="#">Percent</a></li>
|
||||||
<li><a title="$(...).scrollTo({top:'50%', left:'20%'}, 800);" id="percentage-px-hash" href="#">Percent(hash)</a></li>
|
<li><a title="$(...).scrollTo({top:'50%', left:'20%'}, 800);" id="percentage-px-hash" href="#">Percent(hash)</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<div id="pane-target" class="pane">
|
<div id="pane-target" class="pane">
|
||||||
<ul class="elements" style="height:1011px; width:1820px;">
|
<ul class="elements" style="height:1011px; width:1820px;">
|
||||||
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li id="twenty"><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li id="twenty"><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="settings-examples" class="section part">
|
<div id="settings-examples" class="section part">
|
||||||
<h3>Settings <span id="settings-message" class="message">The examples shown here, are summarized for brevity</span></h3>
|
<h3>Settings <span id="settings-message" class="message">The examples shown here, are summarized for brevity</span></h3>
|
||||||
<ul class="links">
|
<ul class="links">
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000);" id="settings-no" href="#">no settings</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000);" id="settings-no" href="#">no settings</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {axis:'x'});//only scroll on this axis (can be x, y, xy or yx)" id="settings-axis" href="#">axis</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {axis:'x'});//only scroll on this axis (can be x, y, xy or yx)" id="settings-axis" href="#">axis</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {margin:true});//deduct the margin and border from the final position" id="settings-margin" href="#">margin</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {margin:true});//deduct the margin and border from the final position" id="settings-margin" href="#">margin</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset:-50});//add or deduct from the final position" id="settings-offset" href="#">offset</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset:-50});//add or deduct from the final position" id="settings-offset" href="#">offset</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: {top:-5, left:-30} });" id="settings-offset-hash" href="#">offset(hash)</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: {top:-5, left:-30} });" id="settings-offset-hash" href="#">offset(hash)</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});" id="settings-offset-function" href="#">offset(function)</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});" id="settings-offset-function" href="#">offset(function)</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:0.5});//add or deduct a fraction of its height/width" id="settings-over" href="#">over</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:0.5});//add or deduct a fraction of its height/width" id="settings-over" href="#">over</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:{top:0.2, left:-0.5});" id="settings-over-hash" href="#">over(hash)</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:{top:0.2, left:-0.5});" id="settings-over-hash" href="#">over(hash)</a></li>
|
||||||
<li><a title="Scroll manually to interrupt the animation" id="settings-interrupt" href="#">interrupt</a></li>
|
<li><a title="Scroll manually to interrupt the animation" id="settings-interrupt" href="#">interrupt</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {onAfter:function() { } });//called after the scrolling ends" id="settings-onAfter" href="#">onAfter</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {onAfter:function() { } });//called after the scrolling ends" id="settings-onAfter" href="#">onAfter</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true, onAfterFirst:function() { } });//called after the first axis scrolled" id="settings-onAfterFirst" href="#">onAfterFirst</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true, onAfterFirst:function() { } });//called after the first axis scrolled" id="settings-onAfterFirst" href="#">onAfterFirst</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<h4>Settings inherited from <a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">$().animate()</a></h4>
|
<h4>Settings inherited from <a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">$().animate()</a></h4>
|
||||||
<ul class="links">
|
<ul class="links">
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', {duration:3000});//another way of calling the plugin" id="settings-duration" href="#">duration</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', {duration:3000});//another way of calling the plugin" id="settings-duration" href="#">duration</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {easing:'elasout'});//specify an easing equation" id="settings-easing" href="#">easing</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {easing:'elasout'});//specify an easing equation" id="settings-easing" href="#">easing</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true});//scroll one axis, then the other" id="settings-queue" href="#">queue</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true});//scroll one axis, then the other" id="settings-queue" href="#">queue</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {step:function() { }'});//specify a step function" id="settings-step" href="#">step</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {step:function() { }'});//specify a step function" id="settings-step" href="#">step</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {progress:function() { }'});//specify a progress function" id="settings-progress" href="#">progress</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {progress:function() { }'});//specify a progress function" id="settings-progress" href="#">progress</a></li>
|
||||||
<li><a title="Scroll manually to interrupt and trigger the callback" id="settings-fail" href="#">fail</a></li>
|
<li><a title="Scroll manually to interrupt and trigger the callback" id="settings-fail" href="#">fail</a></li>
|
||||||
<li><a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">more</a></li>
|
<li><a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">more</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<div id="pane-settings" class="pane">
|
<div id="pane-settings" class="pane">
|
||||||
<ul class="elements" style="height:1062px;width:1877px;">
|
<ul class="elements" style="height:1062px;width:1877px;">
|
||||||
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
+121
-121
@@ -1,128 +1,128 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.ScrollTo</title>
|
<title>jQuery.ScrollTo</title>
|
||||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||||
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
||||||
<meta name="robots" content="index,follow" />
|
<meta name="robots" content="index,follow" />
|
||||||
<link type="text/css" rel="stylesheet" href="css/style.old.css" />
|
<link type="text/css" rel="stylesheet" href="css/style.old.css" />
|
||||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
jQuery(function( $ ){
|
jQuery(function( $ ){
|
||||||
//borrowed from jQuery easing plugin
|
//borrowed from jQuery easing plugin
|
||||||
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
||||||
$.easing.elasout = function(x, t, b, c, d) {
|
$.easing.elasout = function(x, t, b, c, d) {
|
||||||
var s=1.70158;var p=0;var a=c;
|
var s=1.70158;var p=0;var a=c;
|
||||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||||
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
||||||
};
|
};
|
||||||
$('button').click(function(){//this is not the cleanest way to do this, I'm just keeping it short.
|
$('button').click(function(){//this is not the cleanest way to do this, I'm just keeping it short.
|
||||||
var index = parseInt( $(this).prev('input').val() ) || 0;
|
var index = parseInt( $(this).prev('input').val() ) || 0;
|
||||||
var $c = $(this).parent().next();
|
var $c = $(this).parent().next();
|
||||||
$c.stop().scrollTo('li:eq('+index+')', {duration:2500, easing:'elasout',axis:$c.attr('id')});
|
$c.stop().scrollTo('li:eq('+index+')', {duration:2500, easing:'elasout',axis:$c.attr('id')});
|
||||||
});
|
});
|
||||||
$('#btn_screen').click(function(){
|
$('#btn_screen').click(function(){
|
||||||
$.scrollTo( $('#txt_screen').val(), {duration:2500} );
|
$.scrollTo( $('#txt_screen').val(), {duration:2500} );
|
||||||
});
|
});
|
||||||
$('div.container a').click(function(){
|
$('div.container a').click(function(){
|
||||||
var $c = $(this).parents('.container');
|
var $c = $(this).parents('.container');
|
||||||
$c.stop().scrollTo( 0, {duration:2000,axis:$c.attr('id'), queue:true} );
|
$c.stop().scrollTo( 0, {duration:2000,axis:$c.attr('id'), queue:true} );
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.ScrollTo <strong>by Ariel Flesler</strong></h1>
|
<h1>jQuery.ScrollTo <strong>by Ariel Flesler</strong></h1>
|
||||||
<div id="links" class="part" style="width:135px">
|
<div id="links" class="part" style="width:135px">
|
||||||
<h3>Links</h3>
|
<h3>Links</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a target="_blank" href="http://plugins.jquery.com/project/ScrollTo">Project Page</a></li>
|
<li><a target="_blank" href="http://plugins.jquery.com/project/ScrollTo">Project Page</a></li>
|
||||||
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
||||||
<li><a target="_blank" href="http://flesler.blogspot.com/search/label/jQuery.ScrollTo">All articles</a></li>
|
<li><a target="_blank" href="http://flesler.blogspot.com/search/label/jQuery.ScrollTo">All articles</a></li>
|
||||||
<li><a target="_blank" href="http://flesler.webs.com/jQuery.LocalScroll/">LocalScroll Demo</a></li>
|
<li><a target="_blank" href="http://flesler.webs.com/jQuery.LocalScroll/">LocalScroll Demo</a></li>
|
||||||
<li><a target="_blank" href="http://flesler.webs.com/jQuery.SerialScroll/">SerialScroll Demo</a></li>
|
<li><a target="_blank" href="http://flesler.webs.com/jQuery.SerialScroll/">SerialScroll Demo</a></li>
|
||||||
<li><a target="_blank" href="./" rel="prev" rev="next">New Demo</a></li>
|
<li><a target="_blank" href="./" rel="prev" rev="next">New Demo</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<label for="txt_screen">Scroll the window to <input id="txt_screen" type="text" value=".pane:eq(1)" /><input id="btn_screen" type="button" value="Scroll" /></label><br /><br />
|
<label for="txt_screen">Scroll the window to <input id="txt_screen" type="text" value=".pane:eq(1)" /><input id="btn_screen" type="button" value="Scroll" /></label><br /><br />
|
||||||
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
||||||
<div id="y" class="container">
|
<div id="y" class="container">
|
||||||
<ul>
|
<ul>
|
||||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to top</a></li>
|
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to top</a></li>
|
||||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to top</a></li>
|
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to top</a></li>
|
||||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to top</a></li>
|
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to top</a></li>
|
||||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to top</a></li>
|
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to top</a></li>
|
||||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to top</a></li>
|
<li style="background-color:#663366;"><p>4</p><a href="#">back to top</a></li>
|
||||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to top</a></li>
|
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to top</a></li>
|
||||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to top</a></li>
|
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to top</a></li>
|
||||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to top</a></li>
|
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to top</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
||||||
<div id="x" class="container">
|
<div id="x" class="container">
|
||||||
<ul style="width:4820px;">
|
<ul style="width:4820px;">
|
||||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<label>Scroll to the #<input type="text" value="16" /> element inside this container<button>Scroll</button></label>
|
<label>Scroll to the #<input type="text" value="16" /> element inside this container<button>Scroll</button></label>
|
||||||
<div id="xy" class="container">
|
<div id="xy" class="container">
|
||||||
<ul style="width:1500px;">
|
<ul style="width:1500px;">
|
||||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#9933CC;"><p>16</p><a href="#">back to start</a></li>
|
<li style="background-color:#9933CC;"><p>16</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFCC99;"><p>17</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFCC99;"><p>17</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FF0000;"><p>18</p><a href="#">back to start</a></li>
|
<li style="background-color:#FF0000;"><p>18</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FFCC;"><p>19</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FFCC;"><p>19</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#663366;"><p>20</p><a href="#">back to start</a></li>
|
<li style="background-color:#663366;"><p>20</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#CCCCFF;"><p>21</p><a href="#">back to start</a></li>
|
<li style="background-color:#CCCCFF;"><p>21</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFFFCC;"><p>22</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFFFCC;"><p>22</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FF00;"><p>23</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FF00;"><p>23</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#9933CC;"><p>24</p><a href="#">back to start</a></li>
|
<li style="background-color:#9933CC;"><p>24</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFCC99;"><p>25</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFCC99;"><p>25</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FF0000;"><p>26</p><a href="#">back to start</a></li>
|
<li style="background-color:#FF0000;"><p>26</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FFCC;"><p>27</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FFCC;"><p>27</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#663366;"><p>28</p><a href="#">back to start</a></li>
|
<li style="background-color:#663366;"><p>28</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#CCCCFF;"><p>29</p><a href="#">back to start</a></li>
|
<li style="background-color:#CCCCFF;"><p>29</p><a href="#">back to start</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="pane" style="background-color:#000000;margin-top:40px;"></div>
|
<div class="pane" style="background-color:#000000;margin-top:40px;"></div>
|
||||||
<div class="pane" style="background-color:#333333;"></div>
|
<div class="pane" style="background-color:#333333;"></div>
|
||||||
<div class="pane" style="background-color:#666666;"></div>
|
<div class="pane" style="background-color:#666666;"></div>
|
||||||
<div class="pane" style="background-color:#999999;"></div>
|
<div class="pane" style="background-color:#999999;"></div>
|
||||||
<div class="pane" style="background-color:#CCCCCC;"></div>
|
<div class="pane" style="background-color:#CCCCCC;"></div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
+15
-15
@@ -1,21 +1,21 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Element MaxY - Compat Mode</title>
|
<title>jQuery.scrollTo - Test Element MaxY - Compat Mode</title>
|
||||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||||
<script type="text/javascript" src="test.js"></script>
|
<script type="text/javascript" src="test.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Element MaxY - Compat Mode</h1>
|
<h1>jQuery.scrollTo - Test Element MaxY - Compat Mode</h1>
|
||||||
|
|
||||||
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
||||||
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$('#viewport').test();
|
$('#viewport').test();
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
+15
-15
@@ -1,20 +1,20 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Element MaxY - Quirks Mode</title>
|
<title>jQuery.scrollTo - Test Element MaxY - Quirks Mode</title>
|
||||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||||
<script type="text/javascript" src="test.js"></script>
|
<script type="text/javascript" src="test.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Element MaxY - Quirks Mode</h1>
|
<h1>jQuery.scrollTo - Test Element MaxY - Quirks Mode</h1>
|
||||||
|
|
||||||
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
||||||
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$('#viewport').test();
|
$('#viewport').test();
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
+13
-13
@@ -1,19 +1,19 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Window MaxY - Compat Mode</title>
|
<title>jQuery.scrollTo - Test Window MaxY - Compat Mode</title>
|
||||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||||
<script type="text/javascript" src="test.js"></script>
|
<script type="text/javascript" src="test.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Window MaxY - Compat Mode</h1>
|
<h1>jQuery.scrollTo - Test Window MaxY - Compat Mode</h1>
|
||||||
|
|
||||||
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(window).test();
|
$(window).test();
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
+12
-12
@@ -1,18 +1,18 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Window MaxY - Quirks Mode</title>
|
<title>jQuery.scrollTo - Test Window MaxY - Quirks Mode</title>
|
||||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||||
<script type="text/javascript" src="test.js"></script>
|
<script type="text/javascript" src="test.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Window MaxY - Quirks Mode</h1>
|
<h1>jQuery.scrollTo - Test Window MaxY - Quirks Mode</h1>
|
||||||
|
|
||||||
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(window).test();
|
$(window).test();
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Generated
Vendored
+13
-13
@@ -1,20 +1,20 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</title>
|
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</title>
|
||||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||||
<script type="text/javascript" src="test.js"></script>
|
<script type="text/javascript" src="test.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</h1>
|
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</h1>
|
||||||
|
|
||||||
<iframe src="WinMaxY-compat.html?notest" style="width:500px" /></iframe>
|
<iframe src="WinMaxY-compat.html?notest" style="width:500px" /></iframe>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
$('iframe').test();
|
$('iframe').test();
|
||||||
}, 1500 );
|
}, 1500 );
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Generated
Vendored
+14
-14
@@ -1,19 +1,19 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</title>
|
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</title>
|
||||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||||
<script type="text/javascript" src="test.js"></script>
|
<script type="text/javascript" src="test.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</h1>
|
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</h1>
|
||||||
|
|
||||||
<iframe src="WinMaxY-quirks.html?notest" style="width:500px"></iframe>
|
<iframe src="WinMaxY-quirks.html?notest" style="width:500px"></iframe>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
$('iframe').test();
|
$('iframe').test();
|
||||||
}, 1500 );
|
}, 1500 );
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Generated
Vendored
+5
-5
@@ -1,11 +1,11 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</title>
|
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</h1>
|
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</h1>
|
||||||
|
|
||||||
<iframe src="WinMaxY-compat.html" />
|
<iframe src="WinMaxY-compat.html" />
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Generated
Vendored
+4
-4
@@ -1,10 +1,10 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</title>
|
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</h1>
|
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</h1>
|
||||||
|
|
||||||
<iframe src="WinMaxY-quirks.html" />
|
<iframe src="WinMaxY-quirks.html" />
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
+17
-17
@@ -1,24 +1,24 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo Tests</title>
|
<title>jQuery.scrollTo Tests</title>
|
||||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||||
<meta name="description" content="Tests for jQuery ScrollTo. Made by Ariel Flesler." />
|
<meta name="description" content="Tests for jQuery ScrollTo. Made by Ariel Flesler." />
|
||||||
<meta name="robots" content="index,follow" />
|
<meta name="robots" content="index,follow" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo Tests</h1>
|
<h1>jQuery.scrollTo Tests</h1>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="WinMaxY-compat.html">Max window scrolling (compat mode)</a></li>
|
<li><a href="WinMaxY-compat.html">Max window scrolling (compat mode)</a></li>
|
||||||
<li><a href="WinMaxY-quirks.html">Max window scrolling (quirks mode)</a></li>
|
<li><a href="WinMaxY-quirks.html">Max window scrolling (quirks mode)</a></li>
|
||||||
<li><a href="ElemMaxY-compat.html">Max element scrolling (compat mode)</a></li>
|
<li><a href="ElemMaxY-compat.html">Max element scrolling (compat mode)</a></li>
|
||||||
<li><a href="ElemMaxY-quirks.html">Max element scrolling (quirks mode)</a></li>
|
<li><a href="ElemMaxY-quirks.html">Max element scrolling (quirks mode)</a></li>
|
||||||
<li><a href="WinMaxY-with-iframe-compat.html">Max window scrolling, within an iframe (compat mode)</a></li>
|
<li><a href="WinMaxY-with-iframe-compat.html">Max window scrolling, within an iframe (compat mode)</a></li>
|
||||||
<li><a href="WinMaxY-with-iframe-quirks.html">Max window scrolling, within an iframe (quirks mode)</a></li>
|
<li><a href="WinMaxY-with-iframe-quirks.html">Max window scrolling, within an iframe (quirks mode)</a></li>
|
||||||
<li><a href="WinMaxY-to-iframe-compat.html">Max iframe scrolling from outside (compat mode)</a></li>
|
<li><a href="WinMaxY-to-iframe-compat.html">Max iframe scrolling from outside (compat mode)</a></li>
|
||||||
<li><a href="WinMaxY-to-iframe-quirks.html">Max iframe scrolling from outside (quirks mode)</a></li>
|
<li><a href="WinMaxY-to-iframe-quirks.html">Max iframe scrolling from outside (quirks mode)</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
+5
-5
@@ -55,11 +55,11 @@ For jQuery to work in Node, a window with a document is required. Since no such
|
|||||||
|
|
||||||
```js
|
```js
|
||||||
require("jsdom").env("", function(err, window) {
|
require("jsdom").env("", function(err, window) {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error(err);
|
console.error(err);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var $ = require("jquery")(window);
|
var $ = require("jquery")(window);
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|||||||
+2
-2
@@ -1,8 +1,8 @@
|
|||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<title>Awesome page</title>
|
<title>Awesome page</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
hello world!
|
hello world!
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
+2
-2
@@ -1,8 +1,8 @@
|
|||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<title>Other page</title>
|
<title>Other page</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
hello there!
|
hello there!
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -149,7 +149,7 @@ in 13 underlying clusters:
|
|||||||
for CLUSTER in asia-east1-c asia-east1-a asia-east1-b \
|
for CLUSTER in asia-east1-c asia-east1-a asia-east1-b \
|
||||||
europe-west1-d europe-west1-c europe-west1-b \
|
europe-west1-d europe-west1-c europe-west1-b \
|
||||||
us-central1-f us-central1-a us-central1-b us-central1-c \
|
us-central1-f us-central1-a us-central1-b us-central1-c \
|
||||||
us-east1-d us-east1-c us-east1-b
|
us-east1-d us-east1-c us-east1-b
|
||||||
do
|
do
|
||||||
kubectl --context=$CLUSTER run nginx --image=nginx:1.11.1-alpine --port=80
|
kubectl --context=$CLUSTER run nginx --image=nginx:1.11.1-alpine --port=80
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -202,20 +202,20 @@ You can check node capacities and amounts allocated with the
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ kubectl.sh describe nodes e2e-test-minion-group-4lw4
|
$ kubectl.sh describe nodes e2e-test-minion-group-4lw4
|
||||||
Name: e2e-test-minion-group-4lw4
|
Name: e2e-test-minion-group-4lw4
|
||||||
[ ... lines removed for clarity ...]
|
[ ... lines removed for clarity ...]
|
||||||
Capacity:
|
Capacity:
|
||||||
alpha.kubernetes.io/nvidia-gpu: 0
|
alpha.kubernetes.io/nvidia-gpu: 0
|
||||||
cpu: 2
|
cpu: 2
|
||||||
memory: 7679792Ki
|
memory: 7679792Ki
|
||||||
pods: 110
|
pods: 110
|
||||||
Allocatable:
|
Allocatable:
|
||||||
alpha.kubernetes.io/nvidia-gpu: 0
|
alpha.kubernetes.io/nvidia-gpu: 0
|
||||||
cpu: 1800m
|
cpu: 1800m
|
||||||
memory: 7474992Ki
|
memory: 7474992Ki
|
||||||
pods: 110
|
pods: 110
|
||||||
[ ... lines removed for clarity ...]
|
[ ... lines removed for clarity ...]
|
||||||
Non-terminated Pods: (5 in total)
|
Non-terminated Pods: (5 in total)
|
||||||
Namespace Name CPU Requests CPU Limits Memory Requests Memory Limits
|
Namespace Name CPU Requests CPU Limits Memory Requests Memory Limits
|
||||||
--------- ---- ------------ ---------- --------------- -------------
|
--------- ---- ------------ ---------- --------------- -------------
|
||||||
kube-system fluentd-gcp-v1.38-28bv1 100m (5%) 0 (0%) 200Mi (2%) 200Mi (2%)
|
kube-system fluentd-gcp-v1.38-28bv1 100m (5%) 0 (0%) 200Mi (2%) 200Mi (2%)
|
||||||
@@ -225,9 +225,9 @@ Non-terminated Pods: (5 in total)
|
|||||||
kube-system node-problem-detector-v0.1-fj7m3 20m (1%) 200m (10%) 20Mi (0%) 100Mi (1%)
|
kube-system node-problem-detector-v0.1-fj7m3 20m (1%) 200m (10%) 20Mi (0%) 100Mi (1%)
|
||||||
Allocated resources:
|
Allocated resources:
|
||||||
(Total limits may be over 100 percent, i.e., overcommitted.)
|
(Total limits may be over 100 percent, i.e., overcommitted.)
|
||||||
CPU Requests CPU Limits Memory Requests Memory Limits
|
CPU Requests CPU Limits Memory Requests Memory Limits
|
||||||
------------ ---------- --------------- -------------
|
------------ ---------- --------------- -------------
|
||||||
680m (34%) 400m (20%) 920Mi (12%) 1070Mi (14%)
|
680m (34%) 400m (20%) 920Mi (12%) 1070Mi (14%)
|
||||||
```
|
```
|
||||||
|
|
||||||
In the preceding output, you can see that if a Pod requests more than 1120m
|
In the preceding output, you can see that if a Pod requests more than 1120m
|
||||||
|
|||||||
@@ -91,15 +91,15 @@ Currently, the logs for a hook handler are not exposed in the pod events. If you
|
|||||||
|
|
||||||
```
|
```
|
||||||
Events:
|
Events:
|
||||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||||
1m 1m 1 {default-scheduler } Normal Scheduled Successfully assigned test-1730497541-cq1d2 to gke-test-cluster-default-pool-a07e5d30-siqd
|
1m 1m 1 {default-scheduler } Normal Scheduled Successfully assigned test-1730497541-cq1d2 to gke-test-cluster-default-pool-a07e5d30-siqd
|
||||||
1m 1m 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Pulling pulling image "test:1.0"
|
1m 1m 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Pulling pulling image "test:1.0"
|
||||||
1m 1m 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Created Created container with docker id 5c6a256a2567; Security:[seccomp=unconfined]
|
1m 1m 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Created Created container with docker id 5c6a256a2567; Security:[seccomp=unconfined]
|
||||||
1m 1m 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Pulled Successfully pulled image "test:1.0"
|
1m 1m 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Pulled Successfully pulled image "test:1.0"
|
||||||
1m 1m 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Started Started container with docker id 5c6a256a2567
|
1m 1m 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Started Started container with docker id 5c6a256a2567
|
||||||
38s 38s 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Killing Killing container with docker id 5c6a256a2567: PostStart handler: Error executing in Docker Container: 1
|
38s 38s 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Killing Killing container with docker id 5c6a256a2567: PostStart handler: Error executing in Docker Container: 1
|
||||||
37s 37s 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Killing Killing container with docker id 8df9fdfd7054: PostStart handler: Error executing in Docker Container: 1
|
37s 37s 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Killing Killing container with docker id 8df9fdfd7054: PostStart handler: Error executing in Docker Container: 1
|
||||||
38s 37s 2 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "main" with RunContainerError: "PostStart handler: Error executing in Docker Container: 1"
|
38s 37s 2 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "main" with RunContainerError: "PostStart handler: Error executing in Docker Container: 1"
|
||||||
1m 22s 2 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Warning FailedPostStartHook
|
1m 22s 2 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Warning FailedPostStartHook
|
||||||
```
|
```
|
||||||
@@ -177,7 +177,7 @@ If it failed, then you will see:
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ kubectl describe pods/private-image-test-1 | grep "Failed"
|
$ kubectl describe pods/private-image-test-1 | grep "Failed"
|
||||||
Fri, 26 Jun 2015 15:36:13 -0700 Fri, 26 Jun 2015 15:39:13 -0700 19 {kubelet node-i2hq} spec.containers{uses-private-image} failed Failed to pull image "user/privaterepo:v1": Error: image user/privaterepo:v1 not found
|
Fri, 26 Jun 2015 15:36:13 -0700 Fri, 26 Jun 2015 15:39:13 -0700 19 {kubelet node-i2hq} spec.containers{uses-private-image} failed Failed to pull image "user/privaterepo:v1": Error: image user/privaterepo:v1 not found
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -45,20 +45,20 @@ Check on the status of the job using this command:
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ kubectl describe jobs/pi
|
$ kubectl describe jobs/pi
|
||||||
Name: pi
|
Name: pi
|
||||||
Namespace: default
|
Namespace: default
|
||||||
Image(s): perl
|
Image(s): perl
|
||||||
Selector: controller-uid=b1db589a-2c8d-11e6-b324-0209dc45a495
|
Selector: controller-uid=b1db589a-2c8d-11e6-b324-0209dc45a495
|
||||||
Parallelism: 1
|
Parallelism: 1
|
||||||
Completions: 1
|
Completions: 1
|
||||||
Start Time: Tue, 07 Jun 2016 10:56:16 +0200
|
Start Time: Tue, 07 Jun 2016 10:56:16 +0200
|
||||||
Labels: controller-uid=b1db589a-2c8d-11e6-b324-0209dc45a495,job-name=pi
|
Labels: controller-uid=b1db589a-2c8d-11e6-b324-0209dc45a495,job-name=pi
|
||||||
Pods Statuses: 0 Running / 1 Succeeded / 0 Failed
|
Pods Statuses: 0 Running / 1 Succeeded / 0 Failed
|
||||||
No volumes.
|
No volumes.
|
||||||
Events:
|
Events:
|
||||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||||
1m 1m 1 {job-controller } Normal SuccessfulCreate Created pod: pi-dtn4q
|
1m 1m 1 {job-controller } Normal SuccessfulCreate Created pod: pi-dtn4q
|
||||||
```
|
```
|
||||||
|
|
||||||
To view completed pods of a job, use `kubectl get pods --show-all`. The `--show-all` will show completed pods too.
|
To view completed pods of a job, use `kubectl get pods --show-all`. The `--show-all` will show completed pods too.
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ A Kubernetes Service is an abstraction which defines a logical set of Pods runni
|
|||||||
You can create a Service for your 2 nginx replicas with `kubectl expose`:
|
You can create a Service for your 2 nginx replicas with `kubectl expose`:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ kubectl expose deployment/my-nginx
|
$ kubectl expose deployment/my-nginx
|
||||||
service "my-nginx" exposed
|
service "my-nginx" exposed
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -77,15 +77,15 @@ As mentioned previously, a Service is backed by a group of pods. These pods are
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ kubectl describe svc my-nginx
|
$ kubectl describe svc my-nginx
|
||||||
Name: my-nginx
|
Name: my-nginx
|
||||||
Namespace: default
|
Namespace: default
|
||||||
Labels: run=my-nginx
|
Labels: run=my-nginx
|
||||||
Selector: run=my-nginx
|
Selector: run=my-nginx
|
||||||
Type: ClusterIP
|
Type: ClusterIP
|
||||||
IP: 10.0.162.149
|
IP: 10.0.162.149
|
||||||
Port: <unset> 80/TCP
|
Port: <unset> 80/TCP
|
||||||
Endpoints: 10.244.2.5:80,10.244.3.4:80
|
Endpoints: 10.244.2.5:80,10.244.3.4:80
|
||||||
Session Affinity: None
|
Session Affinity: None
|
||||||
No events.
|
No events.
|
||||||
|
|
||||||
$ kubectl get ep my-nginx
|
$ kubectl get ep my-nginx
|
||||||
@@ -213,7 +213,7 @@ Let's test this from a pod (the same secret is being reused for simplicity, the
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ kubectl create -f ./curlpod.yaml
|
$ kubectl create -f ./curlpod.yaml
|
||||||
$ kubectl get pods -l app=curlpod
|
$ kubectl get pods -l app=curlpod
|
||||||
NAME READY STATUS RESTARTS AGE
|
NAME READY STATUS RESTARTS AGE
|
||||||
curl-deployment-1515033274-1410r 1/1 Running 0 1m
|
curl-deployment-1515033274-1410r 1/1 Running 0 1m
|
||||||
$ kubectl exec curl-deployment-1515033274-1410r -- curl https://my-nginx --cacert /etc/nginx/ssl/nginx.crt
|
$ kubectl exec curl-deployment-1515033274-1410r -- curl https://my-nginx --cacert /etc/nginx/ssl/nginx.crt
|
||||||
|
|||||||
@@ -137,36 +137,36 @@ NAME READY STATUS RESTARTS AGE
|
|||||||
myapp-pod 0/1 Init:0/2 0 6m
|
myapp-pod 0/1 Init:0/2 0 6m
|
||||||
$ kubectl describe -f myapp.yaml
|
$ kubectl describe -f myapp.yaml
|
||||||
i11:32 $ kubectl describe -f examples/init-container.yaml
|
i11:32 $ kubectl describe -f examples/init-container.yaml
|
||||||
Name: myapp-pod
|
Name: myapp-pod
|
||||||
Namespace: default
|
Namespace: default
|
||||||
[...]
|
[...]
|
||||||
Labels: app=myapp
|
Labels: app=myapp
|
||||||
Status: Pending
|
Status: Pending
|
||||||
[...]
|
[...]
|
||||||
Init Containers:
|
Init Containers:
|
||||||
init-myservice:
|
init-myservice:
|
||||||
[...]
|
[...]
|
||||||
State: Running
|
State: Running
|
||||||
[...]
|
[...]
|
||||||
init-mydb:
|
init-mydb:
|
||||||
[...]
|
[...]
|
||||||
State: Running
|
State: Running
|
||||||
[...]
|
[...]
|
||||||
Containers:
|
Containers:
|
||||||
myapp-container:
|
myapp-container:
|
||||||
[...]
|
[...]
|
||||||
State: Waiting
|
State: Waiting
|
||||||
Reason: PodInitializing
|
Reason: PodInitializing
|
||||||
Ready: False
|
Ready: False
|
||||||
[...]
|
[...]
|
||||||
Events:
|
Events:
|
||||||
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
|
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
|
||||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||||
16s 16s 1 {default-scheduler } Normal Scheduled Successfully assigned myapp-pod to 172.17.4.201
|
16s 16s 1 {default-scheduler } Normal Scheduled Successfully assigned myapp-pod to 172.17.4.201
|
||||||
16s 16s 1 {kubelet 172.17.4.201} spec.initContainers{init-myservice} Normal Pulling pulling image "busybox"
|
16s 16s 1 {kubelet 172.17.4.201} spec.initContainers{init-myservice} Normal Pulling pulling image "busybox"
|
||||||
13s 13s 1 {kubelet 172.17.4.201} spec.initContainers{init-myservice} Normal Pulled Successfully pulled image "busybox"
|
13s 13s 1 {kubelet 172.17.4.201} spec.initContainers{init-myservice} Normal Pulled Successfully pulled image "busybox"
|
||||||
13s 13s 1 {kubelet 172.17.4.201} spec.initContainers{init-myservice} Normal Created Created container with docker id 5ced34a04634; Security:[seccomp=unconfined]
|
13s 13s 1 {kubelet 172.17.4.201} spec.initContainers{init-myservice} Normal Created Created container with docker id 5ced34a04634; Security:[seccomp=unconfined]
|
||||||
13s 13s 1 {kubelet 172.17.4.201} spec.initContainers{init-myservice} Normal Started Started container with docker id 5ced34a04634
|
13s 13s 1 {kubelet 172.17.4.201} spec.initContainers{init-myservice} Normal Started Started container with docker id 5ced34a04634
|
||||||
$ kubectl logs myapp-pod -c init-myservice # Inspect the first init container
|
$ kubectl logs myapp-pod -c init-myservice # Inspect the first init container
|
||||||
$ kubectl logs myapp-pod -c init-mydd # Inspect the second init container
|
$ kubectl logs myapp-pod -c init-mydd # Inspect the second init container
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -92,9 +92,9 @@ web server:
|
|||||||
|
|
||||||
<i>NOTE: If you do not want Jekyll to interfere with your other globally installed gems, you can use `bundler`:</i>
|
<i>NOTE: If you do not want Jekyll to interfere with your other globally installed gems, you can use `bundler`:</i>
|
||||||
|
|
||||||
gem install bundler
|
gem install bundler
|
||||||
bundle install
|
bundle install
|
||||||
bundler exec jekyll serve
|
bundler exec jekyll serve
|
||||||
|
|
||||||
<i> Regardless of whether you use `bundler` or not, your copy of the site will then be viewable at: [http://localhost:4000](http://localhost:4000)</i>
|
<i> Regardless of whether you use `bundler` or not, your copy of the site will then be viewable at: [http://localhost:4000](http://localhost:4000)</i>
|
||||||
|
|
||||||
|
|||||||
@@ -4807,10 +4807,10 @@ Examples:<br>
|
|||||||
<tr>
|
<tr>
|
||||||
<td class="tableblock halign-left valign-top"><p class="tableblock">host</p></td>
|
<td class="tableblock halign-left valign-top"><p class="tableblock">host</p></td>
|
||||||
<td class="tableblock halign-left valign-top"><p class="tableblock">Host is the fully qualified domain name of a network host, as defined by RFC 3986. Note the following deviations from the "host" part of the URI as defined in the RFC: 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the<br>
|
<td class="tableblock halign-left valign-top"><p class="tableblock">Host is the fully qualified domain name of a network host, as defined by RFC 3986. Note the following deviations from the "host" part of the URI as defined in the RFC: 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the<br>
|
||||||
IP in the Spec of the parent Ingress.<br>
|
IP in the Spec of the parent Ingress.<br>
|
||||||
2. The <code>:</code> delimiter is not respected because ports are not allowed.<br>
|
2. The <code>:</code> delimiter is not respected because ports are not allowed.<br>
|
||||||
Currently the port of an Ingress is implicitly :80 for http and<br>
|
Currently the port of an Ingress is implicitly :80 for http and<br>
|
||||||
:443 for https.<br>
|
:443 for https.<br>
|
||||||
Both these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue.</p></td>
|
Both these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue.</p></td>
|
||||||
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
|
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
|
||||||
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
|
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
|
||||||
|
|||||||
@@ -52,8 +52,8 @@ yum -y install --enablerepo=virt7-docker-common-release kubernetes etcd flannel
|
|||||||
* Add master and node to /etc/hosts on all machines (not needed if hostnames already in DNS)
|
* Add master and node to /etc/hosts on all machines (not needed if hostnames already in DNS)
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
echo "192.168.121.9 centos-master
|
echo "192.168.121.9 centos-master
|
||||||
192.168.121.65 centos-minion-1
|
192.168.121.65 centos-minion-1
|
||||||
192.168.121.66 centos-minion-2
|
192.168.121.66 centos-minion-2
|
||||||
192.168.121.67 centos-minion-3" >> /etc/hosts
|
192.168.121.67 centos-minion-3" >> /etc/hosts
|
||||||
```
|
```
|
||||||
@@ -147,9 +147,9 @@ FLANNEL_ETCD_PREFIX="/kube-centos/network"
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler flanneld; do
|
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler flanneld; do
|
||||||
systemctl restart $SERVICES
|
systemctl restart $SERVICES
|
||||||
systemctl enable $SERVICES
|
systemctl enable $SERVICES
|
||||||
systemctl status $SERVICES
|
systemctl status $SERVICES
|
||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -77,10 +77,10 @@ SSH to it using the key that was created and using the _core_ user and you can l
|
|||||||
|
|
||||||
$ ssh -i ~/.ssh/id_rsa_k8s core@<master IP>
|
$ ssh -i ~/.ssh/id_rsa_k8s core@<master IP>
|
||||||
$ fleetctl list-machines
|
$ fleetctl list-machines
|
||||||
MACHINE IP METADATA
|
MACHINE IP METADATA
|
||||||
a017c422... <node #1 IP> role=node
|
a017c422... <node #1 IP> role=node
|
||||||
ad13bf84... <master IP> role=master
|
ad13bf84... <master IP> role=master
|
||||||
e9af8293... <node #2 IP> role=node
|
e9af8293... <node #2 IP> role=node
|
||||||
|
|
||||||
## Support Level
|
## Support Level
|
||||||
|
|
||||||
|
|||||||
@@ -48,8 +48,8 @@ dnf -y install etcd
|
|||||||
* Add master and node to /etc/hosts on all machines (not needed if hostnames already in DNS). Make sure that communication works between fed-master and fed-node by using a utility such as ping.
|
* Add master and node to /etc/hosts on all machines (not needed if hostnames already in DNS). Make sure that communication works between fed-master and fed-node by using a utility such as ping.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
echo "192.168.121.9 fed-master
|
echo "192.168.121.9 fed-master
|
||||||
192.168.121.65 fed-node" >> /etc/hosts
|
192.168.121.65 fed-node" >> /etc/hosts
|
||||||
```
|
```
|
||||||
|
|
||||||
* Edit /etc/kubernetes/config (which should be the same on all hosts) to set
|
* Edit /etc/kubernetes/config (which should be the same on all hosts) to set
|
||||||
@@ -95,9 +95,9 @@ ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do
|
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do
|
||||||
systemctl restart $SERVICES
|
systemctl restart $SERVICES
|
||||||
systemctl enable $SERVICES
|
systemctl enable $SERVICES
|
||||||
systemctl status $SERVICES
|
systemctl status $SERVICES
|
||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ This guide will set up a simple Kubernetes cluster with a single Kubernetes mast
|
|||||||
|
|
||||||
- This guide uses `systemd` for process management. Ubuntu 15.04 supports systemd natively as do a number of other Linux distributions.
|
- This guide uses `systemd` for process management. Ubuntu 15.04 supports systemd natively as do a number of other Linux distributions.
|
||||||
- All machines should have Docker >= 1.7.0 installed.
|
- All machines should have Docker >= 1.7.0 installed.
|
||||||
- To install Docker on Ubuntu, follow [these instructions](https://docs.docker.com/installation/ubuntulinux/)
|
- To install Docker on Ubuntu, follow [these instructions](https://docs.docker.com/installation/ubuntulinux/)
|
||||||
- All machines should have connectivity to each other and the internet.
|
- All machines should have connectivity to each other and the internet.
|
||||||
- This guide assumes a DHCP server on your network to assign server IPs.
|
- This guide assumes a DHCP server on your network to assign server IPs.
|
||||||
- This guide uses `192.168.0.0/16` as the subnet from which pod IP addresses are assigned. If this overlaps with your host subnet, you will need to configure Calico to use a different [IP pool](https://github.com/projectcalico/calico-containers/blob/master/docs/calicoctl/pool.md#calicoctl-pool-commands).
|
- This guide uses `192.168.0.0/16` as the subnet from which pod IP addresses are assigned. If this overlaps with your host subnet, you will need to configure Calico to use a different [IP pool](https://github.com/projectcalico/calico-containers/blob/master/docs/calicoctl/pool.md#calicoctl-pool-commands).
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ At this stage, you can query the controller model as well:
|
|||||||
```
|
```
|
||||||
juju status
|
juju status
|
||||||
Model Controller Cloud/Region Version
|
Model Controller Cloud/Region Version
|
||||||
controller k8s lxd/localhost 2.0.2
|
controller k8s lxd/localhost 2.0.2
|
||||||
|
|
||||||
App Version Status Scale Charm Store Rev OS Notes
|
App Version Status Scale Charm Store Rev OS Notes
|
||||||
|
|
||||||
@@ -142,16 +142,16 @@ If the deployment is larger the following commands will run on all units success
|
|||||||
|
|
||||||
```
|
```
|
||||||
juju show-status kubernetes-master --format json | \
|
juju show-status kubernetes-master --format json | \
|
||||||
jq --raw-output '.applications."kubernetes-master".units | keys[]' | \
|
jq --raw-output '.applications."kubernetes-master".units | keys[]' | \
|
||||||
xargs -I UNIT juju ssh UNIT "sudo sed -i 's/KUBE_API_ARGS=\"/KUBE_API_ARGS=\"--allow-privileged\ /' /etc/default/kube-apiserver && sudo systemctl restart kube-apiserver.service"
|
xargs -I UNIT juju ssh UNIT "sudo sed -i 's/KUBE_API_ARGS=\"/KUBE_API_ARGS=\"--allow-privileged\ /' /etc/default/kube-apiserver && sudo systemctl restart kube-apiserver.service"
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Update all workers
|
2. Update all workers
|
||||||
|
|
||||||
```
|
```
|
||||||
juju show-status kubernetes-worker --format json | \
|
juju show-status kubernetes-worker --format json | \
|
||||||
jq --raw-output '.applications."kubernetes-worker".units | keys[]' | \
|
jq --raw-output '.applications."kubernetes-worker".units | keys[]' | \
|
||||||
xargs -I UNIT juju ssh UNIT "sudo sed -i 's/KUBELET_ARGS=\"/KUBELET_ARGS=\"--allow-privileged\ /' /etc/default/kubelet && sudo systemctl restart kubelet.service"
|
xargs -I UNIT juju ssh UNIT "sudo sed -i 's/KUBELET_ARGS=\"/KUBELET_ARGS=\"--allow-privileged\ /' /etc/default/kubelet && sudo systemctl restart kubelet.service"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ Sample Config:
|
|||||||
working-dir = <Folder in which VMs are provisioned, can be null>
|
working-dir = <Folder in which VMs are provisioned, can be null>
|
||||||
vm-uuid = <VM Instance UUID of virtual machine which can be retrieved from instanceUuid property in VmConfigInfo, or also set as vc.uuid in VMX file. If empty, will be retrieved from sysfs (requires root)>
|
vm-uuid = <VM Instance UUID of virtual machine which can be retrieved from instanceUuid property in VmConfigInfo, or also set as vc.uuid in VMX file. If empty, will be retrieved from sysfs (requires root)>
|
||||||
[Disk]
|
[Disk]
|
||||||
scsicontrollertype = pvscsi
|
scsicontrollertype = pvscsi
|
||||||
```
|
```
|
||||||
|
|
||||||
* Set the cloud provider via ```--cloud-provider=vsphere``` flag for each instance of kubelet, apiserver and controller manager.
|
* Set the cloud provider via ```--cloud-provider=vsphere``` flag for each instance of kubelet, apiserver and controller manager.
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@ In the reference section, you can find reference documentation for Kubernetes AP
|
|||||||
## CLI References
|
## CLI References
|
||||||
|
|
||||||
* [kubectl](/docs/user-guide/kubectl-overview/) - Runs commands against Kubernetes clusters.
|
* [kubectl](/docs/user-guide/kubectl-overview/) - Runs commands against Kubernetes clusters.
|
||||||
* [JSONPath](/docs/user-guide/jsonpath/) - Syntax guide for using [JSONPath expressions](http://goessner.net/articles/JsonPath/) with kubectl.
|
* [JSONPath](/docs/user-guide/jsonpath/) - Syntax guide for using [JSONPath expressions](http://goessner.net/articles/JsonPath/) with kubectl.
|
||||||
* [kube-apiserver](/docs/admin/kube-apiserver/) - REST API that validates and configures data for API objects such as pods, services, replication controllers.
|
* [kube-apiserver](/docs/admin/kube-apiserver/) - REST API that validates and configures data for API objects such as pods, services, replication controllers.
|
||||||
* [kube-proxy](/docs/admin/kube-proxy/) - Can do simple TCP/UDP stream forwarding or round-robin TCP/UDP forwarding across a set of backends.
|
* [kube-proxy](/docs/admin/kube-proxy/) - Can do simple TCP/UDP stream forwarding or round-robin TCP/UDP forwarding across a set of backends.
|
||||||
* [kube-scheduler](/docs/admin/kube-scheduler/) - A policy-rich, topology-aware, workload-specific function that significantly impacts availability, performance, and capacity.
|
* [kube-scheduler](/docs/admin/kube-scheduler/) - A policy-rich, topology-aware, workload-specific function that significantly impacts availability, performance, and capacity.
|
||||||
|
|||||||
+244
-244
@@ -1,252 +1,252 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo</title>
|
<title>jQuery.scrollTo</title>
|
||||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||||
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
||||||
<meta name="robots" content="index,follow" />
|
<meta name="robots" content="index,follow" />
|
||||||
<link type="text/css" rel="stylesheet" href="css/style.css" />
|
<link type="text/css" rel="stylesheet" href="css/style.css" />
|
||||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.min.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.min.js"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
jQuery(function( $ ){
|
jQuery(function( $ ){
|
||||||
/**
|
/**
|
||||||
* Demo binding and preparation, no need to read this part
|
* Demo binding and preparation, no need to read this part
|
||||||
*/
|
*/
|
||||||
//borrowed from jQuery easing plugin
|
//borrowed from jQuery easing plugin
|
||||||
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
||||||
$.easing.elasout = function(x, t, b, c, d) {
|
$.easing.elasout = function(x, t, b, c, d) {
|
||||||
var s=1.70158;var p=0;var a=c;
|
var s=1.70158;var p=0;var a=c;
|
||||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||||
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
||||||
};
|
};
|
||||||
$('a.back').click(function() {
|
$('a.back').click(function() {
|
||||||
$(this).parents('div.pane').scrollTo(0, 800, { queue:true });
|
$(this).parents('div.pane').scrollTo(0, 800, { queue:true });
|
||||||
$(this).parents('div.section').find('span.message').text( this.title);
|
$(this).parents('div.section').find('span.message').text( this.title);
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
//just for the example, to stop the click on the links.
|
//just for the example, to stop the click on the links.
|
||||||
$('ul.links').click(function(e){
|
$('ul.links').click(function(e){
|
||||||
var link = e.target;
|
var link = e.target;
|
||||||
if (link.target === '_blank') {
|
if (link.target === '_blank') {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
link.blur();
|
link.blur();
|
||||||
if (link.title) {
|
if (link.title) {
|
||||||
$(this).parent().find('span.message').text(link.title);
|
$(this).parent().find('span.message').text(link.title);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// This one is important, many browsers don't reset scroll on refreshes
|
// This one is important, many browsers don't reset scroll on refreshes
|
||||||
// Reset all scrollable panes to (0,0)
|
// Reset all scrollable panes to (0,0)
|
||||||
$('div.pane').scrollTo(0);
|
$('div.pane').scrollTo(0);
|
||||||
// Reset the screen to (0,0)
|
// Reset the screen to (0,0)
|
||||||
$.scrollTo(0);
|
$.scrollTo(0);
|
||||||
|
|
||||||
// TOC, shows how to scroll the whole window
|
// TOC, shows how to scroll the whole window
|
||||||
$('#toc a').click(function() {//$.scrollTo works EXACTLY the same way, but scrolls the whole screen
|
$('#toc a').click(function() {//$.scrollTo works EXACTLY the same way, but scrolls the whole screen
|
||||||
$.scrollTo(this.hash, 1500, { easing:'elasout' });
|
$.scrollTo(this.hash, 1500, { easing:'elasout' });
|
||||||
$(this.hash).find('span.message').text(this.title);
|
$(this.hash).find('span.message').text(this.title);
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
// Target examples bindings
|
// Target examples bindings
|
||||||
var $target = $('#pane-target');
|
var $target = $('#pane-target');
|
||||||
$('#target-examples a').click(function() {
|
$('#target-examples a').click(function() {
|
||||||
$target.stop(true);
|
$target.stop(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#relative-selector').click(function() {
|
$('#relative-selector').click(function() {
|
||||||
$target.scrollTo('li:eq(7)', 800);
|
$target.scrollTo('li:eq(7)', 800);
|
||||||
});
|
});
|
||||||
$('#jquery-object').click(function() {
|
$('#jquery-object').click(function() {
|
||||||
$target.scrollTo($('#pane-target li:eq(14)') , 800);
|
$target.scrollTo($('#pane-target li:eq(14)') , 800);
|
||||||
});
|
});
|
||||||
$('#dom-element').click(function() {
|
$('#dom-element').click(function() {
|
||||||
$target.scrollTo(document.getElementById('twenty'), 800);
|
$target.scrollTo(document.getElementById('twenty'), 800);
|
||||||
});
|
});
|
||||||
$('#absolute-number').click(function() {
|
$('#absolute-number').click(function() {
|
||||||
$target.scrollTo(150, 800);
|
$target.scrollTo(150, 800);
|
||||||
});
|
});
|
||||||
$('#absolute-number-hash').click(function() {
|
$('#absolute-number-hash').click(function() {
|
||||||
$target.scrollTo({ top:800, left:700}, 800);
|
$target.scrollTo({ top:800, left:700}, 800);
|
||||||
});
|
});
|
||||||
$('#absolute-px').click(function() {
|
$('#absolute-px').click(function() {
|
||||||
$target.scrollTo('520px', 800);
|
$target.scrollTo('520px', 800);
|
||||||
});
|
});
|
||||||
$('#absolute-px-hash').click(function() {
|
$('#absolute-px-hash').click(function() {
|
||||||
$target.scrollTo({top:'110px', left:'290px'}, 800);
|
$target.scrollTo({top:'110px', left:'290px'}, 800);
|
||||||
});
|
});
|
||||||
$('#relative-px').click(function() {
|
$('#relative-px').click(function() {
|
||||||
$target.scrollTo('+=100', 500);
|
$target.scrollTo('+=100', 500);
|
||||||
});
|
});
|
||||||
$('#relative-px-hash').click(function() {
|
$('#relative-px-hash').click(function() {
|
||||||
$target.scrollTo({top:'-=100px', left:'+=100'}, 500);
|
$target.scrollTo({top:'-=100px', left:'+=100'}, 500);
|
||||||
});
|
});
|
||||||
$('#percentage-px').click(function() {
|
$('#percentage-px').click(function() {
|
||||||
$target.scrollTo('50%', 800);
|
$target.scrollTo('50%', 800);
|
||||||
});
|
});
|
||||||
$('#percentage-px-hash').click(function() {
|
$('#percentage-px-hash').click(function() {
|
||||||
$target.scrollTo({top:'50%', left:'20%'}, 800);
|
$target.scrollTo({top:'50%', left:'20%'}, 800);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Settings examples bindings, they will all scroll to the same place, with different settings
|
// Settings examples bindings, they will all scroll to the same place, with different settings
|
||||||
var $settings = $('#pane-settings');
|
var $settings = $('#pane-settings');
|
||||||
$('#settings-examples a').click(function() {
|
$('#settings-examples a').click(function() {
|
||||||
// before each animation, reset to (0,0), skip this.
|
// before each animation, reset to (0,0), skip this.
|
||||||
$settings.stop(true).scrollTo(0);
|
$settings.stop(true).scrollTo(0);
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#settings-no').click(function() {
|
$('#settings-no').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 1000);
|
$settings.scrollTo('li:eq(15)', 1000);
|
||||||
});
|
});
|
||||||
$('#settings-axis').click(function() {// only scroll horizontally
|
$('#settings-axis').click(function() {// only scroll horizontally
|
||||||
$settings.scrollTo('li:eq(15)', 1000, { axis:'x' });
|
$settings.scrollTo('li:eq(15)', 1000, { axis:'x' });
|
||||||
});
|
});
|
||||||
$('#settings-duration').click(function() {// it's the same as specifying it in the 2nd argument
|
$('#settings-duration').click(function() {// it's the same as specifying it in the 2nd argument
|
||||||
$settings.scrollTo('li:eq(15)', { duration: 3000 });
|
$settings.scrollTo('li:eq(15)', { duration: 3000 });
|
||||||
});
|
});
|
||||||
$('#settings-easing').click(function() {
|
$('#settings-easing').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 2500, { easing:'elasout' });
|
$settings.scrollTo('li:eq(15)', 2500, { easing:'elasout' });
|
||||||
});
|
});
|
||||||
$('#settings-margin').click(function() {//scroll to the "outer" position of the element
|
$('#settings-margin').click(function() {//scroll to the "outer" position of the element
|
||||||
$settings.scrollTo('li:eq(15)', 1000, { margin:true });
|
$settings.scrollTo('li:eq(15)', 1000, { margin:true });
|
||||||
});
|
});
|
||||||
$('#settings-offset').click(function() {//same as { top:-50, left:-50 }
|
$('#settings-offset').click(function() {//same as { top:-50, left:-50 }
|
||||||
$settings.scrollTo('li:eq(15)', 1000, { offset:-50 });
|
$settings.scrollTo('li:eq(15)', 1000, { offset:-50 });
|
||||||
});
|
});
|
||||||
$('#settings-offset-hash').click(function() {
|
$('#settings-offset-hash').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 1000, { offset:{ top:-5, left:-30 } });
|
$settings.scrollTo('li:eq(15)', 1000, { offset:{ top:-5, left:-30 } });
|
||||||
});
|
});
|
||||||
$('#settings-offset-function').click(function() {
|
$('#settings-offset-function').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});
|
$settings.scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});
|
||||||
});
|
});
|
||||||
$('#settings-over').click(function() {//same as { top:-50, left:-50 }
|
$('#settings-over').click(function() {//same as { top:-50, left:-50 }
|
||||||
$settings.scrollTo('li:eq(15)', 1000, { over:0.5 });
|
$settings.scrollTo('li:eq(15)', 1000, { over:0.5 });
|
||||||
});
|
});
|
||||||
$('#settings-over-hash').click(function() {
|
$('#settings-over-hash').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 1000, { over:{ top:0.2, left:-0.5 } });
|
$settings.scrollTo('li:eq(15)', 1000, { over:{ top:0.2, left:-0.5 } });
|
||||||
});
|
});
|
||||||
$('#settings-interrupt').click(function() {
|
$('#settings-interrupt').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 10000, { interrupt:true });
|
$settings.scrollTo('li:eq(15)', 10000, { interrupt:true });
|
||||||
});
|
});
|
||||||
$('#settings-queue').click(function() {//in this case, having 'axis' as 'xy' or 'yx' matters.
|
$('#settings-queue').click(function() {//in this case, having 'axis' as 'xy' or 'yx' matters.
|
||||||
$settings.scrollTo('li:eq(15)', 2000, { queue:true });
|
$settings.scrollTo('li:eq(15)', 2000, { queue:true });
|
||||||
});
|
});
|
||||||
$('#settings-onAfter').click(function() {
|
$('#settings-onAfter').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 2000, {
|
$settings.scrollTo('li:eq(15)', 2000, {
|
||||||
onAfter:function() {
|
onAfter:function() {
|
||||||
$('#settings-message').text('Got there!');
|
$('#settings-message').text('Got there!');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
$('#settings-onAfterFirst').click(function() {//onAfterFirst exists only when queuing
|
$('#settings-onAfterFirst').click(function() {//onAfterFirst exists only when queuing
|
||||||
$settings.scrollTo('li:eq(15)', 1600, {
|
$settings.scrollTo('li:eq(15)', 1600, {
|
||||||
queue:true,
|
queue:true,
|
||||||
onAfterFirst:function() {
|
onAfterFirst:function() {
|
||||||
$('#settings-message').text('Got there horizontally!');
|
$('#settings-message').text('Got there horizontally!');
|
||||||
},
|
},
|
||||||
onAfter:function() {
|
onAfter:function() {
|
||||||
$('#settings-message').text('Got there vertically!');
|
$('#settings-message').text('Got there vertically!');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
$('#settings-step').click(function() {
|
$('#settings-step').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 2000, {step:function(now) {
|
$settings.scrollTo('li:eq(15)', 2000, {step:function(now) {
|
||||||
$('#settings-message').text(now.toFixed(2));
|
$('#settings-message').text(now.toFixed(2));
|
||||||
}});
|
}});
|
||||||
});
|
});
|
||||||
$('#settings-progress').click(function() {
|
$('#settings-progress').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 2000, {progress:function(_, now) {
|
$settings.scrollTo('li:eq(15)', 2000, {progress:function(_, now) {
|
||||||
$('#settings-message').text(Math.round(now*100) + '%');
|
$('#settings-message').text(Math.round(now*100) + '%');
|
||||||
}});
|
}});
|
||||||
});
|
});
|
||||||
$('#settings-fail').click(function() {
|
$('#settings-fail').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 10000, {interrupt:true, fail:function() {
|
$settings.scrollTo('li:eq(15)', 10000, {interrupt:true, fail:function() {
|
||||||
$('#settings-message').text('Scroll interrupted!');
|
$('#settings-message').text('Scroll interrupted!');
|
||||||
}});
|
}});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo <strong>by Ariel Flesler</strong></h1>
|
<h1>jQuery.scrollTo <strong>by Ariel Flesler</strong></h1>
|
||||||
|
|
||||||
<div id="toc" class="part">
|
<div id="toc" class="part">
|
||||||
<h3>Table of contents <strong>(try these)</strong></h3>
|
<h3>Table of contents <strong>(try these)</strong></h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a title="$.scrollTo('#target-examples', 800, {easing:'elasout'});" href="#target-examples">Ways to specify the target</a></li>
|
<li><a title="$.scrollTo('#target-examples', 800, {easing:'elasout'});" href="#target-examples">Ways to specify the target</a></li>
|
||||||
<li><a title="$.scrollTo('#settings-examples', 800, {easing:'elasout'});" href="#settings-examples">Settings</a></li>
|
<li><a title="$.scrollTo('#settings-examples', 800, {easing:'elasout'});" href="#settings-examples">Settings</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="links" class="part">
|
<div id="links" class="part">
|
||||||
<h3>Links</h3>
|
<h3>Links</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a target="_blank" href="https://github.com/flesler/jquery.scrollTo">Github</a></li>
|
<li><a target="_blank" href="https://github.com/flesler/jquery.scrollTo">Github</a></li>
|
||||||
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
||||||
<li><a target="_blank" href="http://demos.flesler.com/jquery/localScroll/">LocalScroll Demo</a></li>
|
<li><a target="_blank" href="http://demos.flesler.com/jquery/localScroll/">LocalScroll Demo</a></li>
|
||||||
<li><a target="_blank" href="http://demos.flesler.com/jquery/serialScroll/">SerialScroll Demo</a></li>
|
<li><a target="_blank" href="http://demos.flesler.com/jquery/serialScroll/">SerialScroll Demo</a></li>
|
||||||
<li><a target="_blank" href="index.old.html">Old Demo</a></li>
|
<li><a target="_blank" href="index.old.html">Old Demo</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div id="target-examples" class="section part">
|
<div id="target-examples" class="section part">
|
||||||
<h3>Ways to specify the target <span id="target-message" class="message">Click an option, to see it in action</span></h3>
|
<h3>Ways to specify the target <span id="target-message" class="message">Click an option, to see it in action</span></h3>
|
||||||
<ul class="links">
|
<ul class="links">
|
||||||
<li><a title="$(...).scrollTo('li:eq(7)', 800);" id="relative-selector" href="#">Relative selector</a></li>
|
<li><a title="$(...).scrollTo('li:eq(7)', 800);" id="relative-selector" href="#">Relative selector</a></li>
|
||||||
<li><a title="$(...).scrollTo($('div li:eq(14)'), 800);" id="jquery-object" href="#">jQuery object</a></li>
|
<li><a title="$(...).scrollTo($('div li:eq(14)'), 800);" id="jquery-object" href="#">jQuery object</a></li>
|
||||||
<li><a title="$(...).scrollTo(document.getElementById('twenty'), 800);" id="dom-element" href="#">DOM Element</a></li>
|
<li><a title="$(...).scrollTo(document.getElementById('twenty'), 800);" id="dom-element" href="#">DOM Element</a></li>
|
||||||
<li><a title="$(...).scrollTo(150, 800);" id="absolute-number" href="#">Absolute number</a></li>
|
<li><a title="$(...).scrollTo(150, 800);" id="absolute-number" href="#">Absolute number</a></li>
|
||||||
<li><a title="$(...).scrollTo({ top:800, left:700}, 800);" id="absolute-number-hash" href="#">Absolute number(hash)</a></li>
|
<li><a title="$(...).scrollTo({ top:800, left:700}, 800);" id="absolute-number-hash" href="#">Absolute number(hash)</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="links">
|
<ul class="links">
|
||||||
<li><a title="$(...).scrollTo('520px', 800);" id="absolute-px" href="#">Absolute px</a></li>
|
<li><a title="$(...).scrollTo('520px', 800);" id="absolute-px" href="#">Absolute px</a></li>
|
||||||
<li><a title="$(...).scrollTo({top:'110px', left:'290px'}, 800);" id="absolute-px-hash" href="#">Absolute px(hash)</a></li>
|
<li><a title="$(...).scrollTo({top:'110px', left:'290px'}, 800);" id="absolute-px-hash" href="#">Absolute px(hash)</a></li>
|
||||||
<li><a title="$(...).scrollTo('+=100px', 800);" id="relative-px" href="#">Relative px</a></li>
|
<li><a title="$(...).scrollTo('+=100px', 800);" id="relative-px" href="#">Relative px</a></li>
|
||||||
<li><a title="$(...).scrollTo({top:'-=100px', left:'+=100'}, 800);" id="relative-px-hash" href="#">Relative px(hash)</a></li>
|
<li><a title="$(...).scrollTo({top:'-=100px', left:'+=100'}, 800);" id="relative-px-hash" href="#">Relative px(hash)</a></li>
|
||||||
<li><a title="$(...).scrollTo('50%', 800);" id="percentage-px" href="#">Percent</a></li>
|
<li><a title="$(...).scrollTo('50%', 800);" id="percentage-px" href="#">Percent</a></li>
|
||||||
<li><a title="$(...).scrollTo({top:'50%', left:'20%'}, 800);" id="percentage-px-hash" href="#">Percent(hash)</a></li>
|
<li><a title="$(...).scrollTo({top:'50%', left:'20%'}, 800);" id="percentage-px-hash" href="#">Percent(hash)</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<div id="pane-target" class="pane">
|
<div id="pane-target" class="pane">
|
||||||
<ul class="elements" style="height:1011px; width:1820px;">
|
<ul class="elements" style="height:1011px; width:1820px;">
|
||||||
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li id="twenty"><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li id="twenty"><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="settings-examples" class="section part">
|
<div id="settings-examples" class="section part">
|
||||||
<h3>Settings <span id="settings-message" class="message">The examples shown here, are summarized for brevity</span></h3>
|
<h3>Settings <span id="settings-message" class="message">The examples shown here, are summarized for brevity</span></h3>
|
||||||
<ul class="links">
|
<ul class="links">
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000);" id="settings-no" href="#">no settings</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000);" id="settings-no" href="#">no settings</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {axis:'x'});//only scroll on this axis (can be x, y, xy or yx)" id="settings-axis" href="#">axis</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {axis:'x'});//only scroll on this axis (can be x, y, xy or yx)" id="settings-axis" href="#">axis</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {margin:true});//deduct the margin and border from the final position" id="settings-margin" href="#">margin</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {margin:true});//deduct the margin and border from the final position" id="settings-margin" href="#">margin</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset:-50});//add or deduct from the final position" id="settings-offset" href="#">offset</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset:-50});//add or deduct from the final position" id="settings-offset" href="#">offset</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: {top:-5, left:-30} });" id="settings-offset-hash" href="#">offset(hash)</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: {top:-5, left:-30} });" id="settings-offset-hash" href="#">offset(hash)</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});" id="settings-offset-function" href="#">offset(function)</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});" id="settings-offset-function" href="#">offset(function)</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:0.5});//add or deduct a fraction of its height/width" id="settings-over" href="#">over</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:0.5});//add or deduct a fraction of its height/width" id="settings-over" href="#">over</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:{top:0.2, left:-0.5});" id="settings-over-hash" href="#">over(hash)</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:{top:0.2, left:-0.5});" id="settings-over-hash" href="#">over(hash)</a></li>
|
||||||
<li><a title="Scroll manually to interrupt the animation" id="settings-interrupt" href="#">interrupt</a></li>
|
<li><a title="Scroll manually to interrupt the animation" id="settings-interrupt" href="#">interrupt</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {onAfter:function() { } });//called after the scrolling ends" id="settings-onAfter" href="#">onAfter</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {onAfter:function() { } });//called after the scrolling ends" id="settings-onAfter" href="#">onAfter</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true, onAfterFirst:function() { } });//called after the first axis scrolled" id="settings-onAfterFirst" href="#">onAfterFirst</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true, onAfterFirst:function() { } });//called after the first axis scrolled" id="settings-onAfterFirst" href="#">onAfterFirst</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<h4>Settings inherited from <a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">$().animate()</a></h4>
|
<h4>Settings inherited from <a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">$().animate()</a></h4>
|
||||||
<ul class="links">
|
<ul class="links">
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', {duration:3000});//another way of calling the plugin" id="settings-duration" href="#">duration</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', {duration:3000});//another way of calling the plugin" id="settings-duration" href="#">duration</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {easing:'elasout'});//specify an easing equation" id="settings-easing" href="#">easing</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {easing:'elasout'});//specify an easing equation" id="settings-easing" href="#">easing</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true});//scroll one axis, then the other" id="settings-queue" href="#">queue</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true});//scroll one axis, then the other" id="settings-queue" href="#">queue</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {step:function() { }'});//specify a step function" id="settings-step" href="#">step</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {step:function() { }'});//specify a step function" id="settings-step" href="#">step</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {progress:function() { }'});//specify a progress function" id="settings-progress" href="#">progress</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {progress:function() { }'});//specify a progress function" id="settings-progress" href="#">progress</a></li>
|
||||||
<li><a title="Scroll manually to interrupt and trigger the callback" id="settings-fail" href="#">fail</a></li>
|
<li><a title="Scroll manually to interrupt and trigger the callback" id="settings-fail" href="#">fail</a></li>
|
||||||
<li><a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">more</a></li>
|
<li><a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">more</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<div id="pane-settings" class="pane">
|
<div id="pane-settings" class="pane">
|
||||||
<ul class="elements" style="height:1062px;width:1877px;">
|
<ul class="elements" style="height:1062px;width:1877px;">
|
||||||
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
+121
-121
@@ -1,128 +1,128 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.ScrollTo</title>
|
<title>jQuery.ScrollTo</title>
|
||||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||||
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
||||||
<meta name="robots" content="index,follow" />
|
<meta name="robots" content="index,follow" />
|
||||||
<link type="text/css" rel="stylesheet" href="css/style.old.css" />
|
<link type="text/css" rel="stylesheet" href="css/style.old.css" />
|
||||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
jQuery(function( $ ){
|
jQuery(function( $ ){
|
||||||
//borrowed from jQuery easing plugin
|
//borrowed from jQuery easing plugin
|
||||||
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
||||||
$.easing.elasout = function(x, t, b, c, d) {
|
$.easing.elasout = function(x, t, b, c, d) {
|
||||||
var s=1.70158;var p=0;var a=c;
|
var s=1.70158;var p=0;var a=c;
|
||||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||||
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
||||||
};
|
};
|
||||||
$('button').click(function(){//this is not the cleanest way to do this, I'm just keeping it short.
|
$('button').click(function(){//this is not the cleanest way to do this, I'm just keeping it short.
|
||||||
var index = parseInt( $(this).prev('input').val() ) || 0;
|
var index = parseInt( $(this).prev('input').val() ) || 0;
|
||||||
var $c = $(this).parent().next();
|
var $c = $(this).parent().next();
|
||||||
$c.stop().scrollTo('li:eq('+index+')', {duration:2500, easing:'elasout',axis:$c.attr('id')});
|
$c.stop().scrollTo('li:eq('+index+')', {duration:2500, easing:'elasout',axis:$c.attr('id')});
|
||||||
});
|
});
|
||||||
$('#btn_screen').click(function(){
|
$('#btn_screen').click(function(){
|
||||||
$.scrollTo( $('#txt_screen').val(), {duration:2500} );
|
$.scrollTo( $('#txt_screen').val(), {duration:2500} );
|
||||||
});
|
});
|
||||||
$('div.container a').click(function(){
|
$('div.container a').click(function(){
|
||||||
var $c = $(this).parents('.container');
|
var $c = $(this).parents('.container');
|
||||||
$c.stop().scrollTo( 0, {duration:2000,axis:$c.attr('id'), queue:true} );
|
$c.stop().scrollTo( 0, {duration:2000,axis:$c.attr('id'), queue:true} );
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.ScrollTo <strong>by Ariel Flesler</strong></h1>
|
<h1>jQuery.ScrollTo <strong>by Ariel Flesler</strong></h1>
|
||||||
<div id="links" class="part" style="width:135px">
|
<div id="links" class="part" style="width:135px">
|
||||||
<h3>Links</h3>
|
<h3>Links</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a target="_blank" href="http://plugins.jquery.com/project/ScrollTo">Project Page</a></li>
|
<li><a target="_blank" href="http://plugins.jquery.com/project/ScrollTo">Project Page</a></li>
|
||||||
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
||||||
<li><a target="_blank" href="http://flesler.blogspot.com/search/label/jQuery.ScrollTo">All articles</a></li>
|
<li><a target="_blank" href="http://flesler.blogspot.com/search/label/jQuery.ScrollTo">All articles</a></li>
|
||||||
<li><a target="_blank" href="http://flesler.webs.com/jQuery.LocalScroll/">LocalScroll Demo</a></li>
|
<li><a target="_blank" href="http://flesler.webs.com/jQuery.LocalScroll/">LocalScroll Demo</a></li>
|
||||||
<li><a target="_blank" href="http://flesler.webs.com/jQuery.SerialScroll/">SerialScroll Demo</a></li>
|
<li><a target="_blank" href="http://flesler.webs.com/jQuery.SerialScroll/">SerialScroll Demo</a></li>
|
||||||
<li><a target="_blank" href="./" rel="prev" rev="next">New Demo</a></li>
|
<li><a target="_blank" href="./" rel="prev" rev="next">New Demo</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<label for="txt_screen">Scroll the window to <input id="txt_screen" type="text" value=".pane:eq(1)" /><input id="btn_screen" type="button" value="Scroll" /></label><br /><br />
|
<label for="txt_screen">Scroll the window to <input id="txt_screen" type="text" value=".pane:eq(1)" /><input id="btn_screen" type="button" value="Scroll" /></label><br /><br />
|
||||||
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
||||||
<div id="y" class="container">
|
<div id="y" class="container">
|
||||||
<ul>
|
<ul>
|
||||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to top</a></li>
|
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to top</a></li>
|
||||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to top</a></li>
|
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to top</a></li>
|
||||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to top</a></li>
|
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to top</a></li>
|
||||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to top</a></li>
|
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to top</a></li>
|
||||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to top</a></li>
|
<li style="background-color:#663366;"><p>4</p><a href="#">back to top</a></li>
|
||||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to top</a></li>
|
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to top</a></li>
|
||||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to top</a></li>
|
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to top</a></li>
|
||||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to top</a></li>
|
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to top</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
||||||
<div id="x" class="container">
|
<div id="x" class="container">
|
||||||
<ul style="width:4820px;">
|
<ul style="width:4820px;">
|
||||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<label>Scroll to the #<input type="text" value="16" /> element inside this container<button>Scroll</button></label>
|
<label>Scroll to the #<input type="text" value="16" /> element inside this container<button>Scroll</button></label>
|
||||||
<div id="xy" class="container">
|
<div id="xy" class="container">
|
||||||
<ul style="width:1500px;">
|
<ul style="width:1500px;">
|
||||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#9933CC;"><p>16</p><a href="#">back to start</a></li>
|
<li style="background-color:#9933CC;"><p>16</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFCC99;"><p>17</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFCC99;"><p>17</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FF0000;"><p>18</p><a href="#">back to start</a></li>
|
<li style="background-color:#FF0000;"><p>18</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FFCC;"><p>19</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FFCC;"><p>19</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#663366;"><p>20</p><a href="#">back to start</a></li>
|
<li style="background-color:#663366;"><p>20</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#CCCCFF;"><p>21</p><a href="#">back to start</a></li>
|
<li style="background-color:#CCCCFF;"><p>21</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFFFCC;"><p>22</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFFFCC;"><p>22</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FF00;"><p>23</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FF00;"><p>23</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#9933CC;"><p>24</p><a href="#">back to start</a></li>
|
<li style="background-color:#9933CC;"><p>24</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFCC99;"><p>25</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFCC99;"><p>25</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FF0000;"><p>26</p><a href="#">back to start</a></li>
|
<li style="background-color:#FF0000;"><p>26</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FFCC;"><p>27</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FFCC;"><p>27</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#663366;"><p>28</p><a href="#">back to start</a></li>
|
<li style="background-color:#663366;"><p>28</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#CCCCFF;"><p>29</p><a href="#">back to start</a></li>
|
<li style="background-color:#CCCCFF;"><p>29</p><a href="#">back to start</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="pane" style="background-color:#000000;margin-top:40px;"></div>
|
<div class="pane" style="background-color:#000000;margin-top:40px;"></div>
|
||||||
<div class="pane" style="background-color:#333333;"></div>
|
<div class="pane" style="background-color:#333333;"></div>
|
||||||
<div class="pane" style="background-color:#666666;"></div>
|
<div class="pane" style="background-color:#666666;"></div>
|
||||||
<div class="pane" style="background-color:#999999;"></div>
|
<div class="pane" style="background-color:#999999;"></div>
|
||||||
<div class="pane" style="background-color:#CCCCCC;"></div>
|
<div class="pane" style="background-color:#CCCCCC;"></div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Generated
Vendored
+15
-15
@@ -1,21 +1,21 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Element MaxY - Compat Mode</title>
|
<title>jQuery.scrollTo - Test Element MaxY - Compat Mode</title>
|
||||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||||
<script type="text/javascript" src="test.js"></script>
|
<script type="text/javascript" src="test.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Element MaxY - Compat Mode</h1>
|
<h1>jQuery.scrollTo - Test Element MaxY - Compat Mode</h1>
|
||||||
|
|
||||||
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
||||||
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$('#viewport').test();
|
$('#viewport').test();
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Generated
Vendored
+15
-15
@@ -1,20 +1,20 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Element MaxY - Quirks Mode</title>
|
<title>jQuery.scrollTo - Test Element MaxY - Quirks Mode</title>
|
||||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||||
<script type="text/javascript" src="test.js"></script>
|
<script type="text/javascript" src="test.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Element MaxY - Quirks Mode</h1>
|
<h1>jQuery.scrollTo - Test Element MaxY - Quirks Mode</h1>
|
||||||
|
|
||||||
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
||||||
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$('#viewport').test();
|
$('#viewport').test();
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Generated
Vendored
+13
-13
@@ -1,19 +1,19 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Window MaxY - Compat Mode</title>
|
<title>jQuery.scrollTo - Test Window MaxY - Compat Mode</title>
|
||||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||||
<script type="text/javascript" src="test.js"></script>
|
<script type="text/javascript" src="test.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Window MaxY - Compat Mode</h1>
|
<h1>jQuery.scrollTo - Test Window MaxY - Compat Mode</h1>
|
||||||
|
|
||||||
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(window).test();
|
$(window).test();
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Generated
Vendored
+12
-12
@@ -1,18 +1,18 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Window MaxY - Quirks Mode</title>
|
<title>jQuery.scrollTo - Test Window MaxY - Quirks Mode</title>
|
||||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||||
<script type="text/javascript" src="test.js"></script>
|
<script type="text/javascript" src="test.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Window MaxY - Quirks Mode</h1>
|
<h1>jQuery.scrollTo - Test Window MaxY - Quirks Mode</h1>
|
||||||
|
|
||||||
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(window).test();
|
$(window).test();
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Generated
Vendored
+13
-13
@@ -1,20 +1,20 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</title>
|
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</title>
|
||||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||||
<script type="text/javascript" src="test.js"></script>
|
<script type="text/javascript" src="test.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</h1>
|
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</h1>
|
||||||
|
|
||||||
<iframe src="WinMaxY-compat.html?notest" style="width:500px" /></iframe>
|
<iframe src="WinMaxY-compat.html?notest" style="width:500px" /></iframe>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
$('iframe').test();
|
$('iframe').test();
|
||||||
}, 1500 );
|
}, 1500 );
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Generated
Vendored
+14
-14
@@ -1,19 +1,19 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</title>
|
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</title>
|
||||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||||
<script type="text/javascript" src="test.js"></script>
|
<script type="text/javascript" src="test.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</h1>
|
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</h1>
|
||||||
|
|
||||||
<iframe src="WinMaxY-quirks.html?notest" style="width:500px"></iframe>
|
<iframe src="WinMaxY-quirks.html?notest" style="width:500px"></iframe>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
$('iframe').test();
|
$('iframe').test();
|
||||||
}, 1500 );
|
}, 1500 );
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Generated
Vendored
+5
-5
@@ -1,11 +1,11 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</title>
|
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</h1>
|
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</h1>
|
||||||
|
|
||||||
<iframe src="WinMaxY-compat.html" />
|
<iframe src="WinMaxY-compat.html" />
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Generated
Vendored
+4
-4
@@ -1,10 +1,10 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</title>
|
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</h1>
|
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</h1>
|
||||||
|
|
||||||
<iframe src="WinMaxY-quirks.html" />
|
<iframe src="WinMaxY-quirks.html" />
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
+17
-17
@@ -1,24 +1,24 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo Tests</title>
|
<title>jQuery.scrollTo Tests</title>
|
||||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||||
<meta name="description" content="Tests for jQuery ScrollTo. Made by Ariel Flesler." />
|
<meta name="description" content="Tests for jQuery ScrollTo. Made by Ariel Flesler." />
|
||||||
<meta name="robots" content="index,follow" />
|
<meta name="robots" content="index,follow" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo Tests</h1>
|
<h1>jQuery.scrollTo Tests</h1>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="WinMaxY-compat.html">Max window scrolling (compat mode)</a></li>
|
<li><a href="WinMaxY-compat.html">Max window scrolling (compat mode)</a></li>
|
||||||
<li><a href="WinMaxY-quirks.html">Max window scrolling (quirks mode)</a></li>
|
<li><a href="WinMaxY-quirks.html">Max window scrolling (quirks mode)</a></li>
|
||||||
<li><a href="ElemMaxY-compat.html">Max element scrolling (compat mode)</a></li>
|
<li><a href="ElemMaxY-compat.html">Max element scrolling (compat mode)</a></li>
|
||||||
<li><a href="ElemMaxY-quirks.html">Max element scrolling (quirks mode)</a></li>
|
<li><a href="ElemMaxY-quirks.html">Max element scrolling (quirks mode)</a></li>
|
||||||
<li><a href="WinMaxY-with-iframe-compat.html">Max window scrolling, within an iframe (compat mode)</a></li>
|
<li><a href="WinMaxY-with-iframe-compat.html">Max window scrolling, within an iframe (compat mode)</a></li>
|
||||||
<li><a href="WinMaxY-with-iframe-quirks.html">Max window scrolling, within an iframe (quirks mode)</a></li>
|
<li><a href="WinMaxY-with-iframe-quirks.html">Max window scrolling, within an iframe (quirks mode)</a></li>
|
||||||
<li><a href="WinMaxY-to-iframe-compat.html">Max iframe scrolling from outside (compat mode)</a></li>
|
<li><a href="WinMaxY-to-iframe-compat.html">Max iframe scrolling from outside (compat mode)</a></li>
|
||||||
<li><a href="WinMaxY-to-iframe-quirks.html">Max iframe scrolling from outside (quirks mode)</a></li>
|
<li><a href="WinMaxY-to-iframe-quirks.html">Max iframe scrolling from outside (quirks mode)</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
+5
-5
@@ -55,11 +55,11 @@ For jQuery to work in Node, a window with a document is required. Since no such
|
|||||||
|
|
||||||
```js
|
```js
|
||||||
require("jsdom").env("", function(err, window) {
|
require("jsdom").env("", function(err, window) {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error(err);
|
console.error(err);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var $ = require("jquery")(window);
|
var $ = require("jquery")(window);
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|||||||
+2
-2
@@ -1,8 +1,8 @@
|
|||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<title>Awesome page</title>
|
<title>Awesome page</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
hello world!
|
hello world!
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Generated
Vendored
+2
-2
@@ -1,8 +1,8 @@
|
|||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<title>Other page</title>
|
<title>Other page</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
hello there!
|
hello there!
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -307,7 +307,7 @@ Check that:
|
|||||||
delete any ingresses created before the cluster joined the
|
delete any ingresses created before the cluster joined the
|
||||||
federation (and had it's GLBC reconfigured), and recreate them if
|
federation (and had it's GLBC reconfigured), and recreate them if
|
||||||
necessary.
|
necessary.
|
||||||
|
|
||||||
#### This troubleshooting guide did not help me solve my problem
|
#### This troubleshooting guide did not help me solve my problem
|
||||||
|
|
||||||
Please use one of our [support channels](http://kubernetes.io/docs/troubleshooting/) to seek assistance.
|
Please use one of our [support channels](http://kubernetes.io/docs/troubleshooting/) to seek assistance.
|
||||||
|
|||||||
@@ -69,8 +69,8 @@ Let's describe the quota to see what is currently being consumed in this namespa
|
|||||||
$ kubectl describe quota object-counts --namespace=quota-example
|
$ kubectl describe quota object-counts --namespace=quota-example
|
||||||
Name: object-counts
|
Name: object-counts
|
||||||
Namespace: quota-example
|
Namespace: quota-example
|
||||||
Resource Used Hard
|
Resource Used Hard
|
||||||
-------- ---- ----
|
-------- ---- ----
|
||||||
persistentvolumeclaims 0 2
|
persistentvolumeclaims 0 2
|
||||||
services.loadbalancers 0 2
|
services.loadbalancers 0 2
|
||||||
services.nodeports 0 0
|
services.nodeports 0 0
|
||||||
@@ -162,8 +162,8 @@ Replicas: 0 current / 1 desired
|
|||||||
Pods Status: 0 Running / 0 Waiting / 0 Succeeded / 0 Failed
|
Pods Status: 0 Running / 0 Waiting / 0 Succeeded / 0 Failed
|
||||||
No volumes.
|
No volumes.
|
||||||
Events:
|
Events:
|
||||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||||
4m 7s 11 {replicaset-controller } Warning FailedCreate Error creating: pods "nginx-3137573019-" is forbidden: Failed quota: compute-resources: must specify limits.cpu,limits.memory,requests.cpu,requests.memory
|
4m 7s 11 {replicaset-controller } Warning FailedCreate Error creating: pods "nginx-3137573019-" is forbidden: Failed quota: compute-resources: must specify limits.cpu,limits.memory,requests.cpu,requests.memory
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -257,7 +257,7 @@ Name: best-effort
|
|||||||
Namespace: quota-scopes
|
Namespace: quota-scopes
|
||||||
Scopes: BestEffort
|
Scopes: BestEffort
|
||||||
* Matches all pods that have best effort quality of service.
|
* Matches all pods that have best effort quality of service.
|
||||||
Resource Used Hard
|
Resource Used Hard
|
||||||
-------- ---- ----
|
-------- ---- ----
|
||||||
pods 0 10
|
pods 0 10
|
||||||
|
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ Set `terminationMessagePath` as shown here:
|
|||||||
|
|
||||||
* See the `terminationMessagePath` field in
|
* See the `terminationMessagePath` field in
|
||||||
[Container](/docs/api-reference/v1/definitions#_v1_container).
|
[Container](/docs/api-reference/v1/definitions#_v1_container).
|
||||||
* Learn about [retrieving logs](/docs/user-guide/logging/).
|
* Learn about [retrieving logs](/docs/concepts/cluster-administration/logging/).
|
||||||
* Learn about [Go templates](https://golang.org/pkg/text/template/).
|
* Learn about [Go templates](https://golang.org/pkg/text/template/).
|
||||||
|
|
||||||
{% endcapture %}
|
{% endcapture %}
|
||||||
|
|||||||
@@ -77,10 +77,10 @@ Next, we will check that we can discover the rabbitmq service:
|
|||||||
# Note the rabitmq-service has a DNS name, provided by Kubernetes:
|
# Note the rabitmq-service has a DNS name, provided by Kubernetes:
|
||||||
|
|
||||||
root@temp-loe07:/# nslookup rabbitmq-service
|
root@temp-loe07:/# nslookup rabbitmq-service
|
||||||
Server: 10.0.0.10
|
Server: 10.0.0.10
|
||||||
Address: 10.0.0.10#53
|
Address: 10.0.0.10#53
|
||||||
|
|
||||||
Name: rabbitmq-service.default.svc.cluster.local
|
Name: rabbitmq-service.default.svc.cluster.local
|
||||||
Address: 10.0.147.152
|
Address: 10.0.147.152
|
||||||
|
|
||||||
# Your address will vary.
|
# Your address will vary.
|
||||||
@@ -222,27 +222,27 @@ kubectl create -f ./job.yaml
|
|||||||
Now wait a bit, then check on the job.
|
Now wait a bit, then check on the job.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ kubectl describe jobs/job-wq-1
|
$ kubectl describe jobs/job-wq-1
|
||||||
Name: job-wq-1
|
Name: job-wq-1
|
||||||
Namespace: default
|
Namespace: default
|
||||||
Image(s): gcr.io/causal-jigsaw-637/job-wq-1
|
Image(s): gcr.io/causal-jigsaw-637/job-wq-1
|
||||||
Selector: app in (job-wq-1)
|
Selector: app in (job-wq-1)
|
||||||
Parallelism: 2
|
Parallelism: 2
|
||||||
Completions: 8
|
Completions: 8
|
||||||
Labels: app=job-wq-1
|
Labels: app=job-wq-1
|
||||||
Pods Statuses: 0 Running / 8 Succeeded / 0 Failed
|
Pods Statuses: 0 Running / 8 Succeeded / 0 Failed
|
||||||
No volumes.
|
No volumes.
|
||||||
Events:
|
Events:
|
||||||
FirstSeen LastSeen Count From SubobjectPath Reason Message
|
FirstSeen LastSeen Count From SubobjectPath Reason Message
|
||||||
───────── ──────── ───── ──── ───────────── ────── ───────
|
───────── ──────── ───── ──── ───────────── ────── ───────
|
||||||
27s 27s 1 {job } SuccessfulCreate Created pod: job-wq-1-hcobb
|
27s 27s 1 {job } SuccessfulCreate Created pod: job-wq-1-hcobb
|
||||||
27s 27s 1 {job } SuccessfulCreate Created pod: job-wq-1-weytj
|
27s 27s 1 {job } SuccessfulCreate Created pod: job-wq-1-weytj
|
||||||
27s 27s 1 {job } SuccessfulCreate Created pod: job-wq-1-qaam5
|
27s 27s 1 {job } SuccessfulCreate Created pod: job-wq-1-qaam5
|
||||||
27s 27s 1 {job } SuccessfulCreate Created pod: job-wq-1-b67sr
|
27s 27s 1 {job } SuccessfulCreate Created pod: job-wq-1-b67sr
|
||||||
26s 26s 1 {job } SuccessfulCreate Created pod: job-wq-1-xe5hj
|
26s 26s 1 {job } SuccessfulCreate Created pod: job-wq-1-xe5hj
|
||||||
15s 15s 1 {job } SuccessfulCreate Created pod: job-wq-1-w2zqe
|
15s 15s 1 {job } SuccessfulCreate Created pod: job-wq-1-w2zqe
|
||||||
14s 14s 1 {job } SuccessfulCreate Created pod: job-wq-1-d6ppa
|
14s 14s 1 {job } SuccessfulCreate Created pod: job-wq-1-d6ppa
|
||||||
14s 14s 1 {job } SuccessfulCreate Created pod: job-wq-1-p17e0
|
14s 14s 1 {job } SuccessfulCreate Created pod: job-wq-1-p17e0
|
||||||
```
|
```
|
||||||
|
|
||||||
All our pods succeeded. Yay.
|
All our pods succeeded. Yay.
|
||||||
|
|||||||
@@ -175,21 +175,21 @@ kubectl create -f ./job.yaml
|
|||||||
Now wait a bit, then check on the job.
|
Now wait a bit, then check on the job.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ kubectl describe jobs/job-wq-2
|
$ kubectl describe jobs/job-wq-2
|
||||||
Name: job-wq-2
|
Name: job-wq-2
|
||||||
Namespace: default
|
Namespace: default
|
||||||
Image(s): gcr.io/exampleproject/job-wq-2
|
Image(s): gcr.io/exampleproject/job-wq-2
|
||||||
Selector: app in (job-wq-2)
|
Selector: app in (job-wq-2)
|
||||||
Parallelism: 2
|
Parallelism: 2
|
||||||
Completions: Unset
|
Completions: Unset
|
||||||
Start Time: Mon, 11 Jan 2016 17:07:59 -0800
|
Start Time: Mon, 11 Jan 2016 17:07:59 -0800
|
||||||
Labels: app=job-wq-2
|
Labels: app=job-wq-2
|
||||||
Pods Statuses: 1 Running / 0 Succeeded / 0 Failed
|
Pods Statuses: 1 Running / 0 Succeeded / 0 Failed
|
||||||
No volumes.
|
No volumes.
|
||||||
Events:
|
Events:
|
||||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||||
33s 33s 1 {job-controller } Normal SuccessfulCreate Created pod: job-wq-2-lglf8
|
33s 33s 1 {job-controller } Normal SuccessfulCreate Created pod: job-wq-2-lglf8
|
||||||
|
|
||||||
|
|
||||||
$ kubectl logs pods/job-wq-2-7r7b2
|
$ kubectl logs pods/job-wq-2-7r7b2
|
||||||
|
|||||||
@@ -222,39 +222,39 @@ To wrap up, let's look at what happens if we try to specify a profile that hasn'
|
|||||||
command: [ "sh", "-c", "echo 'Hello AppArmor!' && sleep 1h" ]
|
command: [ "sh", "-c", "echo 'Hello AppArmor!' && sleep 1h" ]
|
||||||
EOF
|
EOF
|
||||||
pod "hello-apparmor-2" created
|
pod "hello-apparmor-2" created
|
||||||
|
|
||||||
$ kubectl describe pod hello-apparmor-2
|
$ kubectl describe pod hello-apparmor-2
|
||||||
Name: hello-apparmor-2
|
Name: hello-apparmor-2
|
||||||
Namespace: default
|
Namespace: default
|
||||||
Node: gke-test-default-pool-239f5d02-x1kf/
|
Node: gke-test-default-pool-239f5d02-x1kf/
|
||||||
Start Time: Tue, 30 Aug 2016 17:58:56 -0700
|
Start Time: Tue, 30 Aug 2016 17:58:56 -0700
|
||||||
Labels: <none>
|
Labels: <none>
|
||||||
Status: Failed
|
Status: Failed
|
||||||
Reason: AppArmor
|
Reason: AppArmor
|
||||||
Message: Pod Cannot enforce AppArmor: profile "k8s-apparmor-example-allow-write" is not loaded
|
Message: Pod Cannot enforce AppArmor: profile "k8s-apparmor-example-allow-write" is not loaded
|
||||||
IP:
|
IP:
|
||||||
Controllers: <none>
|
Controllers: <none>
|
||||||
Containers:
|
Containers:
|
||||||
hello:
|
hello:
|
||||||
Image: busybox
|
Image: busybox
|
||||||
Port:
|
Port:
|
||||||
Command:
|
Command:
|
||||||
sh
|
sh
|
||||||
-c
|
-c
|
||||||
echo 'Hello AppArmor!' && sleep 1h
|
echo 'Hello AppArmor!' && sleep 1h
|
||||||
Requests:
|
Requests:
|
||||||
cpu: 100m
|
cpu: 100m
|
||||||
Environment Variables: <none>
|
Environment Variables: <none>
|
||||||
Volumes:
|
Volumes:
|
||||||
default-token-dnz7v:
|
default-token-dnz7v:
|
||||||
Type: Secret (a volume populated by a Secret)
|
Type: Secret (a volume populated by a Secret)
|
||||||
SecretName: default-token-dnz7v
|
SecretName: default-token-dnz7v
|
||||||
QoS Tier: Burstable
|
QoS Tier: Burstable
|
||||||
Events:
|
Events:
|
||||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||||
23s 23s 1 {default-scheduler } Normal Scheduled Successfully assigned hello-apparmor-2 to e2e-test-stclair-minion-group-t1f5
|
23s 23s 1 {default-scheduler } Normal Scheduled Successfully assigned hello-apparmor-2 to e2e-test-stclair-minion-group-t1f5
|
||||||
23s 23s 1 {kubelet e2e-test-stclair-minion-group-t1f5} Warning AppArmor Cannot enforce AppArmor: profile "k8s-apparmor-example-allow-write" is not loaded
|
23s 23s 1 {kubelet e2e-test-stclair-minion-group-t1f5} Warning AppArmor Cannot enforce AppArmor: profile "k8s-apparmor-example-allow-write" is not loaded
|
||||||
|
|
||||||
Note the pod status is Failed, with a helpful error message: `Pod Cannot enforce AppArmor: profile
|
Note the pod status is Failed, with a helpful error message: `Pod Cannot enforce AppArmor: profile
|
||||||
"k8s-apparmor-example-allow-write" is not loaded`. An event was also recorded with the same message.
|
"k8s-apparmor-example-allow-write" is not loaded`. An event was also recorded with the same message.
|
||||||
|
|||||||
@@ -58,19 +58,19 @@ kubectl describe deployment hello
|
|||||||
The output is similar to this:
|
The output is similar to this:
|
||||||
|
|
||||||
```
|
```
|
||||||
Name: hello
|
Name: hello
|
||||||
Namespace: default
|
Namespace: default
|
||||||
CreationTimestamp: Mon, 24 Oct 2016 14:21:02 -0700
|
CreationTimestamp: Mon, 24 Oct 2016 14:21:02 -0700
|
||||||
Labels: app=hello
|
Labels: app=hello
|
||||||
tier=backend
|
tier=backend
|
||||||
track=stable
|
track=stable
|
||||||
Selector: app=hello,tier=backend,track=stable
|
Selector: app=hello,tier=backend,track=stable
|
||||||
Replicas: 7 updated | 7 total | 7 available | 0 unavailable
|
Replicas: 7 updated | 7 total | 7 available | 0 unavailable
|
||||||
StrategyType: RollingUpdate
|
StrategyType: RollingUpdate
|
||||||
MinReadySeconds: 0
|
MinReadySeconds: 0
|
||||||
RollingUpdateStrategy: 1 max unavailable, 1 max surge
|
RollingUpdateStrategy: 1 max unavailable, 1 max surge
|
||||||
OldReplicaSets: <none>
|
OldReplicaSets: <none>
|
||||||
NewReplicaSet: hello-3621623197 (7/7 replicas created)
|
NewReplicaSet: hello-3621623197 (7/7 replicas created)
|
||||||
Events:
|
Events:
|
||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -13,21 +13,21 @@ title: Interactive Tutorial - Creating a Cluster
|
|||||||
|
|
||||||
<div class="layout" id="top">
|
<div class="layout" id="top">
|
||||||
|
|
||||||
<main class="content katacoda-content">
|
<main class="content katacoda-content">
|
||||||
|
|
||||||
<div class="katacoda">
|
<div class="katacoda">
|
||||||
<div class="katacoda__alert">
|
<div class="katacoda__alert">
|
||||||
To interact with the Terminal, please use the desktop/tablet version
|
To interact with the Terminal, please use the desktop/tablet version
|
||||||
</div>
|
</div>
|
||||||
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/1" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;"></div>
|
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/1" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/deploy-intro/" role="button">Continue to Module 2<span class="btn__next">›</span></a>
|
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/deploy-intro/" role="button">Continue to Module 2<span class="btn__next">›</span></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -15,94 +15,94 @@ title: Using Minikube to Create a Cluster
|
|||||||
|
|
||||||
<div class="layout" id="top">
|
<div class="layout" id="top">
|
||||||
|
|
||||||
<main class="content">
|
<main class="content">
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h3>Objectives</h3>
|
<h3>Objectives</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Learn what a Kubernetes cluster is.</li>
|
<li>Learn what a Kubernetes cluster is.</li>
|
||||||
<li>Learn what Minikube is.</li>
|
<li>Learn what Minikube is.</li>
|
||||||
<li>Start a Kubernetes cluster using an online terminal.</li>
|
<li>Start a Kubernetes cluster using an online terminal.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h3>Kubernetes Clusters</h3>
|
<h3>Kubernetes Clusters</h3>
|
||||||
<p>
|
<p>
|
||||||
<b>Kubernetes coordinates a highly available cluster of computers that are connected to work as a single unit.</b> The abstractions in Kubernetes allow you to deploy containerized applications to a cluster without tying them specifically to individual machines. To make use of this new model of deployment, applications need to be packaged in a way that decouples them from individual hosts: they need to be containerized. Containerized applications are more flexible and available than in past deployment models, where applications were installed directly onto specific machines as packages deeply integrated into the host. <b>Kubernetes automates the distribution and scheduling of application containers across a cluster in a more efficient way.</b> Kubernetes is an <a href="https://github.com/kubernetes/kubernetes">open-source</a> platform and is production-ready.
|
<b>Kubernetes coordinates a highly available cluster of computers that are connected to work as a single unit.</b> The abstractions in Kubernetes allow you to deploy containerized applications to a cluster without tying them specifically to individual machines. To make use of this new model of deployment, applications need to be packaged in a way that decouples them from individual hosts: they need to be containerized. Containerized applications are more flexible and available than in past deployment models, where applications were installed directly onto specific machines as packages deeply integrated into the host. <b>Kubernetes automates the distribution and scheduling of application containers across a cluster in a more efficient way.</b> Kubernetes is an <a href="https://github.com/kubernetes/kubernetes">open-source</a> platform and is production-ready.
|
||||||
</p>
|
</p>
|
||||||
<p>A Kubernetes cluster consists of two types of resources:
|
<p>A Kubernetes cluster consists of two types of resources:
|
||||||
<ul>
|
<ul>
|
||||||
<li>The <b>Master</b> coordinates the cluster</li>
|
<li>The <b>Master</b> coordinates the cluster</li>
|
||||||
<li><b>Nodes</b> are the workers that run applications</li>
|
<li><b>Nodes</b> are the workers that run applications</li>
|
||||||
</ul>
|
</ul>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="content__box content__box_lined">
|
<div class="content__box content__box_lined">
|
||||||
<h3>Summary:</h3>
|
<h3>Summary:</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Kubernetes cluster</li>
|
<li>Kubernetes cluster</li>
|
||||||
<li>Minikube</li>
|
<li>Minikube</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="content__box content__box_fill">
|
<div class="content__box content__box_fill">
|
||||||
<p><i>
|
<p><i>
|
||||||
Kubernetes is a production-grade, open-source platform that orchestrates the placement (scheduling) and execution of application containers within and across computer clusters.
|
Kubernetes is a production-grade, open-source platform that orchestrates the placement (scheduling) and execution of application containers within and across computer clusters.
|
||||||
</i></p>
|
</i></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h2 style="color: #3771e3;">Cluster Diagram</h2>
|
<h2 style="color: #3771e3;">Cluster Diagram</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_01_cluster.svg"></p>
|
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_01_cluster.svg"></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<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>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 <a href="https://www.docker.com/">Docker</a> or <a href="https://coreos.com/rkt/">rkt</a>. A Kubernetes cluster that handles production traffic should have a minimum of three nodes.</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 <a href="https://www.docker.com/">Docker</a> or <a href="https://coreos.com/rkt/">rkt</a>. A Kubernetes cluster that handles production traffic should have a minimum of three nodes.</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="content__box content__box_fill">
|
<div class="content__box content__box_fill">
|
||||||
<p><i> Masters manage the cluster and the nodes are used to host the running applications. </i></p>
|
<p><i> Masters manage the cluster and the nodes are used to host the running applications. </i></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<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>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>
|
<p>Now that you know what Kubernetes is, let's go to the online tutorial and start our first cluster!</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/cluster-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/cluster-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -13,25 +13,25 @@ title: Interactive Tutorial - Deploying an App
|
|||||||
|
|
||||||
<div class="layout" id="top">
|
<div class="layout" id="top">
|
||||||
|
|
||||||
<main class="content katacoda-content">
|
<main class="content katacoda-content">
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
<div class="katacoda">
|
<div class="katacoda">
|
||||||
<div class="katacoda__alert">
|
<div class="katacoda__alert">
|
||||||
To interact with the Terminal, please use the desktop/tablet version
|
To interact with the Terminal, please use the desktop/tablet version
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/7" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
|
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/7" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/explore-intro/" role="button">Continue to Module 3<span class="btn__next">›</span></a>
|
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/explore-intro/" role="button">Continue to Module 3<span class="btn__next">›</span></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -12,95 +12,95 @@ title: Using kubectl to Create a Deployment
|
|||||||
|
|
||||||
<div class="layout" id="top">
|
<div class="layout" id="top">
|
||||||
|
|
||||||
<main class="content">
|
<main class="content">
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h3>Objectives</h3>
|
<h3>Objectives</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Learn about application Deployments.</li>
|
<li>Learn about application Deployments.</li>
|
||||||
<li>Deploy your first app on Kubernetes with kubectl.</li>
|
<li>Deploy your first app on Kubernetes with kubectl.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h3>Kubernetes Deployments</h3>
|
<h3>Kubernetes Deployments</h3>
|
||||||
<p>
|
<p>
|
||||||
Once you have a running Kubernetes cluster, you can deploy your containerized applications on top of it. To do so, you create a Kubernetes <b>Deployment</b>. The Deployment is responsible for creating and updating instances of your application. Once you've created a Deployment, the Kubernetes master schedules the application instances that the Deployment creates onto individual Nodes in the cluster.
|
Once you have a running Kubernetes cluster, you can deploy your containerized applications on top of it. To do so, you create a Kubernetes <b>Deployment</b>. The Deployment is responsible for creating and updating instances of your application. Once you've created a Deployment, the Kubernetes master schedules the application instances that the Deployment creates onto individual Nodes in the cluster.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>Once the application instances are created, a Kubernetes Deployment Controller continuously monitors those instances. The Deployment controller replaces an instance if the Node hosting it goes down or it is deleted. <b>This provides a self-healing mechanism to address machine failure or maintenance.</b></p>
|
<p>Once the application instances are created, a Kubernetes Deployment Controller continuously monitors those instances. The Deployment controller replaces an instance if the Node hosting it goes down or it is deleted. <b>This provides a self-healing mechanism to address machine failure or maintenance.</b></p>
|
||||||
|
|
||||||
<p>In a pre-orchestration world, installation scripts would often be used to start applications, but they did not allow recovery from machine failure. By both creating your application instances and keeping them running across Nodes, Kubernetes Deployments provide a fundamentally different approach to application management. </p>
|
<p>In a pre-orchestration world, installation scripts would often be used to start applications, but they did not allow recovery from machine failure. By both creating your application instances and keeping them running across Nodes, Kubernetes Deployments provide a fundamentally different approach to application management. </p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="content__box content__box_lined">
|
<div class="content__box content__box_lined">
|
||||||
<h3>Summary:</h3>
|
<h3>Summary:</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Deployments</li>
|
<li>Deployments</li>
|
||||||
<li>Kubectl</li>
|
<li>Kubectl</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="content__box content__box_fill">
|
<div class="content__box content__box_fill">
|
||||||
<p><i>
|
<p><i>
|
||||||
A Deployment is responsible for creating and updating instances of your application
|
A Deployment is responsible for creating and updating instances of your application
|
||||||
</i></p>
|
</i></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h2 style="color: #3771e3;">Deploying your first app on Kubernetes</h2>
|
<h2 style="color: #3771e3;">Deploying your first app on Kubernetes</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_02_first_app.svg"></p>
|
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_02_first_app.svg"></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
|
|
||||||
<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>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="/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>
|
<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>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="content__box content__box_fill">
|
<div class="content__box content__box_fill">
|
||||||
<p><i> Applications need to be packaged into one of the supported container formats in order to be deployed on Kubernetes </i></p>
|
<p><i> Applications need to be packaged into one of the supported container formats in order to be deployed on Kubernetes </i></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<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>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>
|
<p>Now that you know what Deployments are, let's go to the online tutorial and deploy our first app!</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/deploy-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/deploy-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -13,25 +13,25 @@ title: Interactive Tutorial - Exploring Your App
|
|||||||
|
|
||||||
<div class="layout" id="top">
|
<div class="layout" id="top">
|
||||||
|
|
||||||
<main class="content katacoda-content">
|
<main class="content katacoda-content">
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
<div class="katacoda">
|
<div class="katacoda">
|
||||||
|
|
||||||
<div class="katacoda__alert">
|
<div class="katacoda__alert">
|
||||||
To interact with the Terminal, please use the desktop/tablet version
|
To interact with the Terminal, please use the desktop/tablet version
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/4" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
|
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/4" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/expose-intro/" role="button">Continue to Module 4<span class="btn__next">›</span></a>
|
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/expose-intro/" role="button">Continue to Module 4<span class="btn__next">›</span></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -13,128 +13,128 @@ title: Viewing Pods and Nodes
|
|||||||
|
|
||||||
<div class="layout" id="top">
|
<div class="layout" id="top">
|
||||||
|
|
||||||
<main class="content">
|
<main class="content">
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h3>Objectives</h3>
|
<h3>Objectives</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Learn about Kubernetes Pods.</li>
|
<li>Learn about Kubernetes Pods.</li>
|
||||||
<li>Learn about Kubernetes Nodes.</li>
|
<li>Learn about Kubernetes Nodes.</li>
|
||||||
<li>Troubleshoot deployed applications.</li>
|
<li>Troubleshoot deployed applications.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h2>Kubernetes Pods</h2>
|
<h2>Kubernetes Pods</h2>
|
||||||
<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 a 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 a 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>
|
<ul>
|
||||||
<li>Shared storage, as Volumes</li>
|
<li>Shared storage, as Volumes</li>
|
||||||
<li>Networking, as a unique cluster IP address</li>
|
<li>Networking, as a unique cluster IP address</li>
|
||||||
<li>Information about how to run each container, such as the container image version or specific ports to use</li>
|
<li>Information about how to run each container, such as the container image version or specific ports to use</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>A Pod models an application-specific "logical host" and can contain different application containers which are relatively tightly coupled. For example, a Pod might include both the container with your Node.js app as well as a different container that feeds the data to be published by the Node.js webserver. The containers in a Pod share an IP Address and port space, are always co-located and co-scheduled, and run in a shared context on the same Node.</p>
|
<p>A Pod models an application-specific "logical host" and can contain different application containers which are relatively tightly coupled. For example, a Pod might include both the container with your Node.js app as well as a different container that feeds the data to be published by the Node.js webserver. The containers in a Pod share an IP Address and port space, are always co-located and co-scheduled, and run in a shared context on the same Node.</p>
|
||||||
|
|
||||||
<p>Pods are the atomic unit on the Kubernetes platform. When we create a Deployment on Kubernetes, that Deployment creates Pods with containers inside them (as opposed to creating containers directly). Each Pod is tied to the Node where it is scheduled, and remains there until termination (according to restart policy) or deletion. In case of a Node failure, identical Pods are scheduled on other available Nodes in the cluster.</p>
|
<p>Pods are the atomic unit on the Kubernetes platform. When we create a Deployment on Kubernetes, that Deployment creates Pods with containers inside them (as opposed to creating containers directly). Each Pod is tied to the Node where it is scheduled, and remains there until termination (according to restart policy) or deletion. In case of a Node failure, identical Pods are scheduled on other available Nodes in the cluster.</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="content__box content__box_lined">
|
<div class="content__box content__box_lined">
|
||||||
<h3>Summary:</h3>
|
<h3>Summary:</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Pods</li>
|
<li>Pods</li>
|
||||||
<li>Nodes</li>
|
<li>Nodes</li>
|
||||||
<li>Kubectl main commands</li>
|
<li>Kubectl main commands</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="content__box content__box_fill">
|
<div class="content__box content__box_fill">
|
||||||
<p><i>
|
<p><i>
|
||||||
A Pod is a group of one or more application containers (such as Docker or rkt) and includes shared storage (volumes), IP address and information about how to run them.
|
A Pod is a group of one or more application containers (such as Docker or rkt) and includes shared storage (volumes), IP address and information about how to run them.
|
||||||
</i></p>
|
</i></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h2 style="color: #3771e3;">Pods overview</h2>
|
<h2 style="color: #3771e3;">Pods overview</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_03_pods.svg"></p>
|
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_03_pods.svg"></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h2>Nodes</h2>
|
<h2>Nodes</h2>
|
||||||
<p>A Pod always runs on a <b>Node</b>. A Node is a worker machine in Kubernetes and may be either a virtual or a physical machine, depending on the cluster. Each Node is managed by the Master. A Node can have multiple pods, and the Kubernetes master automatically handles scheduling the pods across the Nodes in the cluster. The Master's automatic scheduling takes into account the available resources on each Node.</p>
|
<p>A Pod always runs on a <b>Node</b>. A Node is a worker machine in Kubernetes and may be either a virtual or a physical machine, depending on the cluster. Each Node is managed by the Master. A Node can have multiple pods, and the Kubernetes master automatically handles scheduling the pods across the Nodes in the cluster. The Master's automatic scheduling takes into account the available resources on each Node.</p>
|
||||||
|
|
||||||
<p>Every Kubernetes Node runs at least:</p>
|
<p>Every Kubernetes Node runs at least:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Kubelet, a process responsible for communication between the Kubernetes Master and the Nodes; it manages the Pods and the containers running on a machine.</li>
|
<li>Kubelet, a process responsible for communication between the Kubernetes Master and the Nodes; it manages the Pods and the containers running on a machine.</li>
|
||||||
<li>A container runtime (like Docker, rkt) responsible for pulling the container image from a registry, unpacking the container, and running the application.</li>
|
<li>A container runtime (like Docker, rkt) responsible for pulling the container image from a registry, unpacking the container, and running the application.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="content__box content__box_fill">
|
<div class="content__box content__box_fill">
|
||||||
<p><i> Containers should only be scheduled together in a single Pod if they are tightly coupled and need to share resources such as disk. </i></p>
|
<p><i> Containers should only be scheduled together in a single Pod if they are tightly coupled and need to share resources such as disk. </i></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h2 style="color: #3771e3;">Node overview</h2>
|
<h2 style="color: #3771e3;">Node overview</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_03_nodes.svg"></p>
|
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_03_nodes.svg"></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h2>Troubleshooting with kubectl</h2>
|
<h2>Troubleshooting with kubectl</h2>
|
||||||
<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>
|
<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>
|
<ul>
|
||||||
<li><b>kubectl get</b> - list resources</li>
|
<li><b>kubectl get</b> - list resources</li>
|
||||||
<li><b>kubectl describe</b> - show detailed information about a resource</li>
|
<li><b>kubectl describe</b> - show detailed information about a resource</li>
|
||||||
<li><b>kubectl logs</b> - print the logs from a container in a pod</li>
|
<li><b>kubectl logs</b> - print the logs from a container in a pod</li>
|
||||||
<li><b>kubectl exec</b> - execute a command on a container in a pod</li>
|
<li><b>kubectl exec</b> - execute a command on a container in a pod</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<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>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>
|
<p>Now that we know more about our cluster components and the command line, let's explore our application.</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="content__box content__box_fill">
|
<div class="content__box content__box_fill">
|
||||||
<p><i> A node is a worker machine in Kubernetes and may be a VM or physical machine, depending on the cluster. Multiple Pods can run on one Node. </i></p>
|
<p><i> A node is a worker machine in Kubernetes and may be a VM or physical machine, depending on the cluster. Multiple Pods can run on one Node. </i></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/explore-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/explore-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -13,22 +13,22 @@ title: Interactive Tutorial - Exposing Your App
|
|||||||
|
|
||||||
<div class="layout" id="top">
|
<div class="layout" id="top">
|
||||||
|
|
||||||
<main class="content katacoda-content">
|
<main class="content katacoda-content">
|
||||||
|
|
||||||
<div class="katacoda">
|
<div class="katacoda">
|
||||||
<div class="katacoda__alert">
|
<div class="katacoda__alert">
|
||||||
To interact with the Terminal, please use the desktop/tablet version
|
To interact with the Terminal, please use the desktop/tablet version
|
||||||
</div>
|
</div>
|
||||||
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/8" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
|
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/8" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/scale-intro/" role="button">Continue to Module 5<span class="btn__next">›</span></a>
|
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/scale-intro/" role="button">Continue to Module 5<span class="btn__next">›</span></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -12,125 +12,125 @@ title: Using a Service to Expose Your App
|
|||||||
|
|
||||||
<div class="layout" id="top">
|
<div class="layout" id="top">
|
||||||
|
|
||||||
<main class="content">
|
<main class="content">
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h3>Objectives</h3>
|
<h3>Objectives</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Learn about Kubernetes Services.</li>
|
<li>Learn about Kubernetes Services.</li>
|
||||||
<li>Learn about Kubernetes Labels.</li>
|
<li>Learn about Kubernetes Labels.</li>
|
||||||
<li>Expose an application outside Kubernetes.</li>
|
<li>Expose an application outside Kubernetes.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h3>Kubernetes Services</h3>
|
<h3>Kubernetes Services</h3>
|
||||||
|
|
||||||
<p>While Pods do have their own unique IP across the cluster, those IPs are not exposed outside Kubernetes. Taking into account that over time Pods may be terminated, deleted or replaced by other Pods, we need a way to let other Pods and applications automatically discover each other. Kubernetes addresses this by grouping Pods in Services. A Kubernetes <b>Service</b> is an abstraction layer which defines a logical set of Pods and enables external traffic exposure, load balancing and service discovery for those Pods.</p>
|
<p>While Pods do have their own unique IP across the cluster, those IPs are not exposed outside Kubernetes. Taking into account that over time Pods may be terminated, deleted or replaced by other Pods, we need a way to let other Pods and applications automatically discover each other. Kubernetes addresses this by grouping Pods in Services. A Kubernetes <b>Service</b> is an abstraction layer which defines a logical set of Pods and enables external traffic exposure, load balancing and service discovery for those Pods.</p>
|
||||||
|
|
||||||
<p>This abstraction will allow us to expose Pods to traffic originating from outside the cluster. Services have their own unique cluster-private IP address and expose a port to receive traffic. If you choose to expose the service outside the cluster, the options are:</p>
|
<p>This abstraction will allow us to expose Pods to traffic originating from outside the cluster. Services have their own unique cluster-private IP address and expose a port to receive traffic. If you choose to expose the service outside the cluster, the options are:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>LoadBalancer - provides a public IP address (what you would typically use when you run Kubernetes on GCP or AWS)</li>
|
<li>LoadBalancer - provides a public IP address (what you would typically use when you run Kubernetes on GCP or AWS)</li>
|
||||||
<li>NodePort - exposes the Service on the same port on each Node of the cluster using NAT (available on all Kubernetes clusters, and in Minikube)</li>
|
<li>NodePort - exposes the Service on the same port on each Node of the cluster using NAT (available on all Kubernetes clusters, and in Minikube)</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="content__box content__box_lined">
|
<div class="content__box content__box_lined">
|
||||||
<h3>Summary:</h3>
|
<h3>Summary:</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Exposing Pods to external traffic</li>
|
<li>Exposing Pods to external traffic</li>
|
||||||
<li>Load balancing traffic across multiple Pods</li>
|
<li>Load balancing traffic across multiple Pods</li>
|
||||||
<li>Using labels</li>
|
<li>Using labels</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="content__box content__box_fill">
|
<div class="content__box content__box_fill">
|
||||||
<p><i>
|
<p><i>
|
||||||
A Kubernetes Service is an abstraction layer which defines a logical set of Pods and enables external traffic exposure, load balancing and service discovery for those Pods.
|
A Kubernetes Service is an abstraction layer which defines a logical set of Pods and enables external traffic exposure, load balancing and service discovery for those Pods.
|
||||||
</i></p>
|
</i></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h2 style="color: #3771e3;">Services overview</h2>
|
<h2 style="color: #3771e3;">Services overview</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_04_services.svg"></p>
|
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_04_services.svg"></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
|
|
||||||
<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>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 <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 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>
|
<p>Services match a set of Pods using Label Selectors, a grouping primitive that allows logical operation on Labels.</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="content__box content__box_fill">
|
<div class="content__box content__box_fill">
|
||||||
<p><i> You can create a Service when you start a Deployment by adding --expose as a parameter for the kubectl run command </i></p>
|
<p><i> You can create a Service when you start a Deployment by adding --expose as a parameter for the kubectl run command </i></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<p><b>Labels</b> are key/value pairs that are attached to objects, such as Pods and you can think of them as hashtags from social media. They are used to organize related objects in a way meaningful to the users like:</p>
|
<p><b>Labels</b> are key/value pairs that are attached to objects, such as Pods and you can think of them as hashtags from social media. They are used to organize related objects in a way meaningful to the users like:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Production environment (production, test, dev)</li>
|
<li>Production environment (production, test, dev)</li>
|
||||||
<li>Application version (beta, v1.3)</li>
|
<li>Application version (beta, v1.3)</li>
|
||||||
<li>Type of service/server (frontend, backend, database)</li>
|
<li>Type of service/server (frontend, backend, database)</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="content__box content__box_fill">
|
<div class="content__box content__box_fill">
|
||||||
<p><i> Labels are key/value pairs that are attached to objects </i></p>
|
<p><i> Labels are key/value pairs that are attached to objects </i></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h2 style="color: #3771e3;">Labels</h2>
|
<h2 style="color: #3771e3;">Labels</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_04_labels.svg"></p>
|
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_04_labels.svg"></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
|
|
||||||
<p>Labels can be attached to objects at the creation time or later and can be modified at any time.
|
<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>
|
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>Now let's expose 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>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/expose-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/expose-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -13,22 +13,22 @@ title: Interactive Tutorial - Scaling Your App
|
|||||||
|
|
||||||
<div class="layout" id="top">
|
<div class="layout" id="top">
|
||||||
|
|
||||||
<main class="content katacoda-content">
|
<main class="content katacoda-content">
|
||||||
|
|
||||||
<div class="katacoda">
|
<div class="katacoda">
|
||||||
<div class="katacoda__alert">
|
<div class="katacoda__alert">
|
||||||
To interact with the Terminal, please use the desktop/tablet version
|
To interact with the Terminal, please use the desktop/tablet version
|
||||||
</div>
|
</div>
|
||||||
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/5" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
|
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/5" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/update-intro/" role="button">Continue to Module 6<span class="btn__next">›</span></a>
|
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/update-intro/" role="button">Continue to Module 6<span class="btn__next">›</span></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<a class="scrolltop" href="#top"></a>
|
<a class="scrolltop" href="#top"></a>
|
||||||
|
|
||||||
|
|||||||
@@ -12,107 +12,107 @@ title: Running Multiple Instances of Your App
|
|||||||
|
|
||||||
<div class="layout" id="top">
|
<div class="layout" id="top">
|
||||||
|
|
||||||
<main class="content">
|
<main class="content">
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h3>Objectives</h3>
|
<h3>Objectives</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Scale an app using kubectl.</li>
|
<li>Scale an app using kubectl.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h3>Scaling an application</h3>
|
<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>
|
<p><b>Scaling</b> is accomplished by changing the number of replicas in a Deployment</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="content__box content__box_lined">
|
<div class="content__box content__box_lined">
|
||||||
<h3>Summary:</h3>
|
<h3>Summary:</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Scaling a Deployment</li>
|
<li>Scaling a Deployment</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="content__box content__box_fill">
|
<div class="content__box content__box_fill">
|
||||||
<p><i> You can create from the start a Deployment with multiple instances using the --replicas parameter for the kubectl run command </i></p>
|
<p><i> You can create from the start a Deployment with multiple instances using the --replicas parameter for the kubectl run command </i></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h2 style="color: #3771e3;">Scaling overview</h2>
|
<h2 style="color: #3771e3;">Scaling overview</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-1"></div>
|
<div class="col-md-1"></div>
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<div id="myCarousel" class="carousel" data-ride="carousel" data-interval="3000">
|
<div id="myCarousel" class="carousel" data-ride="carousel" data-interval="3000">
|
||||||
<ol class="carousel-indicators">
|
<ol class="carousel-indicators">
|
||||||
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
|
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
|
||||||
<li data-target="#myCarousel" data-slide-to="1"></li>
|
<li data-target="#myCarousel" data-slide-to="1"></li>
|
||||||
</ol>
|
</ol>
|
||||||
<div class="carousel-inner" role="listbox">
|
<div class="carousel-inner" role="listbox">
|
||||||
<div class="item active">
|
<div class="item active">
|
||||||
<img src="/docs/tutorials/kubernetes-basics/public/images/module_05_scaling1.svg">
|
<img src="/docs/tutorials/kubernetes-basics/public/images/module_05_scaling1.svg">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<img src="/docs/tutorials/kubernetes-basics/public/images/module_05_scaling2.svg">
|
<img src="/docs/tutorials/kubernetes-basics/public/images/module_05_scaling2.svg">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
|
<a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
|
||||||
<span class="sr-only ">Previous</span>
|
<span class="sr-only ">Previous</span>
|
||||||
</a>
|
</a>
|
||||||
<a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
|
<a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
|
||||||
<span class="sr-only">Next</span>
|
<span class="sr-only">Next</span>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
|
|
||||||
<p>Scaling up a Deployment will ensure new Pods are created and scheduled to Nodes with available resources. Scaling down will reduce the number of Pods to the new desired state. Kubernetes also supports <a href="http://kubernetes.io/docs/user-guide/horizontal-pod-autoscaling/"> autoscaling </a> of Pods, but it is outside of the scope of this tutorial. Scaling to zero is also possible, and it will terminate all Pods of the specified Deployment.</p>
|
<p>Scaling up a Deployment will ensure new Pods are created and scheduled to Nodes with available resources. Scaling down will reduce the number of Pods to the new desired state. Kubernetes also supports <a href="http://kubernetes.io/docs/user-guide/horizontal-pod-autoscaling/"> autoscaling </a> of Pods, but it is outside of the scope of this tutorial. Scaling to zero is also possible, and it will terminate all Pods of the specified Deployment.</p>
|
||||||
|
|
||||||
<p>Running multiple instances of an application will require a way to distribute the traffic to all of them. Services have an integrated load-balancer that will distribute network traffic to all Pods of an exposed Deployment. Services will monitor continuously the running Pods using endpoints, to ensure the traffic is sent only to available Pods.</p>
|
<p>Running multiple instances of an application will require a way to distribute the traffic to all of them. Services have an integrated load-balancer that will distribute network traffic to all Pods of an exposed Deployment. Services will monitor continuously the running Pods using endpoints, to ensure the traffic is sent only to available Pods.</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="content__box content__box_fill">
|
<div class="content__box content__box_fill">
|
||||||
<p><i>Scaling is accomplished by changing the number of replicas in a Deployment.</i></p>
|
<p><i>Scaling is accomplished by changing the number of replicas in a Deployment.</i></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<p> Once you have multiple instances of an Application running, you would be able to do Rolling updates without downtime. We'll cover that in the next module. Now, let's go to the online terminal and scale our application.</p>
|
<p> Once you have multiple instances of an Application running, you would be able to do Rolling updates without downtime. We'll cover that in the next module. Now, let's go to the online terminal and scale our application.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/scale-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/scale-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -13,17 +13,17 @@ title: Interactive Tutorial - Updating Your App
|
|||||||
|
|
||||||
<div class="layout" id="top">
|
<div class="layout" id="top">
|
||||||
|
|
||||||
<main class="content katacoda-content">
|
<main class="content katacoda-content">
|
||||||
|
|
||||||
<div class="katacoda">
|
<div class="katacoda">
|
||||||
<div class="katacoda__alert">
|
<div class="katacoda__alert">
|
||||||
To interact with the Terminal, please use the desktop/tablet version
|
To interact with the Terminal, please use the desktop/tablet version
|
||||||
</div>
|
</div>
|
||||||
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/6" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
|
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/6" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -12,122 +12,122 @@ title: Performing a Rolling Update
|
|||||||
|
|
||||||
<div class="layout" id="top">
|
<div class="layout" id="top">
|
||||||
|
|
||||||
<main class="content">
|
<main class="content">
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h3>Objectives</h3>
|
<h3>Objectives</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Perform a rolling update using kubectl.</li>
|
<li>Perform a rolling update using kubectl.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h3>Updating an application</h3>
|
<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> 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>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).
|
<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 previous (stable) version.</p>
|
In Kubernetes, updates are versioned and any Deployment update can be reverted to previous (stable) version.</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="content__box content__box_lined">
|
<div class="content__box content__box_lined">
|
||||||
<h3>Summary:</h3>
|
<h3>Summary:</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Updating an app</li>
|
<li>Updating an app</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="content__box content__box_fill">
|
<div class="content__box content__box_fill">
|
||||||
<p><i>Rolling updates allow Deployments' update to take place 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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h2 style="color: #3771e3;">Rolling updates overview</h2>
|
<h2 style="color: #3771e3;">Rolling updates overview</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-1"></div>
|
<div class="col-md-1"></div>
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<div id="myCarousel" class="carousel" data-ride="carousel" data-interval="3000">
|
<div id="myCarousel" class="carousel" data-ride="carousel" data-interval="3000">
|
||||||
<ol class="carousel-indicators">
|
<ol class="carousel-indicators">
|
||||||
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
|
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
|
||||||
<li data-target="#myCarousel" data-slide-to="1"></li>
|
<li data-target="#myCarousel" data-slide-to="1"></li>
|
||||||
<li data-target="#myCarousel" data-slide-to="2"></li>
|
<li data-target="#myCarousel" data-slide-to="2"></li>
|
||||||
<li data-target="#myCarousel" data-slide-to="3"></li>
|
<li data-target="#myCarousel" data-slide-to="3"></li>
|
||||||
</ol>
|
</ol>
|
||||||
<div class="carousel-inner" role="listbox">
|
<div class="carousel-inner" role="listbox">
|
||||||
<div class="item active">
|
<div class="item active">
|
||||||
<img src="/docs/tutorials/kubernetes-basics/public/images/module_06_rollingupdates1.svg" >
|
<img src="/docs/tutorials/kubernetes-basics/public/images/module_06_rollingupdates1.svg" >
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<img src="/docs/tutorials/kubernetes-basics/public/images/module_06_rollingupdates2.svg">
|
<img src="/docs/tutorials/kubernetes-basics/public/images/module_06_rollingupdates2.svg">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<img src="/docs/tutorials/kubernetes-basics/public/images/module_06_rollingupdates3.svg">
|
<img src="/docs/tutorials/kubernetes-basics/public/images/module_06_rollingupdates3.svg">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<img src="/docs/tutorials/kubernetes-basics/public/images/module_06_rollingupdates4.svg">
|
<img src="/docs/tutorials/kubernetes-basics/public/images/module_06_rollingupdates4.svg">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
|
<a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
|
||||||
<span class="sr-only ">Previous</span>
|
<span class="sr-only ">Previous</span>
|
||||||
</a>
|
</a>
|
||||||
<a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
|
<a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
|
||||||
<span class="sr-only">Next</span>
|
<span class="sr-only">Next</span>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
|
|
||||||
<p>Similar to application Scaling, If a Deployment is exposed publicly, the Service will load-balance the traffic only to available Pods during the update. An available Pod is an instance that is available to the users of the application.</p>
|
<p>Similar to application Scaling, If a Deployment is exposed publicly, the Service will load-balance the traffic only to available Pods during the update. An available Pod is an instance that is available to the users of the application.</p>
|
||||||
|
|
||||||
<p>Rolling updates allow the following actions:</p>
|
<p>Rolling updates allow the following actions:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Promote an application from one environment to another (via container image updates)</li>
|
<li>Promote an application from one environment to another (via container image updates)</li>
|
||||||
<li>Rollback to previous versions</li>
|
<li>Rollback to previous versions</li>
|
||||||
<li>Continuous Integration and Continuous Delivery of applications with zero downtime</li>
|
<li>Continuous Integration and Continuous Delivery of applications with zero downtime</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="content__box content__box_fill">
|
<div class="content__box content__box_fill">
|
||||||
<p><i>If a Deployment is exposed publicly, the Service will load-balance the traffic only to available Pods during the update. </i></p>
|
<p><i>If a Deployment is exposed publicly, the Service will load-balance the traffic only to available Pods during the update. </i></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<p> In the following interactive tutorial we'll update our application to a new version, and also perform a rollback.</p>
|
<p> In the following interactive tutorial we'll update our application to a new version, and also perform a rollback.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/update-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/update-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -106,6 +106,7 @@ client_address=10.244.3.8
|
|||||||
command=GET
|
command=GET
|
||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
If the client pod and server pod are in the same node, the client_address is the client pod's IP address. However, if the client pod and server pod are in different nodes, the client_address is the client pod's node flannel IP address.
|
||||||
|
|
||||||
## Source IP for Services with Type=NodePort
|
## Source IP for Services with Type=NodePort
|
||||||
|
|
||||||
|
|||||||
@@ -91,20 +91,20 @@ for a secure solution.
|
|||||||
|
|
||||||
kubectl describe deployment mysql
|
kubectl describe deployment mysql
|
||||||
|
|
||||||
Name: mysql
|
Name: mysql
|
||||||
Namespace: default
|
Namespace: default
|
||||||
CreationTimestamp: Tue, 01 Nov 2016 11:18:45 -0700
|
CreationTimestamp: Tue, 01 Nov 2016 11:18:45 -0700
|
||||||
Labels: app=mysql
|
Labels: app=mysql
|
||||||
Selector: app=mysql
|
Selector: app=mysql
|
||||||
Replicas: 1 updated | 1 total | 0 available | 1 unavailable
|
Replicas: 1 updated | 1 total | 0 available | 1 unavailable
|
||||||
StrategyType: Recreate
|
StrategyType: Recreate
|
||||||
MinReadySeconds: 0
|
MinReadySeconds: 0
|
||||||
OldReplicaSets: <none>
|
OldReplicaSets: <none>
|
||||||
NewReplicaSet: mysql-63082529 (1/1 replicas created)
|
NewReplicaSet: mysql-63082529 (1/1 replicas created)
|
||||||
Events:
|
Events:
|
||||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||||
33s 33s 1 {deployment-controller } Normal ScalingReplicaSet Scaled up replica set mysql-63082529 to 1
|
33s 33s 1 {deployment-controller } Normal ScalingReplicaSet Scaled up replica set mysql-63082529 to 1
|
||||||
|
|
||||||
1. List the pods created by the Deployment:
|
1. List the pods created by the Deployment:
|
||||||
|
|
||||||
@@ -117,33 +117,33 @@ for a secure solution.
|
|||||||
|
|
||||||
kubectl describe pv mysql-pv
|
kubectl describe pv mysql-pv
|
||||||
|
|
||||||
Name: mysql-pv
|
Name: mysql-pv
|
||||||
Labels: <none>
|
Labels: <none>
|
||||||
Status: Bound
|
Status: Bound
|
||||||
Claim: default/mysql-pv-claim
|
Claim: default/mysql-pv-claim
|
||||||
Reclaim Policy: Retain
|
Reclaim Policy: Retain
|
||||||
Access Modes: RWO
|
Access Modes: RWO
|
||||||
Capacity: 20Gi
|
Capacity: 20Gi
|
||||||
Message:
|
Message:
|
||||||
Source:
|
Source:
|
||||||
Type: GCEPersistentDisk (a Persistent Disk resource in Google Compute Engine)
|
Type: GCEPersistentDisk (a Persistent Disk resource in Google Compute Engine)
|
||||||
PDName: mysql-disk
|
PDName: mysql-disk
|
||||||
FSType: ext4
|
FSType: ext4
|
||||||
Partition: 0
|
Partition: 0
|
||||||
ReadOnly: false
|
ReadOnly: false
|
||||||
No events.
|
No events.
|
||||||
|
|
||||||
1. Inspect the PersistentVolumeClaim:
|
1. Inspect the PersistentVolumeClaim:
|
||||||
|
|
||||||
kubectl describe pvc mysql-pv-claim
|
kubectl describe pvc mysql-pv-claim
|
||||||
|
|
||||||
Name: mysql-pv-claim
|
Name: mysql-pv-claim
|
||||||
Namespace: default
|
Namespace: default
|
||||||
Status: Bound
|
Status: Bound
|
||||||
Volume: mysql-pv
|
Volume: mysql-pv
|
||||||
Labels: <none>
|
Labels: <none>
|
||||||
Capacity: 20Gi
|
Capacity: 20Gi
|
||||||
Access Modes: RWO
|
Access Modes: RWO
|
||||||
No events.
|
No events.
|
||||||
|
|
||||||
## Accessing the MySQL instance
|
## Accessing the MySQL instance
|
||||||
|
|||||||
@@ -877,9 +877,9 @@ word to test the server's health.
|
|||||||
ZK_CLIENT_PORT=${ZK_CLIENT_PORT:-2181}
|
ZK_CLIENT_PORT=${ZK_CLIENT_PORT:-2181}
|
||||||
OK=$(echo ruok | nc 127.0.0.1 $ZK_CLIENT_PORT)
|
OK=$(echo ruok | nc 127.0.0.1 $ZK_CLIENT_PORT)
|
||||||
if [ "$OK" == "imok" ]; then
|
if [ "$OK" == "imok" ]; then
|
||||||
exit 0
|
exit 0
|
||||||
else
|
else
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -57,49 +57,49 @@ We can retrieve a lot more information about each of these pods using `kubectl d
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ kubectl describe pod nginx-deployment-1006230814-6winp
|
$ kubectl describe pod nginx-deployment-1006230814-6winp
|
||||||
Name: nginx-deployment-1006230814-6winp
|
Name: nginx-deployment-1006230814-6winp
|
||||||
Namespace: default
|
Namespace: default
|
||||||
Node: kubernetes-node-wul5/10.240.0.9
|
Node: kubernetes-node-wul5/10.240.0.9
|
||||||
Start Time: Thu, 24 Mar 2016 01:39:49 +0000
|
Start Time: Thu, 24 Mar 2016 01:39:49 +0000
|
||||||
Labels: app=nginx,pod-template-hash=1006230814
|
Labels: app=nginx,pod-template-hash=1006230814
|
||||||
Status: Running
|
Status: Running
|
||||||
IP: 10.244.0.6
|
IP: 10.244.0.6
|
||||||
Controllers: ReplicaSet/nginx-deployment-1006230814
|
Controllers: ReplicaSet/nginx-deployment-1006230814
|
||||||
Containers:
|
Containers:
|
||||||
nginx:
|
nginx:
|
||||||
Container ID: docker://90315cc9f513c724e9957a4788d3e625a078de84750f244a40f97ae355eb1149
|
Container ID: docker://90315cc9f513c724e9957a4788d3e625a078de84750f244a40f97ae355eb1149
|
||||||
Image: nginx
|
Image: nginx
|
||||||
Image ID: docker://6f62f48c4e55d700cf3eb1b5e33fa051802986b77b874cc351cce539e5163707
|
Image ID: docker://6f62f48c4e55d700cf3eb1b5e33fa051802986b77b874cc351cce539e5163707
|
||||||
Port: 80/TCP
|
Port: 80/TCP
|
||||||
QoS Tier:
|
QoS Tier:
|
||||||
cpu: Guaranteed
|
cpu: Guaranteed
|
||||||
memory: Guaranteed
|
memory: Guaranteed
|
||||||
Limits:
|
Limits:
|
||||||
cpu: 500m
|
cpu: 500m
|
||||||
memory: 128Mi
|
memory: 128Mi
|
||||||
Requests:
|
Requests:
|
||||||
memory: 128Mi
|
memory: 128Mi
|
||||||
cpu: 500m
|
cpu: 500m
|
||||||
State: Running
|
State: Running
|
||||||
Started: Thu, 24 Mar 2016 01:39:51 +0000
|
Started: Thu, 24 Mar 2016 01:39:51 +0000
|
||||||
Ready: True
|
Ready: True
|
||||||
Restart Count: 0
|
Restart Count: 0
|
||||||
Environment Variables:
|
Environment Variables:
|
||||||
Conditions:
|
Conditions:
|
||||||
Type Status
|
Type Status
|
||||||
Ready True
|
Ready True
|
||||||
Volumes:
|
Volumes:
|
||||||
default-token-4bcbi:
|
default-token-4bcbi:
|
||||||
Type: Secret (a volume populated by a Secret)
|
Type: Secret (a volume populated by a Secret)
|
||||||
SecretName: default-token-4bcbi
|
SecretName: default-token-4bcbi
|
||||||
Events:
|
Events:
|
||||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||||
54s 54s 1 {default-scheduler } Normal Scheduled Successfully assigned nginx-deployment-1006230814-6winp to kubernetes-node-wul5
|
54s 54s 1 {default-scheduler } Normal Scheduled Successfully assigned nginx-deployment-1006230814-6winp to kubernetes-node-wul5
|
||||||
54s 54s 1 {kubelet kubernetes-node-wul5} spec.containers{nginx} Normal Pulling pulling image "nginx"
|
54s 54s 1 {kubelet kubernetes-node-wul5} spec.containers{nginx} Normal Pulling pulling image "nginx"
|
||||||
53s 53s 1 {kubelet kubernetes-node-wul5} spec.containers{nginx} Normal Pulled Successfully pulled image "nginx"
|
53s 53s 1 {kubelet kubernetes-node-wul5} spec.containers{nginx} Normal Pulled Successfully pulled image "nginx"
|
||||||
53s 53s 1 {kubelet kubernetes-node-wul5} spec.containers{nginx} Normal Created Created container with docker id 90315cc9f513
|
53s 53s 1 {kubelet kubernetes-node-wul5} spec.containers{nginx} Normal Created Created container with docker id 90315cc9f513
|
||||||
53s 53s 1 {kubelet kubernetes-node-wul5} spec.containers{nginx} Normal Started Started container with docker id 90315cc9f513
|
53s 53s 1 {kubelet kubernetes-node-wul5} spec.containers{nginx} Normal Started Started container with docker id 90315cc9f513
|
||||||
```
|
```
|
||||||
|
|
||||||
Here you can see configuration information about the container(s) and Pod (labels, resource requirements, etc.), as well as status information about the container(s) and Pod (state, readiness, restart count, events, etc.)
|
Here you can see configuration information about the container(s) and Pod (labels, resource requirements, etc.), as well as status information about the container(s) and Pod (state, readiness, restart count, events, etc.)
|
||||||
@@ -132,35 +132,35 @@ To find out why the nginx-deployment-1370807587-fz9sd pod is not running, we can
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ kubectl describe pod nginx-deployment-1370807587-fz9sd
|
$ kubectl describe pod nginx-deployment-1370807587-fz9sd
|
||||||
Name: nginx-deployment-1370807587-fz9sd
|
Name: nginx-deployment-1370807587-fz9sd
|
||||||
Namespace: default
|
Namespace: default
|
||||||
Node: /
|
Node: /
|
||||||
Labels: app=nginx,pod-template-hash=1370807587
|
Labels: app=nginx,pod-template-hash=1370807587
|
||||||
Status: Pending
|
Status: Pending
|
||||||
IP:
|
IP:
|
||||||
Controllers: ReplicaSet/nginx-deployment-1370807587
|
Controllers: ReplicaSet/nginx-deployment-1370807587
|
||||||
Containers:
|
Containers:
|
||||||
nginx:
|
nginx:
|
||||||
Image: nginx
|
Image: nginx
|
||||||
Port: 80/TCP
|
Port: 80/TCP
|
||||||
QoS Tier:
|
QoS Tier:
|
||||||
memory: Guaranteed
|
memory: Guaranteed
|
||||||
cpu: Guaranteed
|
cpu: Guaranteed
|
||||||
Limits:
|
Limits:
|
||||||
cpu: 1
|
cpu: 1
|
||||||
memory: 128Mi
|
memory: 128Mi
|
||||||
Requests:
|
Requests:
|
||||||
cpu: 1
|
cpu: 1
|
||||||
memory: 128Mi
|
memory: 128Mi
|
||||||
Environment Variables:
|
Environment Variables:
|
||||||
Volumes:
|
Volumes:
|
||||||
default-token-4bcbi:
|
default-token-4bcbi:
|
||||||
Type: Secret (a volume populated by a Secret)
|
Type: Secret (a volume populated by a Secret)
|
||||||
SecretName: default-token-4bcbi
|
SecretName: default-token-4bcbi
|
||||||
Events:
|
Events:
|
||||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||||
1m 48s 7 {default-scheduler } Warning FailedScheduling pod (nginx-deployment-1370807587-fz9sd) failed to fit in any node
|
1m 48s 7 {default-scheduler } Warning FailedScheduling pod (nginx-deployment-1370807587-fz9sd) failed to fit in any node
|
||||||
fit failure on node (kubernetes-node-6ta5): Node didn't have enough resource: CPU, requested: 1000, used: 1420, capacity: 2000
|
fit failure on node (kubernetes-node-6ta5): Node didn't have enough resource: CPU, requested: 1000, used: 1420, capacity: 2000
|
||||||
fit failure on node (kubernetes-node-wul5): Node didn't have enough resource: CPU, requested: 1000, used: 1100, capacity: 2000
|
fit failure on node (kubernetes-node-wul5): Node didn't have enough resource: CPU, requested: 1000, used: 1100, capacity: 2000
|
||||||
```
|
```
|
||||||
@@ -270,34 +270,34 @@ kubernetes-node-st6x Ready 1h
|
|||||||
kubernetes-node-unaj Ready 1h
|
kubernetes-node-unaj Ready 1h
|
||||||
|
|
||||||
$ kubectl describe node kubernetes-node-861h
|
$ kubectl describe node kubernetes-node-861h
|
||||||
Name: kubernetes-node-861h
|
Name: kubernetes-node-861h
|
||||||
Labels: kubernetes.io/hostname=kubernetes-node-861h
|
Labels: kubernetes.io/hostname=kubernetes-node-861h
|
||||||
CreationTimestamp: Fri, 10 Jul 2015 14:32:29 -0700
|
CreationTimestamp: Fri, 10 Jul 2015 14:32:29 -0700
|
||||||
Conditions:
|
Conditions:
|
||||||
Type Status LastHeartbeatTime LastTransitionTime Reason Message
|
Type Status LastHeartbeatTime LastTransitionTime Reason Message
|
||||||
Ready Unknown Fri, 10 Jul 2015 14:34:32 -0700 Fri, 10 Jul 2015 14:35:15 -0700 Kubelet stopped posting node status.
|
Ready Unknown Fri, 10 Jul 2015 14:34:32 -0700 Fri, 10 Jul 2015 14:35:15 -0700 Kubelet stopped posting node status.
|
||||||
Addresses: 10.240.115.55,104.197.0.26
|
Addresses: 10.240.115.55,104.197.0.26
|
||||||
Capacity:
|
Capacity:
|
||||||
cpu: 1
|
cpu: 1
|
||||||
memory: 3800808Ki
|
memory: 3800808Ki
|
||||||
pods: 100
|
pods: 100
|
||||||
Version:
|
Version:
|
||||||
Kernel Version: 3.16.0-0.bpo.4-amd64
|
Kernel Version: 3.16.0-0.bpo.4-amd64
|
||||||
OS Image: Debian GNU/Linux 7 (wheezy)
|
OS Image: Debian GNU/Linux 7 (wheezy)
|
||||||
Container Runtime Version: docker://Unknown
|
Container Runtime Version: docker://Unknown
|
||||||
Kubelet Version: v0.21.1-185-gffc5a86098dc01
|
Kubelet Version: v0.21.1-185-gffc5a86098dc01
|
||||||
Kube-Proxy Version: v0.21.1-185-gffc5a86098dc01
|
Kube-Proxy Version: v0.21.1-185-gffc5a86098dc01
|
||||||
PodCIDR: 10.244.0.0/24
|
PodCIDR: 10.244.0.0/24
|
||||||
ExternalID: 15233045891481496305
|
ExternalID: 15233045891481496305
|
||||||
Pods: (0 in total)
|
Pods: (0 in total)
|
||||||
Namespace Name
|
Namespace Name
|
||||||
Events:
|
Events:
|
||||||
FirstSeen LastSeen Count From SubobjectPath Reason Message
|
FirstSeen LastSeen Count From SubobjectPath Reason Message
|
||||||
Fri, 10 Jul 2015 14:32:28 -0700 Fri, 10 Jul 2015 14:32:28 -0700 1 {kubelet kubernetes-node-861h} NodeNotReady Node kubernetes-node-861h status is now: NodeNotReady
|
Fri, 10 Jul 2015 14:32:28 -0700 Fri, 10 Jul 2015 14:32:28 -0700 1 {kubelet kubernetes-node-861h} NodeNotReady Node kubernetes-node-861h status is now: NodeNotReady
|
||||||
Fri, 10 Jul 2015 14:32:30 -0700 Fri, 10 Jul 2015 14:32:30 -0700 1 {kubelet kubernetes-node-861h} NodeNotReady Node kubernetes-node-861h status is now: NodeNotReady
|
Fri, 10 Jul 2015 14:32:30 -0700 Fri, 10 Jul 2015 14:32:30 -0700 1 {kubelet kubernetes-node-861h} NodeNotReady Node kubernetes-node-861h status is now: NodeNotReady
|
||||||
Fri, 10 Jul 2015 14:33:00 -0700 Fri, 10 Jul 2015 14:33:00 -0700 1 {kubelet kubernetes-node-861h} starting Starting kubelet.
|
Fri, 10 Jul 2015 14:33:00 -0700 Fri, 10 Jul 2015 14:33:00 -0700 1 {kubelet kubernetes-node-861h} starting Starting kubelet.
|
||||||
Fri, 10 Jul 2015 14:33:02 -0700 Fri, 10 Jul 2015 14:33:02 -0700 1 {kubelet kubernetes-node-861h} NodeReady Node kubernetes-node-861h status is now: NodeReady
|
Fri, 10 Jul 2015 14:33:02 -0700 Fri, 10 Jul 2015 14:33:02 -0700 1 {kubelet kubernetes-node-861h} NodeReady Node kubernetes-node-861h status is now: NodeReady
|
||||||
Fri, 10 Jul 2015 14:35:15 -0700 Fri, 10 Jul 2015 14:35:15 -0700 1 {controllermanager } NodeNotReady Node kubernetes-node-861h status is now: NodeNotReady
|
Fri, 10 Jul 2015 14:35:15 -0700 Fri, 10 Jul 2015 14:35:15 -0700 1 {controllermanager } NodeNotReady Node kubernetes-node-861h status is now: NodeNotReady
|
||||||
|
|
||||||
|
|
||||||
$ kubectl get node kubernetes-node-861h -o yaml
|
$ kubectl get node kubernetes-node-861h -o yaml
|
||||||
|
|||||||
@@ -44,34 +44,34 @@ If you need help, just run `kubectl help` from the terminal window.
|
|||||||
|
|
||||||
The following table includes short descriptions and the general syntax for all of the `kubectl` operations:
|
The following table includes short descriptions and the general syntax for all of the `kubectl` operations:
|
||||||
|
|
||||||
Operation | Syntax | Description
|
Operation | Syntax | Description
|
||||||
-------------------- | -------------------- | --------------------
|
-------------------- | -------------------- | --------------------
|
||||||
`annotate` | `kubectl annotate (-f FILENAME | TYPE NAME | TYPE/NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--overwrite] [--all] [--resource-version=version] [flags]` | Add or update the annotations of one or more resources.
|
`annotate` | `kubectl annotate (-f FILENAME | TYPE NAME | TYPE/NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--overwrite] [--all] [--resource-version=version] [flags]` | Add or update the annotations of one or more resources.
|
||||||
`api-versions` | `kubectl api-versions [flags]` | List the API versions that are available.
|
`api-versions` | `kubectl api-versions [flags]` | List the API versions that are available.
|
||||||
`apply` | `kubectl apply -f FILENAME [flags]`| Apply a configuration change to a resource from a file or stdin.
|
`apply` | `kubectl apply -f FILENAME [flags]`| Apply a configuration change to a resource from a file or stdin.
|
||||||
`attach` | `kubectl attach POD -c CONTAINER [-i] [-t] [flags]` | Attach to a running container either to view the output stream or interact with the container (stdin).
|
`attach` | `kubectl attach POD -c CONTAINER [-i] [-t] [flags]` | Attach to a running container either to view the output stream or interact with the container (stdin).
|
||||||
`autoscale` | `kubectl autoscale (-f FILENAME | TYPE NAME | TYPE/NAME) [--min=MINPODS] --max=MAXPODS [--cpu-percent=CPU] [flags]` | Automatically scale the set of pods that are managed by a replication controller.
|
`autoscale` | `kubectl autoscale (-f FILENAME | TYPE NAME | TYPE/NAME) [--min=MINPODS] --max=MAXPODS [--cpu-percent=CPU] [flags]` | Automatically scale the set of pods that are managed by a replication controller.
|
||||||
`cluster-info` | `kubectl cluster-info [flags]` | Display endpoint information about the master and services in the cluster.
|
`cluster-info` | `kubectl cluster-info [flags]` | Display endpoint information about the master and services in the cluster.
|
||||||
`config` | `kubectl config SUBCOMMAND [flags]` | Modifies kubeconfig files. See the individual subcommands for details.
|
`config` | `kubectl config SUBCOMMAND [flags]` | Modifies kubeconfig files. See the individual subcommands for details.
|
||||||
`create` | `kubectl create -f FILENAME [flags]` | Create one or more resources from a file or stdin.
|
`create` | `kubectl create -f FILENAME [flags]` | Create one or more resources from a file or stdin.
|
||||||
`delete` | `kubectl delete (-f FILENAME | TYPE [NAME | /NAME | -l label | --all]) [flags]` | Delete resources either from a file, stdin, or specifying label selectors, names, resource selectors, or resources.
|
`delete` | `kubectl delete (-f FILENAME | TYPE [NAME | /NAME | -l label | --all]) [flags]` | Delete resources either from a file, stdin, or specifying label selectors, names, resource selectors, or resources.
|
||||||
`describe` | `kubectl describe (-f FILENAME | TYPE [NAME_PREFIX | /NAME | -l label]) [flags]` | Display the detailed state of one or more resources.
|
`describe` | `kubectl describe (-f FILENAME | TYPE [NAME_PREFIX | /NAME | -l label]) [flags]` | Display the detailed state of one or more resources.
|
||||||
`edit` | `kubectl edit (-f FILENAME | TYPE NAME | TYPE/NAME) [flags]` | Edit and update the definition of one or more resources on the server by using the default editor.
|
`edit` | `kubectl edit (-f FILENAME | TYPE NAME | TYPE/NAME) [flags]` | Edit and update the definition of one or more resources on the server by using the default editor.
|
||||||
`exec` | `kubectl exec POD [-c CONTAINER] [-i] [-t] [flags] [-- COMMAND [args...]]` | Execute a command against a container in a pod,
|
`exec` | `kubectl exec POD [-c CONTAINER] [-i] [-t] [flags] [-- COMMAND [args...]]` | Execute a command against a container in a pod,
|
||||||
`explain` | `kubectl explain [--include-extended-apis=true] [--recursive=false] [flags]` | Get documentation of various resources. For instance pods, nodes, services, etc.
|
`explain` | `kubectl explain [--include-extended-apis=true] [--recursive=false] [flags]` | Get documentation of various resources. For instance pods, nodes, services, etc.
|
||||||
`expose` | `kubectl expose (-f FILENAME | TYPE NAME | TYPE/NAME) [--port=port] [--protocol=TCP|UDP] [--target-port=number-or-name] [--name=name] [----external-ip=external-ip-of-service] [--type=type] [flags]` | Expose a replication controller, service, or pod as a new Kubernetes service.
|
`expose` | `kubectl expose (-f FILENAME | TYPE NAME | TYPE/NAME) [--port=port] [--protocol=TCP|UDP] [--target-port=number-or-name] [--name=name] [----external-ip=external-ip-of-service] [--type=type] [flags]` | Expose a replication controller, service, or pod as a new Kubernetes service.
|
||||||
`get` | `kubectl get (-f FILENAME | TYPE [NAME | /NAME | -l label]) [--watch] [--sort-by=FIELD] [[-o | --output]=OUTPUT_FORMAT] [flags]` | List one or more resources.
|
`get` | `kubectl get (-f FILENAME | TYPE [NAME | /NAME | -l label]) [--watch] [--sort-by=FIELD] [[-o | --output]=OUTPUT_FORMAT] [flags]` | List one or more resources.
|
||||||
`label` | `kubectl label (-f FILENAME | TYPE NAME | TYPE/NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--overwrite] [--all] [--resource-version=version] [flags]` | Add or update the labels of one or more resources.
|
`label` | `kubectl label (-f FILENAME | TYPE NAME | TYPE/NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--overwrite] [--all] [--resource-version=version] [flags]` | Add or update the labels of one or more resources.
|
||||||
`logs` | `kubectl logs POD [-c CONTAINER] [--follow] [flags]` | Print the logs for a container in a pod.
|
`logs` | `kubectl logs POD [-c CONTAINER] [--follow] [flags]` | Print the logs for a container in a pod.
|
||||||
`patch` | `kubectl patch (-f FILENAME | TYPE NAME | TYPE/NAME) --patch PATCH [flags]` | Update one or more fields of a resource by using the strategic merge patch process.
|
`patch` | `kubectl patch (-f FILENAME | TYPE NAME | TYPE/NAME) --patch PATCH [flags]` | Update one or more fields of a resource by using the strategic merge patch process.
|
||||||
`port-forward` | `kubectl port-forward POD [LOCAL_PORT:]REMOTE_PORT [...[LOCAL_PORT_N:]REMOTE_PORT_N] [flags]` | Forward one or more local ports to a pod.
|
`port-forward` | `kubectl port-forward POD [LOCAL_PORT:]REMOTE_PORT [...[LOCAL_PORT_N:]REMOTE_PORT_N] [flags]` | Forward one or more local ports to a pod.
|
||||||
`proxy` | `kubectl proxy [--port=PORT] [--www=static-dir] [--www-prefix=prefix] [--api-prefix=prefix] [flags]` | Run a proxy to the Kubernetes API server.
|
`proxy` | `kubectl proxy [--port=PORT] [--www=static-dir] [--www-prefix=prefix] [--api-prefix=prefix] [flags]` | Run a proxy to the Kubernetes API server.
|
||||||
`replace` | `kubectl replace -f FILENAME` | Replace a resource from a file or stdin.
|
`replace` | `kubectl replace -f FILENAME` | Replace a resource from a file or stdin.
|
||||||
`rolling-update` | `kubectl rolling-update OLD_CONTROLLER_NAME ([NEW_CONTROLLER_NAME] --image=NEW_CONTAINER_IMAGE | -f NEW_CONTROLLER_SPEC) [flags]` | Perform a rolling update by gradually replacing the specified replication controller and its pods.
|
`rolling-update` | `kubectl rolling-update OLD_CONTROLLER_NAME ([NEW_CONTROLLER_NAME] --image=NEW_CONTAINER_IMAGE | -f NEW_CONTROLLER_SPEC) [flags]` | Perform a rolling update by gradually replacing the specified replication controller and its pods.
|
||||||
`run` | `kubectl run NAME --image=image [--env="key=value"] [--port=port] [--replicas=replicas] [--dry-run=bool] [--overrides=inline-json] [flags]` | Run a specified image on the cluster.
|
`run` | `kubectl run NAME --image=image [--env="key=value"] [--port=port] [--replicas=replicas] [--dry-run=bool] [--overrides=inline-json] [flags]` | Run a specified image on the cluster.
|
||||||
`scale` | `kubectl scale (-f FILENAME | TYPE NAME | TYPE/NAME) --replicas=COUNT [--resource-version=version] [--current-replicas=count] [flags]` | Update the size of the specified replication controller.
|
`scale` | `kubectl scale (-f FILENAME | TYPE NAME | TYPE/NAME) --replicas=COUNT [--resource-version=version] [--current-replicas=count] [flags]` | Update the size of the specified replication controller.
|
||||||
`stop` | `kubectl stop` | Deprecated: Instead, see `kubectl delete`.
|
`stop` | `kubectl stop` | Deprecated: Instead, see `kubectl delete`.
|
||||||
`version` | `kubectl version [--client] [flags]` | Display the Kubernetes version running on the client and server.
|
`version` | `kubectl version [--client] [flags]` | Display the Kubernetes version running on the client and server.
|
||||||
|
|
||||||
Remember: For more about command operations, see the [kubectl](/docs/user-guide/kubectl) reference documentation.
|
Remember: For more about command operations, see the [kubectl](/docs/user-guide/kubectl) reference documentation.
|
||||||
|
|
||||||
@@ -79,7 +79,7 @@ Remember: For more about command operations, see the [kubectl](/docs/user-guide/
|
|||||||
|
|
||||||
The following table includes a list of all the supported resource types and their abbreviated aliases:
|
The following table includes a list of all the supported resource types and their abbreviated aliases:
|
||||||
|
|
||||||
Resource type | Abbreviated alias
|
Resource type | Abbreviated alias
|
||||||
-------------------- | --------------------
|
-------------------- | --------------------
|
||||||
`certificatesigningrequests` |`csr`
|
`certificatesigningrequests` |`csr`
|
||||||
`clusters` |
|
`clusters` |
|
||||||
|
|||||||
@@ -0,0 +1,92 @@
|
|||||||
|
---
|
||||||
|
title: kubectl
|
||||||
|
---
|
||||||
|
|
||||||
|
## kubectl
|
||||||
|
|
||||||
|
kubectl controls the Kubernetes cluster manager
|
||||||
|
|
||||||
|
### Synopsis
|
||||||
|
|
||||||
|
|
||||||
|
kubectl controls the Kubernetes cluster manager.
|
||||||
|
|
||||||
|
Find more information at [https://github.com/kubernetes/kubernetes](https://github.com/kubernetes/kubernetes).
|
||||||
|
|
||||||
|
```
|
||||||
|
kubectl
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options
|
||||||
|
|
||||||
|
```
|
||||||
|
--alsologtostderr log to standard error as well as files
|
||||||
|
--as string Username to impersonate for the operation
|
||||||
|
--certificate-authority string Path to a cert. file for the certificate authority
|
||||||
|
--client-certificate string Path to a client certificate file for TLS
|
||||||
|
--client-key string Path to a client key file for TLS
|
||||||
|
--cluster string The name of the kubeconfig cluster to use
|
||||||
|
--context string The name of the kubeconfig context to use
|
||||||
|
--insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
|
||||||
|
--kubeconfig string Path to the kubeconfig file to use for CLI requests.
|
||||||
|
--log-backtrace-at traceLocation when logging hits line file:N, emit a stack trace (default :0)
|
||||||
|
--log-dir string If non-empty, write log files in this directory
|
||||||
|
--logtostderr log to standard error instead of files
|
||||||
|
--match-server-version Require server version to match client version
|
||||||
|
-n, --namespace string If present, the namespace scope for this CLI request
|
||||||
|
--password string Password for basic authentication to the API server
|
||||||
|
--request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
|
||||||
|
-s, --server string The address and port of the Kubernetes API server
|
||||||
|
--stderrthreshold severity logs at or above this threshold go to stderr (default 2)
|
||||||
|
--token string Bearer token for authentication to the API server
|
||||||
|
--user string The name of the kubeconfig user to use
|
||||||
|
--username string Username for basic authentication to the API server
|
||||||
|
-v, --v Level log level for V logs
|
||||||
|
--vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging
|
||||||
|
```
|
||||||
|
|
||||||
|
### SEE ALSO
|
||||||
|
|
||||||
|
* [kubectl annotate](kubectl_annotate.md) - Update the annotations on a resource
|
||||||
|
* [kubectl api-versions](kubectl_api-versions.md) - Print the supported API versions on the server, in the form of "group/version"
|
||||||
|
* [kubectl apply](kubectl_apply.md) - Apply a configuration to a resource by filename or stdin
|
||||||
|
* [kubectl attach](kubectl_attach.md) - Attach to a running container
|
||||||
|
* [kubectl autoscale](kubectl_autoscale.md) - Auto-scale a Deployment, ReplicaSet, or ReplicationController
|
||||||
|
* [kubectl certificate](kubectl_certificate.md) - Modify certificate resources.
|
||||||
|
* [kubectl cluster-info](kubectl_cluster-info.md) - Display cluster info
|
||||||
|
* [kubectl completion](kubectl_completion.md) - Output shell completion code for the given shell (bash or zsh)
|
||||||
|
* [kubectl config](kubectl_config.md) - Modify kubeconfig files
|
||||||
|
* [kubectl convert](kubectl_convert.md) - Convert config files between different API versions
|
||||||
|
* [kubectl cordon](kubectl_cordon.md) - Mark node as unschedulable
|
||||||
|
* [kubectl cp](kubectl_cp.md) - Copy files and directories to and from containers.
|
||||||
|
* [kubectl create](kubectl_create.md) - Create a resource by filename or stdin
|
||||||
|
* [kubectl delete](kubectl_delete.md) - Delete resources by filenames, stdin, resources and names, or by resources and label selector
|
||||||
|
* [kubectl describe](kubectl_describe.md) - Show details of a specific resource or group of resources
|
||||||
|
* [kubectl drain](kubectl_drain.md) - Drain node in preparation for maintenance
|
||||||
|
* [kubectl edit](kubectl_edit.md) - Edit a resource on the server
|
||||||
|
* [kubectl exec](kubectl_exec.md) - Execute a command in a container
|
||||||
|
* [kubectl explain](kubectl_explain.md) - Documentation of resources
|
||||||
|
* [kubectl expose](kubectl_expose.md) - Take a replication controller, service, deployment or pod and expose it as a new Kubernetes Service
|
||||||
|
* [kubectl get](kubectl_get.md) - Display one or many resources
|
||||||
|
* [kubectl label](kubectl_label.md) - Update the labels on a resource
|
||||||
|
* [kubectl logs](kubectl_logs.md) - Print the logs for a container in a pod
|
||||||
|
* [kubectl options](kubectl_options.md) -
|
||||||
|
* [kubectl patch](kubectl_patch.md) - Update field(s) of a resource using strategic merge patch
|
||||||
|
* [kubectl port-forward](kubectl_port-forward.md) - Forward one or more local ports to a pod
|
||||||
|
* [kubectl proxy](kubectl_proxy.md) - Run a proxy to the Kubernetes API server
|
||||||
|
* [kubectl replace](kubectl_replace.md) - Replace a resource by filename or stdin
|
||||||
|
* [kubectl rolling-update](kubectl_rolling-update.md) - Perform a rolling update of the given ReplicationController
|
||||||
|
* [kubectl rollout](kubectl_rollout.md) - Manage a deployment rollout
|
||||||
|
* [kubectl run](kubectl_run.md) - Run a particular image on the cluster
|
||||||
|
* [kubectl scale](kubectl_scale.md) - Set a new size for a Deployment, ReplicaSet, Replication Controller, or Job
|
||||||
|
* [kubectl set](kubectl_set.md) - Set specific features on objects
|
||||||
|
* [kubectl taint](kubectl_taint.md) - Update the taints on one or more nodes
|
||||||
|
* [kubectl top](kubectl_top.md) - Display Resource (CPU/Memory/Storage) usage
|
||||||
|
* [kubectl uncordon](kubectl_uncordon.md) - Mark node as schedulable
|
||||||
|
* [kubectl version](kubectl_version.md) - Print the client and server version information
|
||||||
|
|
||||||
|
###### Auto generated by spf13/cobra on 13-Dec-2016
|
||||||
|
|
||||||
|
<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
|
||||||
|
[]()
|
||||||
|
<!-- END MUNGE: GENERATED_ANALYTICS -->
|
||||||
+244
-244
@@ -1,252 +1,252 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo</title>
|
<title>jQuery.scrollTo</title>
|
||||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||||
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
||||||
<meta name="robots" content="index,follow" />
|
<meta name="robots" content="index,follow" />
|
||||||
<link type="text/css" rel="stylesheet" href="css/style.css" />
|
<link type="text/css" rel="stylesheet" href="css/style.css" />
|
||||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.min.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.min.js"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
jQuery(function( $ ){
|
jQuery(function( $ ){
|
||||||
/**
|
/**
|
||||||
* Demo binding and preparation, no need to read this part
|
* Demo binding and preparation, no need to read this part
|
||||||
*/
|
*/
|
||||||
//borrowed from jQuery easing plugin
|
//borrowed from jQuery easing plugin
|
||||||
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
||||||
$.easing.elasout = function(x, t, b, c, d) {
|
$.easing.elasout = function(x, t, b, c, d) {
|
||||||
var s=1.70158;var p=0;var a=c;
|
var s=1.70158;var p=0;var a=c;
|
||||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||||
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
||||||
};
|
};
|
||||||
$('a.back').click(function() {
|
$('a.back').click(function() {
|
||||||
$(this).parents('div.pane').scrollTo(0, 800, { queue:true });
|
$(this).parents('div.pane').scrollTo(0, 800, { queue:true });
|
||||||
$(this).parents('div.section').find('span.message').text( this.title);
|
$(this).parents('div.section').find('span.message').text( this.title);
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
//just for the example, to stop the click on the links.
|
//just for the example, to stop the click on the links.
|
||||||
$('ul.links').click(function(e){
|
$('ul.links').click(function(e){
|
||||||
var link = e.target;
|
var link = e.target;
|
||||||
if (link.target === '_blank') {
|
if (link.target === '_blank') {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
link.blur();
|
link.blur();
|
||||||
if (link.title) {
|
if (link.title) {
|
||||||
$(this).parent().find('span.message').text(link.title);
|
$(this).parent().find('span.message').text(link.title);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// This one is important, many browsers don't reset scroll on refreshes
|
// This one is important, many browsers don't reset scroll on refreshes
|
||||||
// Reset all scrollable panes to (0,0)
|
// Reset all scrollable panes to (0,0)
|
||||||
$('div.pane').scrollTo(0);
|
$('div.pane').scrollTo(0);
|
||||||
// Reset the screen to (0,0)
|
// Reset the screen to (0,0)
|
||||||
$.scrollTo(0);
|
$.scrollTo(0);
|
||||||
|
|
||||||
// TOC, shows how to scroll the whole window
|
// TOC, shows how to scroll the whole window
|
||||||
$('#toc a').click(function() {//$.scrollTo works EXACTLY the same way, but scrolls the whole screen
|
$('#toc a').click(function() {//$.scrollTo works EXACTLY the same way, but scrolls the whole screen
|
||||||
$.scrollTo(this.hash, 1500, { easing:'elasout' });
|
$.scrollTo(this.hash, 1500, { easing:'elasout' });
|
||||||
$(this.hash).find('span.message').text(this.title);
|
$(this.hash).find('span.message').text(this.title);
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
// Target examples bindings
|
// Target examples bindings
|
||||||
var $target = $('#pane-target');
|
var $target = $('#pane-target');
|
||||||
$('#target-examples a').click(function() {
|
$('#target-examples a').click(function() {
|
||||||
$target.stop(true);
|
$target.stop(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#relative-selector').click(function() {
|
$('#relative-selector').click(function() {
|
||||||
$target.scrollTo('li:eq(7)', 800);
|
$target.scrollTo('li:eq(7)', 800);
|
||||||
});
|
});
|
||||||
$('#jquery-object').click(function() {
|
$('#jquery-object').click(function() {
|
||||||
$target.scrollTo($('#pane-target li:eq(14)') , 800);
|
$target.scrollTo($('#pane-target li:eq(14)') , 800);
|
||||||
});
|
});
|
||||||
$('#dom-element').click(function() {
|
$('#dom-element').click(function() {
|
||||||
$target.scrollTo(document.getElementById('twenty'), 800);
|
$target.scrollTo(document.getElementById('twenty'), 800);
|
||||||
});
|
});
|
||||||
$('#absolute-number').click(function() {
|
$('#absolute-number').click(function() {
|
||||||
$target.scrollTo(150, 800);
|
$target.scrollTo(150, 800);
|
||||||
});
|
});
|
||||||
$('#absolute-number-hash').click(function() {
|
$('#absolute-number-hash').click(function() {
|
||||||
$target.scrollTo({ top:800, left:700}, 800);
|
$target.scrollTo({ top:800, left:700}, 800);
|
||||||
});
|
});
|
||||||
$('#absolute-px').click(function() {
|
$('#absolute-px').click(function() {
|
||||||
$target.scrollTo('520px', 800);
|
$target.scrollTo('520px', 800);
|
||||||
});
|
});
|
||||||
$('#absolute-px-hash').click(function() {
|
$('#absolute-px-hash').click(function() {
|
||||||
$target.scrollTo({top:'110px', left:'290px'}, 800);
|
$target.scrollTo({top:'110px', left:'290px'}, 800);
|
||||||
});
|
});
|
||||||
$('#relative-px').click(function() {
|
$('#relative-px').click(function() {
|
||||||
$target.scrollTo('+=100', 500);
|
$target.scrollTo('+=100', 500);
|
||||||
});
|
});
|
||||||
$('#relative-px-hash').click(function() {
|
$('#relative-px-hash').click(function() {
|
||||||
$target.scrollTo({top:'-=100px', left:'+=100'}, 500);
|
$target.scrollTo({top:'-=100px', left:'+=100'}, 500);
|
||||||
});
|
});
|
||||||
$('#percentage-px').click(function() {
|
$('#percentage-px').click(function() {
|
||||||
$target.scrollTo('50%', 800);
|
$target.scrollTo('50%', 800);
|
||||||
});
|
});
|
||||||
$('#percentage-px-hash').click(function() {
|
$('#percentage-px-hash').click(function() {
|
||||||
$target.scrollTo({top:'50%', left:'20%'}, 800);
|
$target.scrollTo({top:'50%', left:'20%'}, 800);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Settings examples bindings, they will all scroll to the same place, with different settings
|
// Settings examples bindings, they will all scroll to the same place, with different settings
|
||||||
var $settings = $('#pane-settings');
|
var $settings = $('#pane-settings');
|
||||||
$('#settings-examples a').click(function() {
|
$('#settings-examples a').click(function() {
|
||||||
// before each animation, reset to (0,0), skip this.
|
// before each animation, reset to (0,0), skip this.
|
||||||
$settings.stop(true).scrollTo(0);
|
$settings.stop(true).scrollTo(0);
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#settings-no').click(function() {
|
$('#settings-no').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 1000);
|
$settings.scrollTo('li:eq(15)', 1000);
|
||||||
});
|
});
|
||||||
$('#settings-axis').click(function() {// only scroll horizontally
|
$('#settings-axis').click(function() {// only scroll horizontally
|
||||||
$settings.scrollTo('li:eq(15)', 1000, { axis:'x' });
|
$settings.scrollTo('li:eq(15)', 1000, { axis:'x' });
|
||||||
});
|
});
|
||||||
$('#settings-duration').click(function() {// it's the same as specifying it in the 2nd argument
|
$('#settings-duration').click(function() {// it's the same as specifying it in the 2nd argument
|
||||||
$settings.scrollTo('li:eq(15)', { duration: 3000 });
|
$settings.scrollTo('li:eq(15)', { duration: 3000 });
|
||||||
});
|
});
|
||||||
$('#settings-easing').click(function() {
|
$('#settings-easing').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 2500, { easing:'elasout' });
|
$settings.scrollTo('li:eq(15)', 2500, { easing:'elasout' });
|
||||||
});
|
});
|
||||||
$('#settings-margin').click(function() {//scroll to the "outer" position of the element
|
$('#settings-margin').click(function() {//scroll to the "outer" position of the element
|
||||||
$settings.scrollTo('li:eq(15)', 1000, { margin:true });
|
$settings.scrollTo('li:eq(15)', 1000, { margin:true });
|
||||||
});
|
});
|
||||||
$('#settings-offset').click(function() {//same as { top:-50, left:-50 }
|
$('#settings-offset').click(function() {//same as { top:-50, left:-50 }
|
||||||
$settings.scrollTo('li:eq(15)', 1000, { offset:-50 });
|
$settings.scrollTo('li:eq(15)', 1000, { offset:-50 });
|
||||||
});
|
});
|
||||||
$('#settings-offset-hash').click(function() {
|
$('#settings-offset-hash').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 1000, { offset:{ top:-5, left:-30 } });
|
$settings.scrollTo('li:eq(15)', 1000, { offset:{ top:-5, left:-30 } });
|
||||||
});
|
});
|
||||||
$('#settings-offset-function').click(function() {
|
$('#settings-offset-function').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});
|
$settings.scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});
|
||||||
});
|
});
|
||||||
$('#settings-over').click(function() {//same as { top:-50, left:-50 }
|
$('#settings-over').click(function() {//same as { top:-50, left:-50 }
|
||||||
$settings.scrollTo('li:eq(15)', 1000, { over:0.5 });
|
$settings.scrollTo('li:eq(15)', 1000, { over:0.5 });
|
||||||
});
|
});
|
||||||
$('#settings-over-hash').click(function() {
|
$('#settings-over-hash').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 1000, { over:{ top:0.2, left:-0.5 } });
|
$settings.scrollTo('li:eq(15)', 1000, { over:{ top:0.2, left:-0.5 } });
|
||||||
});
|
});
|
||||||
$('#settings-interrupt').click(function() {
|
$('#settings-interrupt').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 10000, { interrupt:true });
|
$settings.scrollTo('li:eq(15)', 10000, { interrupt:true });
|
||||||
});
|
});
|
||||||
$('#settings-queue').click(function() {//in this case, having 'axis' as 'xy' or 'yx' matters.
|
$('#settings-queue').click(function() {//in this case, having 'axis' as 'xy' or 'yx' matters.
|
||||||
$settings.scrollTo('li:eq(15)', 2000, { queue:true });
|
$settings.scrollTo('li:eq(15)', 2000, { queue:true });
|
||||||
});
|
});
|
||||||
$('#settings-onAfter').click(function() {
|
$('#settings-onAfter').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 2000, {
|
$settings.scrollTo('li:eq(15)', 2000, {
|
||||||
onAfter:function() {
|
onAfter:function() {
|
||||||
$('#settings-message').text('Got there!');
|
$('#settings-message').text('Got there!');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
$('#settings-onAfterFirst').click(function() {//onAfterFirst exists only when queuing
|
$('#settings-onAfterFirst').click(function() {//onAfterFirst exists only when queuing
|
||||||
$settings.scrollTo('li:eq(15)', 1600, {
|
$settings.scrollTo('li:eq(15)', 1600, {
|
||||||
queue:true,
|
queue:true,
|
||||||
onAfterFirst:function() {
|
onAfterFirst:function() {
|
||||||
$('#settings-message').text('Got there horizontally!');
|
$('#settings-message').text('Got there horizontally!');
|
||||||
},
|
},
|
||||||
onAfter:function() {
|
onAfter:function() {
|
||||||
$('#settings-message').text('Got there vertically!');
|
$('#settings-message').text('Got there vertically!');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
$('#settings-step').click(function() {
|
$('#settings-step').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 2000, {step:function(now) {
|
$settings.scrollTo('li:eq(15)', 2000, {step:function(now) {
|
||||||
$('#settings-message').text(now.toFixed(2));
|
$('#settings-message').text(now.toFixed(2));
|
||||||
}});
|
}});
|
||||||
});
|
});
|
||||||
$('#settings-progress').click(function() {
|
$('#settings-progress').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 2000, {progress:function(_, now) {
|
$settings.scrollTo('li:eq(15)', 2000, {progress:function(_, now) {
|
||||||
$('#settings-message').text(Math.round(now*100) + '%');
|
$('#settings-message').text(Math.round(now*100) + '%');
|
||||||
}});
|
}});
|
||||||
});
|
});
|
||||||
$('#settings-fail').click(function() {
|
$('#settings-fail').click(function() {
|
||||||
$settings.scrollTo('li:eq(15)', 10000, {interrupt:true, fail:function() {
|
$settings.scrollTo('li:eq(15)', 10000, {interrupt:true, fail:function() {
|
||||||
$('#settings-message').text('Scroll interrupted!');
|
$('#settings-message').text('Scroll interrupted!');
|
||||||
}});
|
}});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo <strong>by Ariel Flesler</strong></h1>
|
<h1>jQuery.scrollTo <strong>by Ariel Flesler</strong></h1>
|
||||||
|
|
||||||
<div id="toc" class="part">
|
<div id="toc" class="part">
|
||||||
<h3>Table of contents <strong>(try these)</strong></h3>
|
<h3>Table of contents <strong>(try these)</strong></h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a title="$.scrollTo('#target-examples', 800, {easing:'elasout'});" href="#target-examples">Ways to specify the target</a></li>
|
<li><a title="$.scrollTo('#target-examples', 800, {easing:'elasout'});" href="#target-examples">Ways to specify the target</a></li>
|
||||||
<li><a title="$.scrollTo('#settings-examples', 800, {easing:'elasout'});" href="#settings-examples">Settings</a></li>
|
<li><a title="$.scrollTo('#settings-examples', 800, {easing:'elasout'});" href="#settings-examples">Settings</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="links" class="part">
|
<div id="links" class="part">
|
||||||
<h3>Links</h3>
|
<h3>Links</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a target="_blank" href="https://github.com/flesler/jquery.scrollTo">Github</a></li>
|
<li><a target="_blank" href="https://github.com/flesler/jquery.scrollTo">Github</a></li>
|
||||||
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
||||||
<li><a target="_blank" href="http://demos.flesler.com/jquery/localScroll/">LocalScroll Demo</a></li>
|
<li><a target="_blank" href="http://demos.flesler.com/jquery/localScroll/">LocalScroll Demo</a></li>
|
||||||
<li><a target="_blank" href="http://demos.flesler.com/jquery/serialScroll/">SerialScroll Demo</a></li>
|
<li><a target="_blank" href="http://demos.flesler.com/jquery/serialScroll/">SerialScroll Demo</a></li>
|
||||||
<li><a target="_blank" href="index.old.html">Old Demo</a></li>
|
<li><a target="_blank" href="index.old.html">Old Demo</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div id="target-examples" class="section part">
|
<div id="target-examples" class="section part">
|
||||||
<h3>Ways to specify the target <span id="target-message" class="message">Click an option, to see it in action</span></h3>
|
<h3>Ways to specify the target <span id="target-message" class="message">Click an option, to see it in action</span></h3>
|
||||||
<ul class="links">
|
<ul class="links">
|
||||||
<li><a title="$(...).scrollTo('li:eq(7)', 800);" id="relative-selector" href="#">Relative selector</a></li>
|
<li><a title="$(...).scrollTo('li:eq(7)', 800);" id="relative-selector" href="#">Relative selector</a></li>
|
||||||
<li><a title="$(...).scrollTo($('div li:eq(14)'), 800);" id="jquery-object" href="#">jQuery object</a></li>
|
<li><a title="$(...).scrollTo($('div li:eq(14)'), 800);" id="jquery-object" href="#">jQuery object</a></li>
|
||||||
<li><a title="$(...).scrollTo(document.getElementById('twenty'), 800);" id="dom-element" href="#">DOM Element</a></li>
|
<li><a title="$(...).scrollTo(document.getElementById('twenty'), 800);" id="dom-element" href="#">DOM Element</a></li>
|
||||||
<li><a title="$(...).scrollTo(150, 800);" id="absolute-number" href="#">Absolute number</a></li>
|
<li><a title="$(...).scrollTo(150, 800);" id="absolute-number" href="#">Absolute number</a></li>
|
||||||
<li><a title="$(...).scrollTo({ top:800, left:700}, 800);" id="absolute-number-hash" href="#">Absolute number(hash)</a></li>
|
<li><a title="$(...).scrollTo({ top:800, left:700}, 800);" id="absolute-number-hash" href="#">Absolute number(hash)</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="links">
|
<ul class="links">
|
||||||
<li><a title="$(...).scrollTo('520px', 800);" id="absolute-px" href="#">Absolute px</a></li>
|
<li><a title="$(...).scrollTo('520px', 800);" id="absolute-px" href="#">Absolute px</a></li>
|
||||||
<li><a title="$(...).scrollTo({top:'110px', left:'290px'}, 800);" id="absolute-px-hash" href="#">Absolute px(hash)</a></li>
|
<li><a title="$(...).scrollTo({top:'110px', left:'290px'}, 800);" id="absolute-px-hash" href="#">Absolute px(hash)</a></li>
|
||||||
<li><a title="$(...).scrollTo('+=100px', 800);" id="relative-px" href="#">Relative px</a></li>
|
<li><a title="$(...).scrollTo('+=100px', 800);" id="relative-px" href="#">Relative px</a></li>
|
||||||
<li><a title="$(...).scrollTo({top:'-=100px', left:'+=100'}, 800);" id="relative-px-hash" href="#">Relative px(hash)</a></li>
|
<li><a title="$(...).scrollTo({top:'-=100px', left:'+=100'}, 800);" id="relative-px-hash" href="#">Relative px(hash)</a></li>
|
||||||
<li><a title="$(...).scrollTo('50%', 800);" id="percentage-px" href="#">Percent</a></li>
|
<li><a title="$(...).scrollTo('50%', 800);" id="percentage-px" href="#">Percent</a></li>
|
||||||
<li><a title="$(...).scrollTo({top:'50%', left:'20%'}, 800);" id="percentage-px-hash" href="#">Percent(hash)</a></li>
|
<li><a title="$(...).scrollTo({top:'50%', left:'20%'}, 800);" id="percentage-px-hash" href="#">Percent(hash)</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<div id="pane-target" class="pane">
|
<div id="pane-target" class="pane">
|
||||||
<ul class="elements" style="height:1011px; width:1820px;">
|
<ul class="elements" style="height:1011px; width:1820px;">
|
||||||
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li id="twenty"><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li id="twenty"><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="settings-examples" class="section part">
|
<div id="settings-examples" class="section part">
|
||||||
<h3>Settings <span id="settings-message" class="message">The examples shown here, are summarized for brevity</span></h3>
|
<h3>Settings <span id="settings-message" class="message">The examples shown here, are summarized for brevity</span></h3>
|
||||||
<ul class="links">
|
<ul class="links">
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000);" id="settings-no" href="#">no settings</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000);" id="settings-no" href="#">no settings</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {axis:'x'});//only scroll on this axis (can be x, y, xy or yx)" id="settings-axis" href="#">axis</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {axis:'x'});//only scroll on this axis (can be x, y, xy or yx)" id="settings-axis" href="#">axis</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {margin:true});//deduct the margin and border from the final position" id="settings-margin" href="#">margin</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {margin:true});//deduct the margin and border from the final position" id="settings-margin" href="#">margin</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset:-50});//add or deduct from the final position" id="settings-offset" href="#">offset</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset:-50});//add or deduct from the final position" id="settings-offset" href="#">offset</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: {top:-5, left:-30} });" id="settings-offset-hash" href="#">offset(hash)</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: {top:-5, left:-30} });" id="settings-offset-hash" href="#">offset(hash)</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});" id="settings-offset-function" href="#">offset(function)</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});" id="settings-offset-function" href="#">offset(function)</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:0.5});//add or deduct a fraction of its height/width" id="settings-over" href="#">over</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:0.5});//add or deduct a fraction of its height/width" id="settings-over" href="#">over</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:{top:0.2, left:-0.5});" id="settings-over-hash" href="#">over(hash)</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:{top:0.2, left:-0.5});" id="settings-over-hash" href="#">over(hash)</a></li>
|
||||||
<li><a title="Scroll manually to interrupt the animation" id="settings-interrupt" href="#">interrupt</a></li>
|
<li><a title="Scroll manually to interrupt the animation" id="settings-interrupt" href="#">interrupt</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {onAfter:function() { } });//called after the scrolling ends" id="settings-onAfter" href="#">onAfter</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {onAfter:function() { } });//called after the scrolling ends" id="settings-onAfter" href="#">onAfter</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true, onAfterFirst:function() { } });//called after the first axis scrolled" id="settings-onAfterFirst" href="#">onAfterFirst</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true, onAfterFirst:function() { } });//called after the first axis scrolled" id="settings-onAfterFirst" href="#">onAfterFirst</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<h4>Settings inherited from <a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">$().animate()</a></h4>
|
<h4>Settings inherited from <a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">$().animate()</a></h4>
|
||||||
<ul class="links">
|
<ul class="links">
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', {duration:3000});//another way of calling the plugin" id="settings-duration" href="#">duration</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', {duration:3000});//another way of calling the plugin" id="settings-duration" href="#">duration</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {easing:'elasout'});//specify an easing equation" id="settings-easing" href="#">easing</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {easing:'elasout'});//specify an easing equation" id="settings-easing" href="#">easing</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true});//scroll one axis, then the other" id="settings-queue" href="#">queue</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true});//scroll one axis, then the other" id="settings-queue" href="#">queue</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {step:function() { }'});//specify a step function" id="settings-step" href="#">step</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {step:function() { }'});//specify a step function" id="settings-step" href="#">step</a></li>
|
||||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {progress:function() { }'});//specify a progress function" id="settings-progress" href="#">progress</a></li>
|
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {progress:function() { }'});//specify a progress function" id="settings-progress" href="#">progress</a></li>
|
||||||
<li><a title="Scroll manually to interrupt and trigger the callback" id="settings-fail" href="#">fail</a></li>
|
<li><a title="Scroll manually to interrupt and trigger the callback" id="settings-fail" href="#">fail</a></li>
|
||||||
<li><a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">more</a></li>
|
<li><a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">more</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<div id="pane-settings" class="pane">
|
<div id="pane-settings" class="pane">
|
||||||
<ul class="elements" style="height:1062px;width:1877px;">
|
<ul class="elements" style="height:1062px;width:1877px;">
|
||||||
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
+121
-121
@@ -1,128 +1,128 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.ScrollTo</title>
|
<title>jQuery.ScrollTo</title>
|
||||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||||
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
||||||
<meta name="robots" content="index,follow" />
|
<meta name="robots" content="index,follow" />
|
||||||
<link type="text/css" rel="stylesheet" href="css/style.old.css" />
|
<link type="text/css" rel="stylesheet" href="css/style.old.css" />
|
||||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
jQuery(function( $ ){
|
jQuery(function( $ ){
|
||||||
//borrowed from jQuery easing plugin
|
//borrowed from jQuery easing plugin
|
||||||
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
||||||
$.easing.elasout = function(x, t, b, c, d) {
|
$.easing.elasout = function(x, t, b, c, d) {
|
||||||
var s=1.70158;var p=0;var a=c;
|
var s=1.70158;var p=0;var a=c;
|
||||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||||
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
||||||
};
|
};
|
||||||
$('button').click(function(){//this is not the cleanest way to do this, I'm just keeping it short.
|
$('button').click(function(){//this is not the cleanest way to do this, I'm just keeping it short.
|
||||||
var index = parseInt( $(this).prev('input').val() ) || 0;
|
var index = parseInt( $(this).prev('input').val() ) || 0;
|
||||||
var $c = $(this).parent().next();
|
var $c = $(this).parent().next();
|
||||||
$c.stop().scrollTo('li:eq('+index+')', {duration:2500, easing:'elasout',axis:$c.attr('id')});
|
$c.stop().scrollTo('li:eq('+index+')', {duration:2500, easing:'elasout',axis:$c.attr('id')});
|
||||||
});
|
});
|
||||||
$('#btn_screen').click(function(){
|
$('#btn_screen').click(function(){
|
||||||
$.scrollTo( $('#txt_screen').val(), {duration:2500} );
|
$.scrollTo( $('#txt_screen').val(), {duration:2500} );
|
||||||
});
|
});
|
||||||
$('div.container a').click(function(){
|
$('div.container a').click(function(){
|
||||||
var $c = $(this).parents('.container');
|
var $c = $(this).parents('.container');
|
||||||
$c.stop().scrollTo( 0, {duration:2000,axis:$c.attr('id'), queue:true} );
|
$c.stop().scrollTo( 0, {duration:2000,axis:$c.attr('id'), queue:true} );
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.ScrollTo <strong>by Ariel Flesler</strong></h1>
|
<h1>jQuery.ScrollTo <strong>by Ariel Flesler</strong></h1>
|
||||||
<div id="links" class="part" style="width:135px">
|
<div id="links" class="part" style="width:135px">
|
||||||
<h3>Links</h3>
|
<h3>Links</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a target="_blank" href="http://plugins.jquery.com/project/ScrollTo">Project Page</a></li>
|
<li><a target="_blank" href="http://plugins.jquery.com/project/ScrollTo">Project Page</a></li>
|
||||||
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
||||||
<li><a target="_blank" href="http://flesler.blogspot.com/search/label/jQuery.ScrollTo">All articles</a></li>
|
<li><a target="_blank" href="http://flesler.blogspot.com/search/label/jQuery.ScrollTo">All articles</a></li>
|
||||||
<li><a target="_blank" href="http://flesler.webs.com/jQuery.LocalScroll/">LocalScroll Demo</a></li>
|
<li><a target="_blank" href="http://flesler.webs.com/jQuery.LocalScroll/">LocalScroll Demo</a></li>
|
||||||
<li><a target="_blank" href="http://flesler.webs.com/jQuery.SerialScroll/">SerialScroll Demo</a></li>
|
<li><a target="_blank" href="http://flesler.webs.com/jQuery.SerialScroll/">SerialScroll Demo</a></li>
|
||||||
<li><a target="_blank" href="./" rel="prev" rev="next">New Demo</a></li>
|
<li><a target="_blank" href="./" rel="prev" rev="next">New Demo</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<label for="txt_screen">Scroll the window to <input id="txt_screen" type="text" value=".pane:eq(1)" /><input id="btn_screen" type="button" value="Scroll" /></label><br /><br />
|
<label for="txt_screen">Scroll the window to <input id="txt_screen" type="text" value=".pane:eq(1)" /><input id="btn_screen" type="button" value="Scroll" /></label><br /><br />
|
||||||
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
||||||
<div id="y" class="container">
|
<div id="y" class="container">
|
||||||
<ul>
|
<ul>
|
||||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to top</a></li>
|
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to top</a></li>
|
||||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to top</a></li>
|
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to top</a></li>
|
||||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to top</a></li>
|
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to top</a></li>
|
||||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to top</a></li>
|
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to top</a></li>
|
||||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to top</a></li>
|
<li style="background-color:#663366;"><p>4</p><a href="#">back to top</a></li>
|
||||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to top</a></li>
|
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to top</a></li>
|
||||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to top</a></li>
|
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to top</a></li>
|
||||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to top</a></li>
|
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to top</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
||||||
<div id="x" class="container">
|
<div id="x" class="container">
|
||||||
<ul style="width:4820px;">
|
<ul style="width:4820px;">
|
||||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<label>Scroll to the #<input type="text" value="16" /> element inside this container<button>Scroll</button></label>
|
<label>Scroll to the #<input type="text" value="16" /> element inside this container<button>Scroll</button></label>
|
||||||
<div id="xy" class="container">
|
<div id="xy" class="container">
|
||||||
<ul style="width:1500px;">
|
<ul style="width:1500px;">
|
||||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#9933CC;"><p>16</p><a href="#">back to start</a></li>
|
<li style="background-color:#9933CC;"><p>16</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFCC99;"><p>17</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFCC99;"><p>17</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FF0000;"><p>18</p><a href="#">back to start</a></li>
|
<li style="background-color:#FF0000;"><p>18</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FFCC;"><p>19</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FFCC;"><p>19</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#663366;"><p>20</p><a href="#">back to start</a></li>
|
<li style="background-color:#663366;"><p>20</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#CCCCFF;"><p>21</p><a href="#">back to start</a></li>
|
<li style="background-color:#CCCCFF;"><p>21</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFFFCC;"><p>22</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFFFCC;"><p>22</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FF00;"><p>23</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FF00;"><p>23</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#9933CC;"><p>24</p><a href="#">back to start</a></li>
|
<li style="background-color:#9933CC;"><p>24</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FFCC99;"><p>25</p><a href="#">back to start</a></li>
|
<li style="background-color:#FFCC99;"><p>25</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#FF0000;"><p>26</p><a href="#">back to start</a></li>
|
<li style="background-color:#FF0000;"><p>26</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#00FFCC;"><p>27</p><a href="#">back to start</a></li>
|
<li style="background-color:#00FFCC;"><p>27</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#663366;"><p>28</p><a href="#">back to start</a></li>
|
<li style="background-color:#663366;"><p>28</p><a href="#">back to start</a></li>
|
||||||
<li style="background-color:#CCCCFF;"><p>29</p><a href="#">back to start</a></li>
|
<li style="background-color:#CCCCFF;"><p>29</p><a href="#">back to start</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="pane" style="background-color:#000000;margin-top:40px;"></div>
|
<div class="pane" style="background-color:#000000;margin-top:40px;"></div>
|
||||||
<div class="pane" style="background-color:#333333;"></div>
|
<div class="pane" style="background-color:#333333;"></div>
|
||||||
<div class="pane" style="background-color:#666666;"></div>
|
<div class="pane" style="background-color:#666666;"></div>
|
||||||
<div class="pane" style="background-color:#999999;"></div>
|
<div class="pane" style="background-color:#999999;"></div>
|
||||||
<div class="pane" style="background-color:#CCCCCC;"></div>
|
<div class="pane" style="background-color:#CCCCCC;"></div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Generated
Vendored
+15
-15
@@ -1,21 +1,21 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Element MaxY - Compat Mode</title>
|
<title>jQuery.scrollTo - Test Element MaxY - Compat Mode</title>
|
||||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||||
<script type="text/javascript" src="test.js"></script>
|
<script type="text/javascript" src="test.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Element MaxY - Compat Mode</h1>
|
<h1>jQuery.scrollTo - Test Element MaxY - Compat Mode</h1>
|
||||||
|
|
||||||
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
||||||
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$('#viewport').test();
|
$('#viewport').test();
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Generated
Vendored
+15
-15
@@ -1,20 +1,20 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Element MaxY - Quirks Mode</title>
|
<title>jQuery.scrollTo - Test Element MaxY - Quirks Mode</title>
|
||||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||||
<script type="text/javascript" src="test.js"></script>
|
<script type="text/javascript" src="test.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Element MaxY - Quirks Mode</h1>
|
<h1>jQuery.scrollTo - Test Element MaxY - Quirks Mode</h1>
|
||||||
|
|
||||||
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
||||||
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$('#viewport').test();
|
$('#viewport').test();
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Generated
Vendored
+13
-13
@@ -1,19 +1,19 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Window MaxY - Compat Mode</title>
|
<title>jQuery.scrollTo - Test Window MaxY - Compat Mode</title>
|
||||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||||
<script type="text/javascript" src="test.js"></script>
|
<script type="text/javascript" src="test.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Window MaxY - Compat Mode</h1>
|
<h1>jQuery.scrollTo - Test Window MaxY - Compat Mode</h1>
|
||||||
|
|
||||||
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(window).test();
|
$(window).test();
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Generated
Vendored
+12
-12
@@ -1,18 +1,18 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Window MaxY - Quirks Mode</title>
|
<title>jQuery.scrollTo - Test Window MaxY - Quirks Mode</title>
|
||||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||||
<script type="text/javascript" src="test.js"></script>
|
<script type="text/javascript" src="test.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Window MaxY - Quirks Mode</h1>
|
<h1>jQuery.scrollTo - Test Window MaxY - Quirks Mode</h1>
|
||||||
|
|
||||||
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(window).test();
|
$(window).test();
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Generated
Vendored
+13
-13
@@ -1,20 +1,20 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</title>
|
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</title>
|
||||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||||
<script type="text/javascript" src="test.js"></script>
|
<script type="text/javascript" src="test.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</h1>
|
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</h1>
|
||||||
|
|
||||||
<iframe src="WinMaxY-compat.html?notest" style="width:500px" /></iframe>
|
<iframe src="WinMaxY-compat.html?notest" style="width:500px" /></iframe>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
$('iframe').test();
|
$('iframe').test();
|
||||||
}, 1500 );
|
}, 1500 );
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Generated
Vendored
+14
-14
@@ -1,19 +1,19 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</title>
|
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</title>
|
||||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||||
<script type="text/javascript" src="test.js"></script>
|
<script type="text/javascript" src="test.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</h1>
|
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</h1>
|
||||||
|
|
||||||
<iframe src="WinMaxY-quirks.html?notest" style="width:500px"></iframe>
|
<iframe src="WinMaxY-quirks.html?notest" style="width:500px"></iframe>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
$('iframe').test();
|
$('iframe').test();
|
||||||
}, 1500 );
|
}, 1500 );
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Generated
Vendored
+5
-5
@@ -1,11 +1,11 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</title>
|
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</h1>
|
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</h1>
|
||||||
|
|
||||||
<iframe src="WinMaxY-compat.html" />
|
<iframe src="WinMaxY-compat.html" />
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Generated
Vendored
+4
-4
@@ -1,10 +1,10 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</title>
|
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</h1>
|
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</h1>
|
||||||
|
|
||||||
<iframe src="WinMaxY-quirks.html" />
|
<iframe src="WinMaxY-quirks.html" />
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
+17
-17
@@ -1,24 +1,24 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
<title>jQuery.scrollTo Tests</title>
|
<title>jQuery.scrollTo Tests</title>
|
||||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||||
<meta name="description" content="Tests for jQuery ScrollTo. Made by Ariel Flesler." />
|
<meta name="description" content="Tests for jQuery ScrollTo. Made by Ariel Flesler." />
|
||||||
<meta name="robots" content="index,follow" />
|
<meta name="robots" content="index,follow" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>jQuery.scrollTo Tests</h1>
|
<h1>jQuery.scrollTo Tests</h1>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="WinMaxY-compat.html">Max window scrolling (compat mode)</a></li>
|
<li><a href="WinMaxY-compat.html">Max window scrolling (compat mode)</a></li>
|
||||||
<li><a href="WinMaxY-quirks.html">Max window scrolling (quirks mode)</a></li>
|
<li><a href="WinMaxY-quirks.html">Max window scrolling (quirks mode)</a></li>
|
||||||
<li><a href="ElemMaxY-compat.html">Max element scrolling (compat mode)</a></li>
|
<li><a href="ElemMaxY-compat.html">Max element scrolling (compat mode)</a></li>
|
||||||
<li><a href="ElemMaxY-quirks.html">Max element scrolling (quirks mode)</a></li>
|
<li><a href="ElemMaxY-quirks.html">Max element scrolling (quirks mode)</a></li>
|
||||||
<li><a href="WinMaxY-with-iframe-compat.html">Max window scrolling, within an iframe (compat mode)</a></li>
|
<li><a href="WinMaxY-with-iframe-compat.html">Max window scrolling, within an iframe (compat mode)</a></li>
|
||||||
<li><a href="WinMaxY-with-iframe-quirks.html">Max window scrolling, within an iframe (quirks mode)</a></li>
|
<li><a href="WinMaxY-with-iframe-quirks.html">Max window scrolling, within an iframe (quirks mode)</a></li>
|
||||||
<li><a href="WinMaxY-to-iframe-compat.html">Max iframe scrolling from outside (compat mode)</a></li>
|
<li><a href="WinMaxY-to-iframe-compat.html">Max iframe scrolling from outside (compat mode)</a></li>
|
||||||
<li><a href="WinMaxY-to-iframe-quirks.html">Max iframe scrolling from outside (quirks mode)</a></li>
|
<li><a href="WinMaxY-to-iframe-quirks.html">Max iframe scrolling from outside (quirks mode)</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
+5
-5
@@ -55,11 +55,11 @@ For jQuery to work in Node, a window with a document is required. Since no such
|
|||||||
|
|
||||||
```js
|
```js
|
||||||
require("jsdom").env("", function(err, window) {
|
require("jsdom").env("", function(err, window) {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error(err);
|
console.error(err);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var $ = require("jquery")(window);
|
var $ = require("jquery")(window);
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|||||||
+2
-2
@@ -1,8 +1,8 @@
|
|||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<title>Awesome page</title>
|
<title>Awesome page</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
hello world!
|
hello world!
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Generated
Vendored
+2
-2
@@ -1,8 +1,8 @@
|
|||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<title>Other page</title>
|
<title>Other page</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
hello there!
|
hello there!
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -246,11 +246,11 @@ web-0 # apt-get update && apt-get install -y dnsutils
|
|||||||
...
|
...
|
||||||
|
|
||||||
web-0 # nslookup -type=srv nginx.default
|
web-0 # nslookup -type=srv nginx.default
|
||||||
Server: 10.0.0.10
|
Server: 10.0.0.10
|
||||||
Address: 10.0.0.10#53
|
Address: 10.0.0.10#53
|
||||||
|
|
||||||
nginx.default.svc.cluster.local service = 10 50 0 web-1.ub.default.svc.cluster.local.
|
nginx.default.svc.cluster.local service = 10 50 0 web-1.ub.default.svc.cluster.local.
|
||||||
nginx.default.svc.cluster.local service = 10 50 0 web-0.ub.default.svc.cluster.local.
|
nginx.default.svc.cluster.local service = 10 50 0 web-0.ub.default.svc.cluster.local.
|
||||||
```
|
```
|
||||||
|
|
||||||
## Updating a PetSet
|
## Updating a PetSet
|
||||||
|
|||||||
@@ -55,20 +55,20 @@ create the defined ReplicaSet and the pods that it manages.
|
|||||||
$ kubectl create -f frontend.yaml
|
$ kubectl create -f frontend.yaml
|
||||||
replicaset "frontend" created
|
replicaset "frontend" created
|
||||||
$ kubectl describe rs/frontend
|
$ kubectl describe rs/frontend
|
||||||
Name: frontend
|
Name: frontend
|
||||||
Namespace: default
|
Namespace: default
|
||||||
Image(s): gcr.io/google_samples/gb-frontend:v3
|
Image(s): gcr.io/google_samples/gb-frontend:v3
|
||||||
Selector: tier=frontend,tier in (frontend)
|
Selector: tier=frontend,tier in (frontend)
|
||||||
Labels: app=guestbook,tier=frontend
|
Labels: app=guestbook,tier=frontend
|
||||||
Replicas: 3 current / 3 desired
|
Replicas: 3 current / 3 desired
|
||||||
Pods Status: 3 Running / 0 Waiting / 0 Succeeded / 0 Failed
|
Pods Status: 3 Running / 0 Waiting / 0 Succeeded / 0 Failed
|
||||||
No volumes.
|
No volumes.
|
||||||
Events:
|
Events:
|
||||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||||
1m 1m 1 {replicaset-controller } Normal SuccessfulCreate Created pod: frontend-qhloh
|
1m 1m 1 {replicaset-controller } Normal SuccessfulCreate Created pod: frontend-qhloh
|
||||||
1m 1m 1 {replicaset-controller } Normal SuccessfulCreate Created pod: frontend-dnjpy
|
1m 1m 1 {replicaset-controller } Normal SuccessfulCreate Created pod: frontend-dnjpy
|
||||||
1m 1m 1 {replicaset-controller } Normal SuccessfulCreate Created pod: frontend-9si5l
|
1m 1m 1 {replicaset-controller } Normal SuccessfulCreate Created pod: frontend-9si5l
|
||||||
$ kubectl get pods
|
$ kubectl get pods
|
||||||
NAME READY STATUS RESTARTS AGE
|
NAME READY STATUS RESTARTS AGE
|
||||||
frontend-9si5l 1/1 Running 0 1m
|
frontend-9si5l 1/1 Running 0 1m
|
||||||
|
|||||||
@@ -46,29 +46,25 @@ Check on the status of the ReplicationController using this command:
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ kubectl describe replicationcontrollers/nginx
|
$ kubectl describe replicationcontrollers/nginx
|
||||||
Name: nginx
|
Name: nginx
|
||||||
Namespace: default
|
Namespace: default
|
||||||
Image(s): nginx
|
Image(s): nginx
|
||||||
Selector: app=nginx
|
Selector: app=nginx
|
||||||
Labels: app=nginx
|
Labels: app=nginx
|
||||||
Replicas: 3 current / 3 desired
|
Replicas: 3 current / 3 desired
|
||||||
Pods Status: 0 Running / 3 Waiting / 0 Succeeded / 0 Failed
|
Pods Status: 0 Running / 3 Waiting / 0 Succeeded / 0 Failed
|
||||||
Events:
|
Events:
|
||||||
FirstSeen LastSeen Count From
|
FirstSeen LastSeen Count From SubobjectPath Reason Message
|
||||||
SubobjectPath Reason Message
|
Thu, 24 Sep 2015 10:38:20 -0700 Thu, 24 Sep 2015 10:38:20 -0700 1 {replication-controller } SuccessfulCreate Created pod: nginx-qrm3m
|
||||||
Thu, 24 Sep 2015 10:38:20 -0700 Thu, 24 Sep 2015 10:38:20 -0700 1
|
Thu, 24 Sep 2015 10:38:20 -0700 Thu, 24 Sep 2015 10:38:20 -0700 1 {replication-controller } SuccessfulCreate Created pod: nginx-3ntk0
|
||||||
{replication-controller } SuccessfulCreate Created pod: nginx-qrm3m
|
Thu, 24 Sep 2015 10:38:20 -0700 Thu, 24 Sep 2015 10:38:20 -0700 1 {replication-controller } SuccessfulCreate Created pod: nginx-4ok8v
|
||||||
Thu, 24 Sep 2015 10:38:20 -0700 Thu, 24 Sep 2015 10:38:20 -0700 1
|
|
||||||
{replication-controller } SuccessfulCreate Created pod: nginx-3ntk0
|
|
||||||
Thu, 24 Sep 2015 10:38:20 -0700 Thu, 24 Sep 2015 10:38:20 -0700 1
|
|
||||||
{replication-controller } SuccessfulCreate Created pod: nginx-4ok8v
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Here, 3 pods have been made, but none are running yet, perhaps because the image is being pulled.
|
Here, 3 pods have been made, but none are running yet, perhaps because the image is being pulled.
|
||||||
A little later, the same command may show:
|
A little later, the same command may show:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
Pods Status: 3 Running / 0 Waiting / 0 Succeeded / 0 Failed
|
Pods Status: 3 Running / 0 Waiting / 0 Succeeded / 0 Failed
|
||||||
```
|
```
|
||||||
|
|
||||||
To list all the pods that belong to the rc in a machine readable form, you can use a command like this:
|
To list all the pods that belong to the rc in a machine readable form, you can use a command like this:
|
||||||
|
|||||||
@@ -71,17 +71,17 @@ NAME TYPE DATA AGE
|
|||||||
db-user-pass Opaque 2 51s
|
db-user-pass Opaque 2 51s
|
||||||
|
|
||||||
$ kubectl describe secrets/db-user-pass
|
$ kubectl describe secrets/db-user-pass
|
||||||
Name: db-user-pass
|
Name: db-user-pass
|
||||||
Namespace: default
|
Namespace: default
|
||||||
Labels: <none>
|
Labels: <none>
|
||||||
Annotations: <none>
|
Annotations: <none>
|
||||||
|
|
||||||
Type: Opaque
|
Type: Opaque
|
||||||
|
|
||||||
Data
|
Data
|
||||||
====
|
====
|
||||||
password.txt: 13 bytes
|
password.txt: 13 bytes
|
||||||
username.txt: 6 bytes
|
username.txt: 6 bytes
|
||||||
```
|
```
|
||||||
|
|
||||||
Note that neither `get` nor `describe` shows the contents of the file by default.
|
Note that neither `get` nor `describe` shows the contents of the file by default.
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user