Create User Journeys MVP (#4630)
* Create User Journeys
Squashed commits:
[9a360e8] add page link functionality (+1 squashed commit)
Squashed commits:
[1cbefa4] Rework App Dev "I want to..." (+1 squashed commit)
Squashed commits:
[0013eb1] Create User Journeys
* structure 2nd page
* prepare docs/home for user journey portal
* Create sample.html
* Update sample.html
* Update index.md
* Create index.html
* Update index.html
* Update index.html
* Update index.html
* Delete index.html
* add custom js mechanism
* bug fix
* put in docsContent div
* add docsportal layout
* move title from layout into page
* move user-journeys/ into /docs/
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update index.md
* Update style_user_journeys.css
* add initial draft for app dev user journey
* add links, rough outline
* fix a few things before demo/discussion
* rework intro section
* Update index.md
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update index.md
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update index.md
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update index.md
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update index.md
* Update user-journeys.js
* Update index.md
* Update docsportal.html
* Update style_user_journeys.css
* Update docsportal.html
* add and reorganize content for review
* edit mostly minikube install
* Updates squashed (+51 squashed commits)
Squashed commits:
[2e18ea8] Update application_developer-foundational.html
[78fd490] autogenerate home index from toc
[42e89f6] Update application_developer-foundational.html
[a77d7d6] Update application_developer-foundational.html
[0a489be] Update application_developer-foundational.html
[5b4702f] Update style_user_journeys.css
[90035a6] Update application_developer-foundational.html
[db4fb19] Update application_developer-foundational.html
[4188ebc] Update style_user_journeys.css
[aec303b] Update application_developer-foundational.html
[679d7f6] Update style_user_journeys.css
[e8019bf] Update application_developer-foundational.html
[2d91bf6] Update style_user_journeys.css
[56a49a9] Update application_developer-foundational.html
[79cfb6e] Update application_developer-foundational.html
[f3ec0c5] Update application_developer-foundational.html
[756a42e] Update style_user_journeys.css
[208cde1] Update index.md
[66241e4] Update index.md
[ea8df7f] Update style_user_journeys.css
[0778054] Update style.css
[dcd0863] Update user-journeys.js
[4a99502] Update user-journeys.js
[ddf3820] Update user-journeys.js
[9650dfd] Update user-journeys.js
[6773597] Update user-journeys.js
[0e7849e] Update user-journeys.js
[8c99ba7] Update style_user_journeys.css
[68d5a8a] Update user-journeys.js
[45c85fe] Update user-journeys.js
[7bd4a5d] Update index.md
[c53c6cd] Update index.md
[281e4d3] Update style.css
[8e5efae] Update application_developer-foundational.html
[787f78e] add newline to custom js list
[eea0d10] Update style_user_journeys.css
[295b4d3] Update docsportal.html
[49f7130] Update index.md
[0125bc6] Update style_user_journeys.css
[a803584] Update style_user_journeys.css
[5b97319] Update index.md
[0aa34b2] update kubernetes.github.io links
[62c9981] hide "Edit this Page" button for portal
[1fd0226] Update style_user_journeys.css
[bd35646] Update style_user_journeys.css
[d7a8b81] Update style_user_journeys.css
[0c1e459] Update user-journeys.js
[9eb237d] Update style_user_journeys.css
[99685cd] Update index.md
[516079a] Update index.md
[1386033] Update style_user_journeys.css
* add, edit app dev content, links
* move user persona data to yaml
* add links
* edit, reorganize for navigation
* Update style_user_journeys.css
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* add configmaps
* move links
* edits before merge
* union with #5913
* revert and overwrite for clean #5913 merge
* merge in #5913 changes
* fix Travis error
* Refactor JS for User Journeys portal (#6473)
* comment code
* add arbitrary number of info links
* copy file to correct directory, clean up HTML
* add back in current stylesheet refs
* Set default message when no persona selected (#6495)
* comment code
* add arbitrary number of info links
* Set default message when no persona selected
* copy file to correct directory, clean up HTML (#6502)
* copy file to correct directory, clean up HTML
* add back in current stylesheet refs
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update application_developer-foundational.html
* [User Journeys] Add content template (#6523)
* remove deprecated directories
* add user journey content template
* Convert app dev - foundational to md
* support general, non-hard-coded formatting for user journey content pages
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Chenopis uj sprint 20171222 (#6748)
* move section banners out of docsection1 divs
* revert
* liquid hack
* modify js hack
* add intermediate and advanced app developer with scroll
* clean up app dev foundational content
* fix formatting
* remove html pages
* add new pages to toc
* Add Docs Contributor persona links
* rebalance docs contributor links
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update foundational.md
* Update foundational.md
* Update style_user_journeys.css
* resetting cluster ops content into updated format (#6783)
* resetting cluster ops content into updated format
* stage interstitial pages from app_developer user journey
* adding cluster ops user journey interstitial pages to ToC _data
* cluster op overview and initial segment
* move working text into a comment
* initial foundational content for cluster ops
* restructuring
* roughing out intermediate resource content
* add notes/detail from user-journey google doc
reference details on what to cover in foundation/intermediate/adv
sections
* imperative language in "I want to..." content
* update entry page yaml strings
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Remove personas and buttons not in MVP
* Update home.js
* normalize strings for 'I want to' entries
* Reorder Contributor buttons
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update app-developer.yaml
* Sort buttons by index value (#6925)
* Sort buttons by index
* fix bug
* Update app-developer.yaml
* Update app-developer.yaml
* Update app-developer.yaml
* Update intermediate.md
* Update advanced.md
* Add community-contributor links
* change foundational/intermediate/advance topics icons
* update app-developer icons
* add code-contributor links
* remove ecosystem-contributor, renumber contributor indexes
* update links, add KEP link
* reorder contributor personas
* change icon for release process
* stub out cluster operator intermediate UJ
* Set up URL state for user journey combinations of path, persona, level
* add path for about kubernetes, fix formatting and javascript appropriately
* add definition for personas and fix ui spacing
* interim edits to intermediate cluster op user journey
* Update links in Browse Docs portion of home page.
* more intermediate cluster ops content
* adding in logging and monitoring content, as well as additional resource listings
* button - keep words together
* Move about blurb to top of docs/home page (#7000)
* Move about blurb to top of docs/home page
* fix conflict
* retire binary_release.md
* fix blurb formatting (+1 squashed commit)
Squashed commits:
[e2e5032] Add links to blurb
* fix docsportal (+1 squashed commit)
Squashed commits:
[f687e71] add noedit flag
* Fix home ToC
* tweak blurb styling
* reorg docs-home links
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Add some links for Cluster Ops - Advanced Topics (#7130)
* Add some links for Cluster Ops - Advanced Topics
* add back pick right solution
* app developer content
* minor edits
* Choose icons for cluster operator links
* swap logos
2018-01-30 20:23:05 +00:00
---
2018-02-20 22:22:38 +00:00
reviewers:
Create User Journeys MVP (#4630)
* Create User Journeys
Squashed commits:
[9a360e8] add page link functionality (+1 squashed commit)
Squashed commits:
[1cbefa4] Rework App Dev "I want to..." (+1 squashed commit)
Squashed commits:
[0013eb1] Create User Journeys
* structure 2nd page
* prepare docs/home for user journey portal
* Create sample.html
* Update sample.html
* Update index.md
* Create index.html
* Update index.html
* Update index.html
* Update index.html
* Delete index.html
* add custom js mechanism
* bug fix
* put in docsContent div
* add docsportal layout
* move title from layout into page
* move user-journeys/ into /docs/
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update index.md
* Update style_user_journeys.css
* add initial draft for app dev user journey
* add links, rough outline
* fix a few things before demo/discussion
* rework intro section
* Update index.md
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update index.md
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update index.md
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update index.md
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update index.md
* Update user-journeys.js
* Update index.md
* Update docsportal.html
* Update style_user_journeys.css
* Update docsportal.html
* add and reorganize content for review
* edit mostly minikube install
* Updates squashed (+51 squashed commits)
Squashed commits:
[2e18ea8] Update application_developer-foundational.html
[78fd490] autogenerate home index from toc
[42e89f6] Update application_developer-foundational.html
[a77d7d6] Update application_developer-foundational.html
[0a489be] Update application_developer-foundational.html
[5b4702f] Update style_user_journeys.css
[90035a6] Update application_developer-foundational.html
[db4fb19] Update application_developer-foundational.html
[4188ebc] Update style_user_journeys.css
[aec303b] Update application_developer-foundational.html
[679d7f6] Update style_user_journeys.css
[e8019bf] Update application_developer-foundational.html
[2d91bf6] Update style_user_journeys.css
[56a49a9] Update application_developer-foundational.html
[79cfb6e] Update application_developer-foundational.html
[f3ec0c5] Update application_developer-foundational.html
[756a42e] Update style_user_journeys.css
[208cde1] Update index.md
[66241e4] Update index.md
[ea8df7f] Update style_user_journeys.css
[0778054] Update style.css
[dcd0863] Update user-journeys.js
[4a99502] Update user-journeys.js
[ddf3820] Update user-journeys.js
[9650dfd] Update user-journeys.js
[6773597] Update user-journeys.js
[0e7849e] Update user-journeys.js
[8c99ba7] Update style_user_journeys.css
[68d5a8a] Update user-journeys.js
[45c85fe] Update user-journeys.js
[7bd4a5d] Update index.md
[c53c6cd] Update index.md
[281e4d3] Update style.css
[8e5efae] Update application_developer-foundational.html
[787f78e] add newline to custom js list
[eea0d10] Update style_user_journeys.css
[295b4d3] Update docsportal.html
[49f7130] Update index.md
[0125bc6] Update style_user_journeys.css
[a803584] Update style_user_journeys.css
[5b97319] Update index.md
[0aa34b2] update kubernetes.github.io links
[62c9981] hide "Edit this Page" button for portal
[1fd0226] Update style_user_journeys.css
[bd35646] Update style_user_journeys.css
[d7a8b81] Update style_user_journeys.css
[0c1e459] Update user-journeys.js
[9eb237d] Update style_user_journeys.css
[99685cd] Update index.md
[516079a] Update index.md
[1386033] Update style_user_journeys.css
* add, edit app dev content, links
* move user persona data to yaml
* add links
* edit, reorganize for navigation
* Update style_user_journeys.css
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* add configmaps
* move links
* edits before merge
* union with #5913
* revert and overwrite for clean #5913 merge
* merge in #5913 changes
* fix Travis error
* Refactor JS for User Journeys portal (#6473)
* comment code
* add arbitrary number of info links
* copy file to correct directory, clean up HTML
* add back in current stylesheet refs
* Set default message when no persona selected (#6495)
* comment code
* add arbitrary number of info links
* Set default message when no persona selected
* copy file to correct directory, clean up HTML (#6502)
* copy file to correct directory, clean up HTML
* add back in current stylesheet refs
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update application_developer-foundational.html
* [User Journeys] Add content template (#6523)
* remove deprecated directories
* add user journey content template
* Convert app dev - foundational to md
* support general, non-hard-coded formatting for user journey content pages
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Chenopis uj sprint 20171222 (#6748)
* move section banners out of docsection1 divs
* revert
* liquid hack
* modify js hack
* add intermediate and advanced app developer with scroll
* clean up app dev foundational content
* fix formatting
* remove html pages
* add new pages to toc
* Add Docs Contributor persona links
* rebalance docs contributor links
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update foundational.md
* Update foundational.md
* Update style_user_journeys.css
* resetting cluster ops content into updated format (#6783)
* resetting cluster ops content into updated format
* stage interstitial pages from app_developer user journey
* adding cluster ops user journey interstitial pages to ToC _data
* cluster op overview and initial segment
* move working text into a comment
* initial foundational content for cluster ops
* restructuring
* roughing out intermediate resource content
* add notes/detail from user-journey google doc
reference details on what to cover in foundation/intermediate/adv
sections
* imperative language in "I want to..." content
* update entry page yaml strings
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Remove personas and buttons not in MVP
* Update home.js
* normalize strings for 'I want to' entries
* Reorder Contributor buttons
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update app-developer.yaml
* Sort buttons by index value (#6925)
* Sort buttons by index
* fix bug
* Update app-developer.yaml
* Update app-developer.yaml
* Update app-developer.yaml
* Update intermediate.md
* Update advanced.md
* Add community-contributor links
* change foundational/intermediate/advance topics icons
* update app-developer icons
* add code-contributor links
* remove ecosystem-contributor, renumber contributor indexes
* update links, add KEP link
* reorder contributor personas
* change icon for release process
* stub out cluster operator intermediate UJ
* Set up URL state for user journey combinations of path, persona, level
* add path for about kubernetes, fix formatting and javascript appropriately
* add definition for personas and fix ui spacing
* interim edits to intermediate cluster op user journey
* Update links in Browse Docs portion of home page.
* more intermediate cluster ops content
* adding in logging and monitoring content, as well as additional resource listings
* button - keep words together
* Move about blurb to top of docs/home page (#7000)
* Move about blurb to top of docs/home page
* fix conflict
* retire binary_release.md
* fix blurb formatting (+1 squashed commit)
Squashed commits:
[e2e5032] Add links to blurb
* fix docsportal (+1 squashed commit)
Squashed commits:
[f687e71] add noedit flag
* Fix home ToC
* tweak blurb styling
* reorg docs-home links
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Add some links for Cluster Ops - Advanced Topics (#7130)
* Add some links for Cluster Ops - Advanced Topics
* add back pick right solution
* app developer content
* minor edits
* Choose icons for cluster operator links
* swap logos
2018-01-30 20:23:05 +00:00
- chenopis
layout: docsportal
css: /css/style_user_journeys.css, https://fonts.googleapis.com/icon?family=Material+Icons
js: https://use.fontawesome.com/4bcc658a89.js, https://cdnjs.cloudflare.com/ajax/libs/prefixfree/1.0.7/prefixfree.min.js
title: Advanced Topics
track: "USERS › APPLICATION DEVELOPER › ADVANCED"
---
{% capture overview %}
{: .note }
This page assumes that you're familiar with core Kubernetes concepts, and are comfortable deploying your own apps. If not, you should review the [Intermediate App Developer ](/docs/user-journeys/users/application-developer/intermediate/ ){:target="_blank"} topics first.
After checking out the current page and its linked sections, you should have a better understanding of the following:
* Advanced features that you can leverage in your application
* The various ways of extending the Kubernetes API
{% endcapture %}
{% capture body %}
## Deploy an application with advanced features
Now you know the set of API objects that Kubernetes provides. Understanding the difference between a {% glossary_tooltip term_id="daemonset" %} and a {% glossary_tooltip term_id="deployment" %} is oftentimes sufficient for app deployment. That being said, it's also worth familiarizing yourself with Kubernetes's lesser known features. They can be quite powerful when applied to the right use cases.
#### Container-level features
As you may know, it's an antipattern to migrate an entire app (e.g. containerized Rails app, MySQL database, and all) into a single Pod. That being said, there are some very useful patterns that go beyond a 1:1 correspondence between a container and its Pod:
2018-02-04 22:06:04 +00:00
* **Sidecar container**: Although your Pod should still have a single main container, you can add a secondary container that acts as a helper (see a [logging example ](/docs/concepts/cluster-administration/logging/#sidecar-container-with-a-logging-agent ){:target="_blank"}). Two containers within a single Pod can communicate [via a shared volume ](/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume/ ){:target="_blank"}.
Create User Journeys MVP (#4630)
* Create User Journeys
Squashed commits:
[9a360e8] add page link functionality (+1 squashed commit)
Squashed commits:
[1cbefa4] Rework App Dev "I want to..." (+1 squashed commit)
Squashed commits:
[0013eb1] Create User Journeys
* structure 2nd page
* prepare docs/home for user journey portal
* Create sample.html
* Update sample.html
* Update index.md
* Create index.html
* Update index.html
* Update index.html
* Update index.html
* Delete index.html
* add custom js mechanism
* bug fix
* put in docsContent div
* add docsportal layout
* move title from layout into page
* move user-journeys/ into /docs/
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update index.md
* Update style_user_journeys.css
* add initial draft for app dev user journey
* add links, rough outline
* fix a few things before demo/discussion
* rework intro section
* Update index.md
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update index.md
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update index.md
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update index.md
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update index.md
* Update user-journeys.js
* Update index.md
* Update docsportal.html
* Update style_user_journeys.css
* Update docsportal.html
* add and reorganize content for review
* edit mostly minikube install
* Updates squashed (+51 squashed commits)
Squashed commits:
[2e18ea8] Update application_developer-foundational.html
[78fd490] autogenerate home index from toc
[42e89f6] Update application_developer-foundational.html
[a77d7d6] Update application_developer-foundational.html
[0a489be] Update application_developer-foundational.html
[5b4702f] Update style_user_journeys.css
[90035a6] Update application_developer-foundational.html
[db4fb19] Update application_developer-foundational.html
[4188ebc] Update style_user_journeys.css
[aec303b] Update application_developer-foundational.html
[679d7f6] Update style_user_journeys.css
[e8019bf] Update application_developer-foundational.html
[2d91bf6] Update style_user_journeys.css
[56a49a9] Update application_developer-foundational.html
[79cfb6e] Update application_developer-foundational.html
[f3ec0c5] Update application_developer-foundational.html
[756a42e] Update style_user_journeys.css
[208cde1] Update index.md
[66241e4] Update index.md
[ea8df7f] Update style_user_journeys.css
[0778054] Update style.css
[dcd0863] Update user-journeys.js
[4a99502] Update user-journeys.js
[ddf3820] Update user-journeys.js
[9650dfd] Update user-journeys.js
[6773597] Update user-journeys.js
[0e7849e] Update user-journeys.js
[8c99ba7] Update style_user_journeys.css
[68d5a8a] Update user-journeys.js
[45c85fe] Update user-journeys.js
[7bd4a5d] Update index.md
[c53c6cd] Update index.md
[281e4d3] Update style.css
[8e5efae] Update application_developer-foundational.html
[787f78e] add newline to custom js list
[eea0d10] Update style_user_journeys.css
[295b4d3] Update docsportal.html
[49f7130] Update index.md
[0125bc6] Update style_user_journeys.css
[a803584] Update style_user_journeys.css
[5b97319] Update index.md
[0aa34b2] update kubernetes.github.io links
[62c9981] hide "Edit this Page" button for portal
[1fd0226] Update style_user_journeys.css
[bd35646] Update style_user_journeys.css
[d7a8b81] Update style_user_journeys.css
[0c1e459] Update user-journeys.js
[9eb237d] Update style_user_journeys.css
[99685cd] Update index.md
[516079a] Update index.md
[1386033] Update style_user_journeys.css
* add, edit app dev content, links
* move user persona data to yaml
* add links
* edit, reorganize for navigation
* Update style_user_journeys.css
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* add configmaps
* move links
* edits before merge
* union with #5913
* revert and overwrite for clean #5913 merge
* merge in #5913 changes
* fix Travis error
* Refactor JS for User Journeys portal (#6473)
* comment code
* add arbitrary number of info links
* copy file to correct directory, clean up HTML
* add back in current stylesheet refs
* Set default message when no persona selected (#6495)
* comment code
* add arbitrary number of info links
* Set default message when no persona selected
* copy file to correct directory, clean up HTML (#6502)
* copy file to correct directory, clean up HTML
* add back in current stylesheet refs
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update application_developer-foundational.html
* [User Journeys] Add content template (#6523)
* remove deprecated directories
* add user journey content template
* Convert app dev - foundational to md
* support general, non-hard-coded formatting for user journey content pages
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Chenopis uj sprint 20171222 (#6748)
* move section banners out of docsection1 divs
* revert
* liquid hack
* modify js hack
* add intermediate and advanced app developer with scroll
* clean up app dev foundational content
* fix formatting
* remove html pages
* add new pages to toc
* Add Docs Contributor persona links
* rebalance docs contributor links
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update foundational.md
* Update foundational.md
* Update style_user_journeys.css
* resetting cluster ops content into updated format (#6783)
* resetting cluster ops content into updated format
* stage interstitial pages from app_developer user journey
* adding cluster ops user journey interstitial pages to ToC _data
* cluster op overview and initial segment
* move working text into a comment
* initial foundational content for cluster ops
* restructuring
* roughing out intermediate resource content
* add notes/detail from user-journey google doc
reference details on what to cover in foundation/intermediate/adv
sections
* imperative language in "I want to..." content
* update entry page yaml strings
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Remove personas and buttons not in MVP
* Update home.js
* normalize strings for 'I want to' entries
* Reorder Contributor buttons
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update app-developer.yaml
* Sort buttons by index value (#6925)
* Sort buttons by index
* fix bug
* Update app-developer.yaml
* Update app-developer.yaml
* Update app-developer.yaml
* Update intermediate.md
* Update advanced.md
* Add community-contributor links
* change foundational/intermediate/advance topics icons
* update app-developer icons
* add code-contributor links
* remove ecosystem-contributor, renumber contributor indexes
* update links, add KEP link
* reorder contributor personas
* change icon for release process
* stub out cluster operator intermediate UJ
* Set up URL state for user journey combinations of path, persona, level
* add path for about kubernetes, fix formatting and javascript appropriately
* add definition for personas and fix ui spacing
* interim edits to intermediate cluster op user journey
* Update links in Browse Docs portion of home page.
* more intermediate cluster ops content
* adding in logging and monitoring content, as well as additional resource listings
* button - keep words together
* Move about blurb to top of docs/home page (#7000)
* Move about blurb to top of docs/home page
* fix conflict
* retire binary_release.md
* fix blurb formatting (+1 squashed commit)
Squashed commits:
[e2e5032] Add links to blurb
* fix docsportal (+1 squashed commit)
Squashed commits:
[f687e71] add noedit flag
* Fix home ToC
* tweak blurb styling
* reorg docs-home links
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Add some links for Cluster Ops - Advanced Topics (#7130)
* Add some links for Cluster Ops - Advanced Topics
* add back pick right solution
* app developer content
* minor edits
* Choose icons for cluster operator links
* swap logos
2018-01-30 20:23:05 +00:00
* **Init containers**: *Init containers* run before any of a Pod's *app containers* (such as main and sidecar containers). [Read more ](/docs/concepts/workloads/pods/init-containers/ ){:target="_blank"}, see an [nginx server example ](/docs/tasks/configure-pod-container/configure-pod-initialization/ ){:target="_blank"}, and [learn how to debug these containers ](/docs/tasks/debug-application-cluster/debug-init-containers/ ){:target="_blank"}.
#### Pod configuration
2018-02-23 18:01:45 +00:00
Usually, you use {% glossary_tooltip text="labels" term_id="label" %} and {% glossary_tooltip text="annotations" term_id="annotation" %} to attach metadata to your resources. To inject data into your resources, you'd likely create {% glossary_tooltip text="ConfigMaps" term_id="configmap" %} (for nonconfidential data) or {% glossary_tooltip text="Secrets" term_id="secret" %} (for confidential data).
Create User Journeys MVP (#4630)
* Create User Journeys
Squashed commits:
[9a360e8] add page link functionality (+1 squashed commit)
Squashed commits:
[1cbefa4] Rework App Dev "I want to..." (+1 squashed commit)
Squashed commits:
[0013eb1] Create User Journeys
* structure 2nd page
* prepare docs/home for user journey portal
* Create sample.html
* Update sample.html
* Update index.md
* Create index.html
* Update index.html
* Update index.html
* Update index.html
* Delete index.html
* add custom js mechanism
* bug fix
* put in docsContent div
* add docsportal layout
* move title from layout into page
* move user-journeys/ into /docs/
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update index.md
* Update style_user_journeys.css
* add initial draft for app dev user journey
* add links, rough outline
* fix a few things before demo/discussion
* rework intro section
* Update index.md
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update index.md
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update index.md
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update index.md
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update index.md
* Update index.md
* Update index.md
* Update user-journeys.js
* Update index.md
* Update docsportal.html
* Update style_user_journeys.css
* Update docsportal.html
* add and reorganize content for review
* edit mostly minikube install
* Updates squashed (+51 squashed commits)
Squashed commits:
[2e18ea8] Update application_developer-foundational.html
[78fd490] autogenerate home index from toc
[42e89f6] Update application_developer-foundational.html
[a77d7d6] Update application_developer-foundational.html
[0a489be] Update application_developer-foundational.html
[5b4702f] Update style_user_journeys.css
[90035a6] Update application_developer-foundational.html
[db4fb19] Update application_developer-foundational.html
[4188ebc] Update style_user_journeys.css
[aec303b] Update application_developer-foundational.html
[679d7f6] Update style_user_journeys.css
[e8019bf] Update application_developer-foundational.html
[2d91bf6] Update style_user_journeys.css
[56a49a9] Update application_developer-foundational.html
[79cfb6e] Update application_developer-foundational.html
[f3ec0c5] Update application_developer-foundational.html
[756a42e] Update style_user_journeys.css
[208cde1] Update index.md
[66241e4] Update index.md
[ea8df7f] Update style_user_journeys.css
[0778054] Update style.css
[dcd0863] Update user-journeys.js
[4a99502] Update user-journeys.js
[ddf3820] Update user-journeys.js
[9650dfd] Update user-journeys.js
[6773597] Update user-journeys.js
[0e7849e] Update user-journeys.js
[8c99ba7] Update style_user_journeys.css
[68d5a8a] Update user-journeys.js
[45c85fe] Update user-journeys.js
[7bd4a5d] Update index.md
[c53c6cd] Update index.md
[281e4d3] Update style.css
[8e5efae] Update application_developer-foundational.html
[787f78e] add newline to custom js list
[eea0d10] Update style_user_journeys.css
[295b4d3] Update docsportal.html
[49f7130] Update index.md
[0125bc6] Update style_user_journeys.css
[a803584] Update style_user_journeys.css
[5b97319] Update index.md
[0aa34b2] update kubernetes.github.io links
[62c9981] hide "Edit this Page" button for portal
[1fd0226] Update style_user_journeys.css
[bd35646] Update style_user_journeys.css
[d7a8b81] Update style_user_journeys.css
[0c1e459] Update user-journeys.js
[9eb237d] Update style_user_journeys.css
[99685cd] Update index.md
[516079a] Update index.md
[1386033] Update style_user_journeys.css
* add, edit app dev content, links
* move user persona data to yaml
* add links
* edit, reorganize for navigation
* Update style_user_journeys.css
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* add configmaps
* move links
* edits before merge
* union with #5913
* revert and overwrite for clean #5913 merge
* merge in #5913 changes
* fix Travis error
* Refactor JS for User Journeys portal (#6473)
* comment code
* add arbitrary number of info links
* copy file to correct directory, clean up HTML
* add back in current stylesheet refs
* Set default message when no persona selected (#6495)
* comment code
* add arbitrary number of info links
* Set default message when no persona selected
* copy file to correct directory, clean up HTML (#6502)
* copy file to correct directory, clean up HTML
* add back in current stylesheet refs
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update application_developer-foundational.html
* [User Journeys] Add content template (#6523)
* remove deprecated directories
* add user journey content template
* Convert app dev - foundational to md
* support general, non-hard-coded formatting for user journey content pages
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Update application_developer-foundational.html
* Chenopis uj sprint 20171222 (#6748)
* move section banners out of docsection1 divs
* revert
* liquid hack
* modify js hack
* add intermediate and advanced app developer with scroll
* clean up app dev foundational content
* fix formatting
* remove html pages
* add new pages to toc
* Add Docs Contributor persona links
* rebalance docs contributor links
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update foundational.md
* Update foundational.md
* Update style_user_journeys.css
* resetting cluster ops content into updated format (#6783)
* resetting cluster ops content into updated format
* stage interstitial pages from app_developer user journey
* adding cluster ops user journey interstitial pages to ToC _data
* cluster op overview and initial segment
* move working text into a comment
* initial foundational content for cluster ops
* restructuring
* roughing out intermediate resource content
* add notes/detail from user-journey google doc
reference details on what to cover in foundation/intermediate/adv
sections
* imperative language in "I want to..." content
* update entry page yaml strings
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Remove personas and buttons not in MVP
* Update home.js
* normalize strings for 'I want to' entries
* Reorder Contributor buttons
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update app-developer.yaml
* Sort buttons by index value (#6925)
* Sort buttons by index
* fix bug
* Update app-developer.yaml
* Update app-developer.yaml
* Update app-developer.yaml
* Update intermediate.md
* Update advanced.md
* Add community-contributor links
* change foundational/intermediate/advance topics icons
* update app-developer icons
* add code-contributor links
* remove ecosystem-contributor, renumber contributor indexes
* update links, add KEP link
* reorder contributor personas
* change icon for release process
* stub out cluster operator intermediate UJ
* Set up URL state for user journey combinations of path, persona, level
* add path for about kubernetes, fix formatting and javascript appropriately
* add definition for personas and fix ui spacing
* interim edits to intermediate cluster op user journey
* Update links in Browse Docs portion of home page.
* more intermediate cluster ops content
* adding in logging and monitoring content, as well as additional resource listings
* button - keep words together
* Move about blurb to top of docs/home page (#7000)
* Move about blurb to top of docs/home page
* fix conflict
* retire binary_release.md
* fix blurb formatting (+1 squashed commit)
Squashed commits:
[e2e5032] Add links to blurb
* fix docsportal (+1 squashed commit)
Squashed commits:
[f687e71] add noedit flag
* Fix home ToC
* tweak blurb styling
* reorg docs-home links
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Update style_user_journeys.css
* Add some links for Cluster Ops - Advanced Topics (#7130)
* Add some links for Cluster Ops - Advanced Topics
* add back pick right solution
* app developer content
* minor edits
* Choose icons for cluster operator links
* swap logos
2018-01-30 20:23:05 +00:00
Below are some other, lesser-known ways of configuring your resources' Pods:
* **Taints and Tolerations** - These provide a way for nodes to "attract" or "repel" your Pods. They are often used when an application needs to be deployed onto specific hardware, such as GPUs for scientific computing. [Read more ](/docs/concepts/configuration/taint-and-toleration/ ){:target="_blank"}.
* **Downward API** - This allows your containers to consume information about themselves or the cluster, without being overly coupled to the Kubernetes API server. This can be achieved with [environment variables ](/docs/tasks/inject-data-application/environment-variable-expose-pod-information/ ){:target="_blank"} or [DownwardAPIVolumeFiles ](/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information/ ){:target="_blank"}.
* **Pod Presets** - Normally, to mount runtime requirements (such as environmental variables, ConfigMaps, and Secrets) into a resource, you specify them in the resource's configuration file. [PodPresets ](/docs/concepts/workloads/pods/podpreset/ ){:target="_blank"} allow you to dynamically inject these requirements instead, when the resource is created. For instance, this allows team A to mount any number of new Secrets into the resources created by teams B and C, without requiring action from B and C. [See an example ](/docs/tasks/inject-data-application/podpreset/ ){:target="_blank"}.
#### Additional API Objects
{: .note }
Before setting up the following resources, check to see if they are the responsibility of your organization's {% glossary_tooltip text="cluster operators" term_id="cluster-operator" %}.
* **{% glossary_tooltip text="Horizontal Pod Autoscaler (HPA)" term_id="horizontal-pod-autoscaler" %}** - These resources are a great way to automate the process of scaling your application when CPU usage or other [custom metrics ](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/instrumentation/custom-metrics-api.md ){:target="_blank"} spike. [See an example ](/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/ ){:target="_blank"} to understand how HPAs are set up.
* **Federated cluster objects** - If you are running an application on multiple Kubernetes clusters using *federation* , you need to deploy the federated version of the standard Kubernetes API objects. For reference, check out the guides for setting up [Federated ConfigMaps ](/docs/tasks/administer-federation/configmap/ ){:target="_blank"} and [Federated Deployments ](/docs/tasks/administer-federation/deployment/ ){:target="_blank"}.
## Extend the Kubernetes API
Kubernetes is designed with extensibility in mind. If the API resources and features mentioned above are not enough for your needs, there are ways to customize its behavior without having to modify core Kubernetes code.
#### Understand Kubernetes's default behavior
Before making any customizations, it's important that you understand the general abstraction behind Kubernetes API objects. Although Deployments and Secrets may seem quite different, the following concepts are true for *any* object:
* **Kubernetes objects are a way of storing structured data about your cluster.**
In the case of Deployments, this data represents desired state (such as "How many replicas should be running?"), but it can also be general metadata (such as database credentials).
* **Kubernetes objects are modified via the {% glossary_tooltip text="Kubernetes API" term_id="kubernetes-api" %}**.
In other words, you can make `GET` and `POST` requests to a specific resource path (such as `<api-server-url>/api/v1/namespaces/default/deployments` ) to read and write the corresponding object type.
* **By leveraging the [Controller pattern ](/docs/concepts/api-extension/custom-resources/#custom-controllers ){:target="_blank"}, Kubernetes objects can be used to enforce desired state**. For simplicity, you can think of the Controller pattern as the following continuous loop:
< div class = "emphasize-box" markdown = "1" >
1. Check current state (number of replicas, container image, etc)
2. Compare current state to desired state
3. Update if there's a mismatch
< / div >
These states are obtained from the Kubernetes API.
{: .note }
Not all Kubernetes objects need to have a Controller. Though Deployments trigger the cluster to make state changes, ConfigMaps act purely as storage.
#### Create Custom Resources
Based on the ideas above, you can define a new [Custom Resource ](/docs/concepts/api-extension/custom-resources/#custom-resources ){:target="_blank"} that is just as legitimate as a Deployment. For example, you might want to define a `Backup` object for periodic backups, if `CronJobs` don't provide all the functionality you need.
There are two main ways of setting up custom resources:
1. **Custom Resource Definitions (CRDs)** - This method requires the least amount of implementation work. See [an example ](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/ ){:target="_blank"}.
2. **API aggregation** - This method requires some [pre-configuration ](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/ ){:target="_blank"} before you actually [set up a separate, extension API server ](/docs/tasks/access-kubernetes-api/setup-extension-api-server/ ){:target="_blank"}.
Note that unlike standard Kubernetes objects, which rely on the built-in [`kube-controller-manager` ](/docs/reference/generated/kube-controller-manager/ ){:target="_blank"}, you'll need to write and run your own [custom controllers ](https://github.com/kubernetes/sample-controller ){:target="_blank"}.
You may also find the following info helpful:
* [How to know if custom resources are right for your use case ](/docs/concepts/api-extension/custom-resources/#should-i-use-a-configmap-or-a-custom-resource ){:target="_blank"}
* [How to decide between CRDs and API aggregation ](/docs/concepts/api-extension/custom-resources/#choosing-a-method-for-adding-custom-resources ){:target="_blank"}
#### Service Catalog
If you want to consume or provide complete services (rather than individual resources), ** {% glossary_tooltip text="Service Catalog" term_id="service-catalog" %}** provides a [specification ](https://github.com/openservicebrokerapi/servicebroker ){:target="_blank"} for doing so. These services are registered using {% glossary_tooltip text="Service Brokers" term_id="service-broker" %} (see [some examples ](https://github.com/openservicebrokerapi/servicebroker/blob/master/gettingStarted.md#example-service-brokers ){:target="_blank"}).
If you do not have a {% glossary_tooltip text="cluster operator" term_id="cluster-operator" %} to manage the installation of Service Catalog, you can do so using [Helm ](/docs/tasks/service-catalog/install-service-catalog-using-helm/ ){:target="_blank"} or an [installer binary ](/docs/tasks/service-catalog/install-service-catalog-using-sc/ ){:target="_blank"}.
## Explore additional resources
#### References
The following topics are also useful for building more complex applications:
* [Other points of extensibility within Kubernetes ](/docs/concepts/overview/extending/ ){:target="_blank"} - A conceptual overview of where you can hook into the Kubernetes architecture.
* [Kubernetes Client Libraries ](/docs/reference/client-libraries/ ){:target="_blank"} - Useful for building apps that need to interact heavily with the Kubernetes API.
#### What's next
Congrats on completing the Application Developer user journey! You've covered the majority of features that Kubernetes has to offer. What now?
* If you'd like to suggest new features or keep up with the latest developments around Kubernetes app development, consider joining a {% glossary_tooltip term_id="sig" %} such as [SIG Apps ](https://github.com/kubernetes/community/tree/master/sig-apps ){:target="_blank"}.
* If you are interested in learning more about the inner workings of Kubernetes (e.g. networking), consider checking out the [Cluster Operator journey ](/docs/user-journeys/users/cluster-operator/foundational/ ){:target="_blank"}.
{% endcapture %}
{% include templates/user-journey-content.md %}