Skip to content
This repository has been archived by the owner on Oct 16, 2018. It is now read-only.

Bring dev/1.12 to release/1.12 #28

Merged
merged 285 commits into from
Sep 2, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
285 commits
Select commit Hold shift + click to select a range
c56ff58
Update training overview (#9378)
jonasmellquist Jul 17, 2018
5874f99
update homepage banner so it's less cropped (#9391)
alexcontini Jul 17, 2018
6f55bb0
Format code style (#9055)
angao Jul 17, 2018
1b03b19
apply content_template (#9136)
makocchi-git Jul 17, 2018
08d06e0
very minor change to url syntax (#9543)
jimangel Jul 17, 2018
4c9b297
Reworked API reference doc (#9536)
tengqm Jul 17, 2018
c05bf93
Fix typo in persistent-volumes.md (#9550)
Azef Jul 17, 2018
71c8b96
Fix id string for kube-proxy glossary term (#9551)
kbhawkey Jul 17, 2018
3c33dcb
Update horizontal-pod-autoscale.md (#9546)
apsureda Jul 17, 2018
4aaa353
Update feature-gates.md (#9320)
stewart-yu Jul 18, 2018
1f90f06
Replacing the example IP address by something that could exists. (#9120)
lmcarreiro Jul 18, 2018
4da4a6d
Fix doc (#9564)
matheusneder Jul 18, 2018
d8861f9
Update service.md (#9562)
apsureda Jul 18, 2018
40f4082
Add when storage key name changed (#9532)
c-knowles Jul 18, 2018
bee35a3
Fix issues in configure-volume-storage (#9521)
lanchongyizu Jul 18, 2018
85a2391
change to "host namespaces" and remove command prompts (#9553)
makocchi-git Jul 18, 2018
3ecba1e
changing button spacing (#8963)
kbarnard10 Jul 18, 2018
b1c3af7
Fix link to website in Airflow Blogpost (#9338)
koep Jul 18, 2018
44b3e5b
Blog: 11 Ways (Not) to Get Hacked (#8914)
sublimino Jul 18, 2018
78a9248
updates to Pearson case study content (#9483)
alexcontini Jul 18, 2018
7aa07a4
apply templates/concept and fix code snippets (#9540)
makocchi-git Jul 18, 2018
c8636e6
updates to order of case studies (#9545)
alexcontini Jul 18, 2018
7960161
fix some dumplication_problem (#9235)
lijianfeng1993 Jul 18, 2018
836629c
Update extensible admission controller links (#9459)
Jul 18, 2018
78cdd21
Add kublr to list of solutions (#9544)
uthark Jul 18, 2018
da8fa82
statefulset.md - Beta remnants removed (#9522)
consideRatio Jul 18, 2018
eb0d63e
Fix some error about fluentd config file (#9528)
pengdake Jul 18, 2018
edec8a8
Fix type in docs (#8939)
tejal29 Jul 18, 2018
c4396fd
Update authentication.md (#9565)
michaelc0n Jul 18, 2018
179701e
Fix doc references to Kubernetes services provided by AWS, Azure and …
cimomo Jul 18, 2018
d82f928
update authorization-node links (#9462)
Jul 18, 2018
2d086cb
include supported version skew (#9501)
hidekif Jul 18, 2018
f140cbc
Update create-pull-request.md (#9488)
Jul 18, 2018
bf109b4
Update authorization links (#9465)
Jul 18, 2018
78eafc7
update bootstrap-token links (#9456)
Jul 18, 2018
bb818a9
Make macOS standard usage (#9422)
lucperkins Jul 18, 2018
e017d92
Add note for fluentd plugin installation (#9451)
pengdake Jul 18, 2018
f9ce82e
Add guide for getting token and discovery-token-ca-cert-hash (#9017)
yujunz Jul 18, 2018
4a37596
apply content template (#9232)
makocchi-git Jul 18, 2018
ddf1e9c
Environment variable for etcd quorum is singular (#9302)
mbrannock Jul 18, 2018
05da38f
Drop {% raw %} block in manage-compute-resources-container (#9428)
philpep Jul 18, 2018
f0e2876
Fixes to example for connecting with curl (#9337)
craigbox Jul 18, 2018
764a751
Fix the semantically very broken search box (#9408)
chris-morgan Jul 18, 2018
e472159
apply templates/concept (#9539)
makocchi-git Jul 18, 2018
c0af4f7
update service-accounts-admin links (#9461)
Jul 18, 2018
76b7f9c
Trivial: Make the authentication doc consistent (#9472)
Jul 18, 2018
2ee2e9d
Update authorization-rbac links (#9463)
Jul 18, 2018
1e554ef
reorganize kubeadm files, part 1 (#9439)
Bradamant3 Jul 18, 2018
2c50177
Update admission controller links (#9386)
Jul 18, 2018
fd37837
The command to copy the decoded certificate to the server.crt (#9448)
EmilyNamugaanyi Jul 18, 2018
b773f9f
apply templates/concept and fix code snippets (#9542)
makocchi-git Jul 18, 2018
c5f6b39
Change formatting of Stackpoint turnkey doc (#9493)
lucperkins Jul 18, 2018
22ec331
Add env var example (#9486)
lucperkins Jul 18, 2018
34fb733
Adding anchor links to partner page (#9411)
kbarnard10 Jul 18, 2018
7c9a198
Add CNCF logo to homepage (#9375)
kbarnard10 Jul 18, 2018
92baa2b
Fix dead links and apply template (#9476)
makocchi-git Jul 18, 2018
5c39bc3
Adding redirects for turnkey docs. (#9426)
benpriestman Jul 18, 2018
700446d
Update fedora_manual_config.md (#9416)
jw-networking Jul 18, 2018
41cc078
update the go client usage to prevent common error. (#9414)
Jul 18, 2018
28fb41f
fix-manage-compute-resources-container-view (#9402)
tiny1990 Jul 18, 2018
8b00a58
tweak crictl.md (#9349)
makocchi-git Jul 18, 2018
5f70682
Enhance documentation of .spec.startingDeadlineSeconds (#9296)
heshamMassoud Jul 19, 2018
7f97e02
Supplement documentation of ExternalName service types (#9435)
lucperkins Jul 19, 2018
269e3fd
inline code block is not displayed (#8940)
lambda2 Jul 19, 2018
fa657b7
Recommend --watch flag for obtaining external IP information (issue 8…
lucperkins Jul 19, 2018
7bed469
Update references to Federation-v2 progress (#9116)
onyiny-ang Jul 19, 2018
9317dcf
Add new field selectors doc (#9174)
lucperkins Jul 19, 2018
bac30c0
fix double bullets in TOC (#9175)
makocchi-git Jul 19, 2018
ce190e7
docs/concepts: add search paths for docker config (#9085)
zhouhaibing089 Jul 19, 2018
9d3c15c
Add L10n repo branch structure info (#9206)
chenopis Jul 19, 2018
d92f1fd
Trivial Doc Fix (#9580)
poothia Jul 19, 2018
c73b7d0
fix: blog post clarity (#9578)
sublimino Jul 19, 2018
daa846b
Trivial typo fix (#9575)
tengqm Jul 19, 2018
b8226ae
Remove rkt-api-endpoint and rkt-path arguments in the doc (#9538) (#9…
Farice4 Jul 19, 2018
84f9f16
Fix reference to install-kubeadm docs (#9573)
cimomo Jul 19, 2018
427ac2a
updates to ING quotes (#9582)
alexcontini Jul 19, 2018
30e76b2
Fix deployment.md with wrong READY numbers (#9584)
caishan2018 Jul 19, 2018
5b40aad
oscon post (#9586)
kbarnard10 Jul 19, 2018
13e1fba
Add mention of NGINX Ingress Controller for Kubernetes (#9228)
faisal-memon Jul 19, 2018
98c8809
Update cron-jobs.md (#9234)
erstaples Jul 19, 2018
35362f7
Add Kontena Pharos as K8s solutions (#9166)
jakolehm Jul 19, 2018
7b7efca
adding cni.md (#8760)
codelearner3012 Jul 20, 2018
238164c
update from GCE to GKE (#8881)
michaelc0n Jul 20, 2018
60ae386
Fix pipe to base64 -d to -D (#8943)
ch4nd4n Jul 20, 2018
b97002f
Fix command highlight in port-forward-access-application-cluster (#8705)
cstoku Jul 20, 2018
95247dc
fix: typo, reword (#9587)
sublimino Jul 20, 2018
e4ce692
Add ICP license to the site footer (#9589)
zacharysarah Jul 20, 2018
83f9560
adding oscon post (#9595)
kbarnard10 Jul 20, 2018
9a62e82
Update pod-lifecycle.md (#9593)
apsureda Jul 20, 2018
11f3813
Update /docs/concepts/containers/images/ (#9596)
makocchi-git Jul 20, 2018
1678936
remove command prompts and tweak shell commands (#9597)
makocchi-git Jul 20, 2018
b9b3925
apply content_template (#9598)
makocchi-git Jul 20, 2018
487c243
apply content_template (#9599)
makocchi-git Jul 20, 2018
a9b1cdb
Updated dns-pod-service.md (#9552)
dsalamancaMS Jul 20, 2018
3270da5
kubeadm-install: modify the note about kubelet cgroup drivers (#9541)
neolit123 Jul 20, 2018
5afc04d
Make the command work with multiple pods too (#9454)
mastrolinux Jul 20, 2018
5d46d72
Note on missing/incorrect labels and scheduler behaviour with pod ant…
embano1 Jul 20, 2018
7817e90
fix replicaset example (#9603)
CaoShuFeng Jul 22, 2018
3ce9151
Fix display of lists in scheduling-gpus.md (#9609)
ajaeger Jul 23, 2018
5472265
Fix contribution guide about adding code samples (#9574)
tengqm Jul 23, 2018
395aa19
Blog Post: CPU Manager (#9632)
kbarnard10 Jul 24, 2018
3ffa3bc
s/bash/shell (revert to previous)
lucperkins Jul 25, 2018
788cb23
More language fixes
lucperkins Jul 25, 2018
8600631
Update information on master node size on GKE/AWS (#9226)
lucperkins Jul 25, 2018
ac493db
`this` instead of `the` to make it sound better. (#9629)
Jul 26, 2018
1060c00
Use Hugo for Sass processing (#9404)
lucperkins Jul 26, 2018
ac643c2
Update CSS generation logic in css.html partial
lucperkins Jul 26, 2018
548736d
Fix homepage image loading issue
lucperkins Jul 26, 2018
0ee0052
Fix quota documentation (#9648)
vikaschoudhary16 Jul 26, 2018
380613c
Fix configure-service-account doc set permissions link error (#9653)
Farice4 Jul 27, 2018
f59c0e8
Change stage target to docker-serve in Makefile (#9216)
tfogo Jul 27, 2018
66458cd
Add debugging information to pod priority and preemption (#9568)
bsalamat Jul 27, 2018
88569b1
Keep packages back from package manager upgrades (#9509)
liztio Jul 27, 2018
16923b5
Blog post, outlines KubeVirt's usage k8s extension features (#9324)
davidvossel Jul 27, 2018
9279ff1
add pinterest case study (#9633)
alexcontini Jul 27, 2018
9ed9c88
Update configure-service-account.md (#9657)
Rajakavitha1 Jul 27, 2018
4e0858f
Update scale-intro.html (#9659)
seils Jul 27, 2018
bf4b937
Auto _headers file generation logic (#9225)
lucperkins Jul 27, 2018
7164d5b
Standardize code formatting
lucperkins Jul 27, 2018
5dc6178
Merge remote-tracking branch 'upstream/master' into lperkins/issue-86…
lucperkins Jul 27, 2018
c36098d
change image assets to https (#9660)
chenopis Jul 28, 2018
1778e77
Localization instructions (#9192)
lucperkins Jul 28, 2018
20ac7e5
fix description about kubeadm (#9646)
CaoShuFeng Jul 28, 2018
b1de3d3
Fix merge conflict
lucperkins Jul 30, 2018
0edcf19
Merge pull request #9651 from lucperkins/lperkins/homepage-image
lucperkins Jul 30, 2018
e1087b5
Merge pull request #9196 from lucperkins/lperkins/issue-8639-cassandr…
lucperkins Jul 30, 2018
a4d264f
add note shortcodes (#9673)
makocchi-git Jul 30, 2018
d89ed9a
Change "dotation" to "dot notation" in two places (#9678)
meirlaker Jul 30, 2018
8f0753e
Document update (#9675)
markyjackson-taulia Jul 31, 2018
6689419
Update downward-api-volume-expose-pod-information.md (#9567)
khrm Jul 31, 2018
5dfc96e
update default value of kubelet flag pod-infra-container-image (#9611)
miaoshixuan Jul 31, 2018
ba74644
kubeadm-upgrade-1.11: fix wrong flag for feature gates (#9619)
neolit123 Jul 31, 2018
4f2d88f
kubeadm: fix broken link for ha-etcd doc (#9624)
neolit123 Jul 31, 2018
4dbfd51
fix the command output (#9636)
Jul 31, 2018
1b444af
Add Alibaba Cloud in pick-right-solution.md (#9644)
xlgao-zju Jul 31, 2018
240e918
Add a note CPU change handling in CPU manager. (#9671)
ipuustin Jul 31, 2018
493caa5
fix description about custom resource (#9676)
CaoShuFeng Jul 31, 2018
e03f1b4
JSONPaths with spaces must be double-quoted on Windows (#9679)
itowlson Jul 31, 2018
53228de
Fix links to example YAMLs (#9680)
tengqm Jul 31, 2018
80e659c
Remove redundant parenthesis (#9681)
tengqm Jul 31, 2018
0f9262b
Correct minor error (#9690)
chrisohaver Jul 31, 2018
75a0e41
fix the command output (#9695)
Aug 1, 2018
c83bf5f
fix the command output (#9697)
Aug 1, 2018
03158f8
Disable excludes when installing kube packages (#9670)
ihac Aug 1, 2018
1fd2490
add link to nvidia gpu scheduling guide at end of device plugin docum…
WanLinghao Aug 1, 2018
7273191
Fix persistentVolumeClaim link (#9700)
geoand Aug 1, 2018
45c2012
DamonSet typo (#9705)
superseb Aug 1, 2018
a1a3e1d
config: Get mediaTypes config in line with the Hugo version (#9704)
bep Aug 1, 2018
05a559b
fix the command output (#9668)
Aug 1, 2018
243fc84
Add CSI and Flexvolume to glossary (#9666)
tfogo Aug 1, 2018
59554e6
Update resource-usage-monitoring.md (#9631)
apsureda Aug 1, 2018
8f974b4
Adding patch command to forceful delete stateful pod (#9627)
samuelbirocchi Aug 1, 2018
3098e37
Kubeadm kubelet integration doc (#9652)
neolit123 Aug 1, 2018
b87603b
Trivial: Update HPA description (#9711)
Aug 1, 2018
22e91df
kubeadm-init: update notes related to the configuration (#9638)
neolit123 Aug 2, 2018
878f522
Update authorization.md (#9726)
tamalsaha Aug 2, 2018
3ee7fbd
change newline character to LF from CRLF (#9724)
makocchi-git Aug 2, 2018
c50848e
Update service.md (#9702)
Aug 2, 2018
a09e9ea
Add instructions for Macports (#9701)
tsabirgaliev Aug 2, 2018
99f217b
Add APPUiO to the list (#9647)
tobru Aug 2, 2018
efd6f32
update owners of minikube doc (#9691)
r2d4 Aug 2, 2018
7acd188
Add ExpandInUsePersistentVolumes feature gate (#9662)
c-knowles Aug 2, 2018
f5d28ad
Update to Hugo 0.46 (#9703)
bep Aug 2, 2018
81b862e
typo (#9720)
WisWang Aug 2, 2018
af771d2
fix broken link for blog post (#9735)
Aug 3, 2018
c92304b
Blog Post: Dynamically Expand Volume with CSI and Kubernetes (#9714)
kbarnard10 Aug 3, 2018
4af1c1c
Blog Post: Out of the Clouds onto the Ground: How to Make Kubernetes …
kbarnard10 Aug 3, 2018
9c88522
Fixes #9078 by adding note and link to table that disambiguates 'comm…
erikerlandson Aug 3, 2018
3586b93
Update autocomplete instructions for Oh-My-Zsh (#9746)
cx0der Aug 3, 2018
1f22824
fix the command output (#9745)
Aug 3, 2018
68a6ddf
Fixed PID missmatch in zookeeper.md (#9749)
Aug 3, 2018
94b8359
fill ## Clean up (#9744)
Aug 3, 2018
149248c
Add missing newline to fix list display on website (#9741)
eik3 Aug 3, 2018
b83a258
Add Knitter to the list of network addons. (#9742)
xiangpengzhao Aug 3, 2018
352c8e0
apply template (#9734)
makocchi-git Aug 3, 2018
ba7332e
apply template (#9732)
makocchi-git Aug 3, 2018
3cdc80d
apply template (#9733)
makocchi-git Aug 3, 2018
d0582eb
Compute resource format (#9736)
kbhawkey Aug 3, 2018
ab3fd0d
Add necessity of metrics-server for HPA (#9729)
Aug 3, 2018
5bcd5df
Add a section on interactions of Pod priority and QoS (#9715)
bsalamat Aug 3, 2018
de9accf
Update service definition to bind to 127.0.0.1 (#9752)
Aug 3, 2018
a2280f5
Update Documentaion (#9684)
pashok2398 Aug 6, 2018
f7917d0
Document the wire format for X-Remote-Extra- and Impersonate-Extra- k…
dekkagaijin Aug 6, 2018
4920a51
Revert 9225, fix indexing for k8s.io (#9767)
chenopis Aug 6, 2018
5ae0d0d
Reorganize docs contrib guide (#9510)
Aug 6, 2018
d1993b7
fix the command output (#9753)
Aug 6, 2018
8d74d99
Adding Learn More Links to Partner Page (#9707)
kbarnard10 Aug 6, 2018
966843c
add SlingTV and Workiva case studies (#9769)
alexcontini Aug 7, 2018
82ba3f1
Add details of how to use https (#9770)
PradheepShrinivasan Aug 7, 2018
4a11d64
tasks/administer-cluster: fix typo in PNG image (#9763)
neolit123 Aug 7, 2018
6ac1441
add some step (#9743)
Aug 8, 2018
afafa01
Escape capture template commands (#9788)
kbhawkey Aug 8, 2018
3b9678c
updated cncf logo and KubeCon china dates (#9782)
kbarnard10 Aug 8, 2018
f313a39
Update README and Dockerfile (#9781)
xcudder Aug 8, 2018
e688872
fix the command output (#9777)
Aug 8, 2018
2e24a0e
Remove linefeed so that the page does not break (#9776)
jyoshise Aug 8, 2018
382110f
Update expose-external-ip-address.md (#9775)
victor23d Aug 8, 2018
63fb7ac
fix the command output (#9774)
Aug 8, 2018
81e5302
Fix netlify "mixed content detected" warning (#9683)
ahmetb Aug 8, 2018
a02d9b8
Added Instruqt hands-on tutorials (#9723)
bastichelaar Aug 8, 2018
8eec456
Minor corrections (#9771)
lrakai Aug 8, 2018
4d8c488
Fix kubectl top for memory-demo pod (#9667)
nihanthd Aug 9, 2018
f7ae911
Generically refer to container runtimes. (#9601)
MichaelMackend Aug 9, 2018
491cf08
Add comments to noindex mechanism (#9768)
chenopis Aug 9, 2018
02c6aee
Add info about requesting access (#9792)
Aug 9, 2018
b2c3bac
Update kubeadm HA etcd docs (#9802)
chuckha Aug 10, 2018
15c9dfb
fix the command output (#9799)
Aug 10, 2018
d7a6e65
Blogpost: Kubebuilder introduction (#9773)
droot Aug 10, 2018
dbace5e
fix the command output (#9821)
Aug 11, 2018
74b0db1
fix the command output (#9820)
Aug 11, 2018
a567352
fix the command output (#9818)
Aug 11, 2018
279924e
fix the command output (#9817)
Aug 11, 2018
3d70c16
fix the command output (#9813)
Aug 11, 2018
3f1279c
fix the command output (#9815)
Aug 11, 2018
c8d2f9d
fix the command output (#9812)
Aug 11, 2018
094cf11
fix the command output (#9814)
Aug 11, 2018
a5fda56
fix the command output (#9816)
Aug 11, 2018
1cd9a98
fix feature state snippet code block (#9804)
jjmengze Aug 12, 2018
35d9876
changed the link path to current path. (#9803)
jjmengze Aug 12, 2018
673ce71
Remove self-referential link (#9840)
johnaoss Aug 13, 2018
fb01006
Fix malformed Markdown in release notes causing missing bullets. (#9830)
bradfitz Aug 13, 2018
2380ba8
Update SIG Azure reviewers (#9796)
justaugustus Aug 13, 2018
8394219
Remove incorrect and not needed mention of datadir (#9800)
spzala Aug 13, 2018
ae0c28d
Improve the preview card when sharing to social media (#9495)
Aug 13, 2018
81cdab6
remove workiva from case study page (#9826)
alexcontini Aug 14, 2018
8412495
apply template (#9850)
makocchi-git Aug 14, 2018
b47ab0c
update SlingTV case study (#9852)
alexcontini Aug 14, 2018
647c2a7
fix the command output (#9859)
Aug 15, 2018
dbedd42
fix the command output (#9858)
Aug 15, 2018
dda3c3d
Add Katacoda Online Training (#9873)
BenHall Aug 16, 2018
a2c3918
Added AgileStacks distribution for turnkey and on-prem (#9875)
mameshini Aug 16, 2018
fcc03c3
Bing search for China users (#9845)
xcudder Aug 16, 2018
073362e
use code snippets (#9856)
makocchi-git Aug 16, 2018
65dfe58
fix the command output (#9862)
Aug 16, 2018
0523d01
fix the command output (#9861)
Aug 16, 2018
d971d23
rebase certificates PR on Hugo master (#9842)
Bradamant3 Aug 16, 2018
1894eaf
fix the command output (#9860)
Aug 16, 2018
a89faee
Fix Custom Hugo Shortcodes link (#9881)
GuessWhoSamFoo Aug 17, 2018
ac29205
update kops version to latest (1.10.0) (#9882)
HerrmannHinz Aug 17, 2018
8c02f4c
Insert commas between clauses for readability (#9890)
aeroastro Aug 17, 2018
5f19d7c
Fix broken links. (#9755)
php-coder Aug 17, 2018
73f4567
Fix 404 in Configure DNS Cluster (#9853)
johnaoss Aug 18, 2018
18ba9a1
Clean up feature state includes (#9895)
kbhawkey Aug 18, 2018
13184ca
Fix indentation and Code of Conduct link in contribute section (#9896)
GuessWhoSamFoo Aug 18, 2018
6e0c644
Update namespaces.md (#9865)
lon-io Aug 18, 2018
00cb289
Add kontena/k8s-client ruby library (#9811)
jakolehm Aug 18, 2018
f8e4d35
Add JS to linkify in-page H1-H6 (#9751)
Aug 18, 2018
1ea8f96
Update docs for fields allowed at root of CRD schema (#9973)
nikhita Aug 21, 2018
9f823c1
add plugin docs and examples (#10053)
juanvallejo Aug 28, 2018
3c8a4a3
merge from upstream/release1.12
zparnold Sep 2, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<!-- Thanks for filing an issue! Before submitting, please fill in the following information. -->
<!-- See https://kubernetes.io/docs/contribute/start/ for guidance on writing an actionable issue description. -->

<!--Required Information-->

Expand Down
5 changes: 4 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Please delete this note before submitting the pull request.
> For 1.12 Features: set Milestone to 1.12 and Base Branch to release-1.12
> Help editing and submitting pull requests: https://deploy-preview-9510--kubernetes-io-master-staging.netlify.com/docs/contribute/start/#submit-a-pull-request.
> Help choosing which branch to use, see
> https://kubernetes.io/docs/contribute/start#choose-which-git-branch-to-use.
>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> Please delete this note before submitting the pull request.
4 changes: 3 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ ARG HUGO_VERSION

RUN mkdir -p /usr/local/src && \
cd /usr/local/src && \
curl -L https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_${HUGO_VERSION}_linux-64bit.tar.gz | tar -xz && \
curl -L https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-64bit.tar.gz | tar -xz && \
apk add build-base && \
apk add libc6-compat && \
mv hugo /usr/local/bin/hugo && \
curl -L https://bin.equinox.io/c/dhgbqpS8Bvy/minify-stable-linux-amd64.tgz | tar -xz && \
mv minify /usr/local/bin && \
Expand Down
8 changes: 5 additions & 3 deletions OWNERS_ALIASES
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,11 @@ aliases:
- chrislovecnm
- mfburnett
sig-azure: #Microsoft Azure
- slack
- colemickens
- jdumars
- andyzhangx
- feiskyer
- justaugustus
- karataliu
- khenidak
sig-big-data: #GH: sig-big-data-pr-reviews
- foxish
sig-cli: #Team: CLI; GH: sig-cli-pr-reviews; e.g. kubectl
Expand Down
13 changes: 5 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,10 @@ Once your pull request is created, a Kubernetes reviewer will take responsibilit

For more information about contributing to the Kubernetes documentation, see:

* [Contributing to the Kubernetes Documentation](http://kubernetes.io/editdocs/)
* [Creating a Documentation Pull Request](http://kubernetes.io/docs/home/contribute/create-pull-request/)
* [Writing a New Topic](http://kubernetes.io/docs/home/contribute/write-new-topic/)
* [Review Issues](http://kubernetes.io/docs/home/contribute/review-issues/)
* [Staging Your Documentation Changes](http://kubernetes.io/docs/home/contribute/stage-documentation-changes/)
* [Using Page Templates](http://kubernetes.io/docs/home/contribute/page-templates/)
* [Documentation Style Guide](http://kubernetes.io/docs/home/contribute/style-guide/)
* [Start contributing](https://kubernetes.io/docs/contribute/start/)
* [Staging Your Documentation Changes](http://kubernetes.io/docs/contribute/intermediate#view-your-changes-locally)
* [Using Page Templates](http://kubernetes.io/docs/contribute/style/page-templates/)
* [Documentation Style Guide](http://kubernetes.io/docs/contribute/style/style-guide/)

## Building the site using Docker

Expand All @@ -33,7 +30,7 @@ You can create an image for a different version of Hugo by changing the value of
Once the `kubernetes-hugo` image has been built locally, you can build the site:

```bash
make stage
make docker-serve

# The underlying command:
docker run \
Expand Down
45 changes: 43 additions & 2 deletions assets/sass/_base.sass
Original file line number Diff line number Diff line change
Expand Up @@ -1238,8 +1238,15 @@ $feature-box-div-margin-bottom: 40px
&:hover
border-color: white



// CNCF
#cncf
padding-top: 60px
padding-bottom: 140px
background-color: $light-grey
background-image: url(/images/cncf-color.png)
background-position: center 100px
background-repeat: no-repeat
background-size: 300px

// Features
#features
Expand Down Expand Up @@ -1768,3 +1775,37 @@ $feature-box-div-margin-bottom: 40px

.gsc-above-wrapper-area
border-bottom: 0;



/* Bing Search */
#bing-results-container
margin-top: 30px
margin-left: 20px

.bing-result
margin-bottom: 20px

.bing-result-name a
font-size: 16px
color: #0000CC


.bing-result-url
color: #008000
font-size: 13px

.bing-result-snippet
color: #000
font-size: 11px

#bing-pagination-container
margin: 10px
margin-left: 20px

.bing-page-anchor
text-decoration: none!important
cursor: pointer
color: #0000CC
margin-right: 8px

2 changes: 2 additions & 0 deletions config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -139,3 +139,5 @@ description = "Production-Grade Container Orchestration"
languageName = "Korean"
weight = 3
contentDir = "content/ko"


Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ content_template: templates/tutorial

* 本任务使用 [外部负载均衡服务](/docs/tasks/access-application-cluster/create-external-load-balancer/)
所以需要对应的可支持此功能的环境。如果你的环境不能支持,你可以使用
[NodePort](/docs/user-guide/services/#type-nodeport) 类型的服务代替。
[NodePort](/docs/user-guide/services/#nodeport) 类型的服务代替。

{{% /capture %}}

Expand Down
4 changes: 2 additions & 2 deletions content/cn/docs/tutorials/services/source-ip.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ command=GET
## Type=NodePort 类型 Services 的 Source IP


对于 Kubernetes 1.5,发送给类型为 [Type=NodePort](/docs/user-guide/services/#type-nodeport) Services 的数据包默认进行源地址 NAT。你可以创建一个 `NodePort` Service 来进行测试:
对于 Kubernetes 1.5,发送给类型为 [Type=NodePort](/docs/user-guide/services/#nodeport) Services 的数据包默认进行源地址 NAT。你可以创建一个 `NodePort` Service 来进行测试:

```console
$ kubectl expose deployment source-ip-app --name=nodeport --port=80 --target-port=8080 --type=NodePort
Expand Down Expand Up @@ -210,7 +210,7 @@ client_address=104.132.1.79
## Type=LoadBalancer 类型 Services 的 Source IP


对于 Kubernetes 1.5,发送给类型为 [Type=LoadBalancer](/docs/user-guide/services/#type-nodeport) Services 的数据包默认进行源地址 NAT,这是由于所有处于 `Ready` 状态的 Kubernetes 节点对于负载均衡的流量都是符合条件的。所以如果数据包到达一个没有 endpoint 的节点,系统将把这个包代理到** endpoint 的节点,并替换数据包的源 IP 为节点的 IP(如前面章节所述)。
对于 Kubernetes 1.5,发送给类型为 [Type=LoadBalancer](/docs/user-guide/services/#nodeport) Services 的数据包默认进行源地址 NAT,这是由于所有处于 `Ready` 状态的 Kubernetes 节点对于负载均衡的流量都是符合条件的。所以如果数据包到达一个没有 endpoint 的节点,系统将把这个包代理到** endpoint 的节点,并替换数据包的源 IP 为节点的 IP(如前面章节所述)。


你可以通过在一个 loadbalancer 上暴露这个 source-ip-app 来进行测试。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ approvers:

* [Persistent Volumes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/) 定义持久化磁盘(磁盘生命周期不和 Pods 绑定)。
* [Services](https://kubernetes.io/docs/concepts/services-networking/service/) 使得 Pods 能够找到其它 Pods。
* [External Load Balancers](https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer) 对外暴露 Services。
* [External Load Balancers](https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) 对外暴露 Services。
* [Deployments](http://kubernetes.io/docs/user-guide/deployments/) 确保 Pods 持续运行。
* [Secrets](http://kubernetes.io/docs/user-guide/secrets/) 保存敏感密码信息。

Expand Down Expand Up @@ -66,7 +66,7 @@ kubectl create -f https://raw.githubusercontent.com/kubernetes/examples/master/m
Kubernetes本质是模块化的,可以在各种环境中运行。但并不是所有集群都相同。此处是本示例的一些要求:
* 需要 1.2 版本以上的 Kubernetes,以使用更新的特性,例如 PV Claims 和 Deployments。运行 `kubectl version` 来查看你的集群版本。
* [Cluster DNS](https://github.com/kubernetes/dns) 将被用于服务发现。
* 一个 [external load balancer](https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer) 将被用于接入 WordPress。
* 一个 [external load balancer](https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) 将被用于接入 WordPress。
* 使用了 [Persistent Volume Claims](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims)。你必须创建集群中需要的 Persistent Volumes。本示例将展示两种类型的 volume 的创建方法,但是任何类型的 volume 都是足够使用的。


Expand Down
24 changes: 12 additions & 12 deletions content/en/_index.html
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ <h2>The Challenges of Migrating 150+ Microservices to Kubernetes</h2>
<br>
<br>
<br>
<a href="https://www.lfasiallc.com/events/kubecon-cloudnativecon-china-2018/" button id= "desktopKCButton">Attend KubeCon in Shanghai on Nov. 14-15, 2018</a>
<a href="https://www.lfasiallc.com/events/kubecon-cloudnativecon-china-2018/" button id= "desktopKCButton">Attend KubeCon in Shanghai on Nov. 13-15, 2018</a>
<br>
<br>
<br>
Expand Down Expand Up @@ -122,23 +122,23 @@ <h4><a href="/docs/concepts/workloads/controllers/jobs-run-to-completion/">Batch
<h3>Case Studies</h3>
<div id="caseStudiesWrapper">
<div>
<p>Pinning Its Past, Present, and Future on Cloud Native</p>
<a href="/case-studies/pinterest">Read more</a>
<p>Sling TV: Marrying Kubernetes and AI to Enable Proper Web Scale</p>
<a href="/case-studies/slingtv">Read more</a>
</div>
<div>
<p>Reinventing the World’s Largest Education Company With Kubernetes</p>
<a href="/case-studies/pearson">Read more</a>
<p>Using OpenTracing to Help Pinpoint the Bottlenecks</p>
<a href="/case-studies/workiva">Read more</a>
</div>

<div>
<p>Supporting Fast Decisioning Applications with Kubernetes</p>
<a href="/case-studies/capital-one">Read more</a>
<p>Pinning Its Past, Present, and Future on Cloud Native</p>
<a href="/case-studies/pinterest">Read more</a>
</div>
<div>
<p>Driving Banking Innovation with Cloud Native</p>
<a href="/case-studies/ing">Read more</a>
<p>Reinventing the World’s Largest Education Company With Kubernetes</p>
<a href="/case-studies/pearson">Read more</a>
</div>

</div>

<!--<div id="bigSocial">-->
Expand Down Expand Up @@ -169,7 +169,7 @@ <h5 style="text-align: center"><a href="/case-studies/" style="color: #3371E3; f
<section id="cncf">
<main>
<center>
<p>We are a <a href="https://cncf.io/">CNCF</a> graduated project</p>
<p style="font-size: 20px">We are a <a href="https://cncf.io/">CNCF</a> graduated project</p>
</center>
</main>
</section>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ If you’re interested in exploring these features more in depth, check back in
* Day 1: [IPVS-Based In-Cluster Service Load Balancing Graduates to General Availability](/blog/2018/07/09/ipvs-based-in-cluster-load-balancing-deep-dive/)
* Day 2: [CoreDNS Promoted to General Availability](/blog/2018/07/10/coredns-ga-for-kubernetes-cluster-dns/)
* Day 3: [Dynamic Kubelet Configuration Moves to Beta](/blog/2018/07/11/dynamic-kubelet-configuration/)
* Day 4: [Resizing Persistent Volumes using Kubernetes](/blog/2018/07/11/resizing-persistent-volumes-using-kubernetes/)
* Day 4: [Resizing Persistent Volumes using Kubernetes](/blog/2018/07/12/resizing-persistent-volumes-using-kubernetes/)

## Release team

Expand Down
161 changes: 161 additions & 0 deletions content/en/blog/_posts/2018-08-02-dynamically-expand-volume-csi.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
---
layout: blog
title: 'Dynamically Expand Volume with CSI and Kubernetes'
date: 2018-08-02
---

**Author**: Orain Xiong (Co-Founder, WoquTech)

_There is a very powerful storage subsystem within Kubernetes itself, covering a fairly broad spectrum of use cases. Whereas, when planning to build a product-grade relational database platform with Kubernetes, we face a big challenge: coming up with storage. This article describes how to extend latest Container Storage Interface 0.2.0 and integrate with Kubernetes, and demonstrates the essential facet of dynamically expanding volume capacity._

## Introduction

As we focalize our customers, especially in financial space, there is a huge upswell in the adoption of container orchestration technology.

They are looking forward to open source solutions to redesign already existing monolithic applications, which have been running for several years on virtualization infrastructure or bare metal.

Considering extensibility and the extent of technical maturity, Kubernetes and Docker are at the very top of the list. But migrating monolithic applications to a distributed orchestration like Kubernetes is challenging, the relational database is critical for the migration.

With respect to the relational database, we should pay attention to storage. There is a very powerful storage subsystem within Kubernetes itself. It is very useful and covers a fairly broad spectrum of use cases. When planning to run a relational database with Kubernetes in production, we face a big challenge: coming up with storage. There are still some fundamental functionalities which are left unimplemented. Specifically, dynamically expanding volume. It sounds boring but is highly required, except for actions like create and delete and mount and unmount.

Currently, expanding volume is only available with those storage provisioners:

* gcePersistentDisk
* awsElasticBlockStore
* OpenStack Cinder
* glusterfs
* rbd

In order to enable this feature, we should set feature gate `ExpandPersistentVolumes` true and turn on the `PersistentVolumeClaimResize` admission plugin. Once `PersistentVolumeClaimResize` has been enabled, resizing will be allowed by a Storage Class whose `allowVolumeExpansion` field is set to true.

Unfortunately, dynamically expanding volume through the Container Storage Interface (CSI) and Kubernetes is unavailable, even though the underlying storage providers have this feature.

This article will give a simplified view of CSI, followed by a walkthrough of how to introduce a new expanding volume feature on the existing CSI and Kubernetes. Finally, the article will demonstrate how to dynamically expand volume capacity.

## Container Storage Interface (CSI)

To have a better understanding of what we're going to do, the first thing we need to know is what the Container Storage Interface is. Currently, there are still some problems for already existing storage subsystem within Kubernetes. Storage driver code is maintained in the Kubernetes core repository which is difficult to test. But beyond that, Kubernetes needs to give permissions to storage vendors to check code into the Kubernetes core repository. Ideally, that should be implemented externally.

CSI is designed to define an industry standard that will enable storage providers who enable CSI to be available across container orchestration systems that support CSI.

This diagram depicts a kind of high-level Kubernetes archetypes integrated with CSI:

![csi diagram](/images/blog/2018-08-02-dynamically-expand-volume-csi/csi-diagram.png)

* Three new external components are introduced to decouple Kubernetes and Storage Provider logic
* Blue arrows present the conventional way to call against API Server
* Red arrows present gRPC to call against Volume Driver

For more details, please visit: https://github.com/container-storage-interface/spec/blob/master/spec.md

## Extend CSI and Kubernetes

In order to enable the feature of expanding volume atop Kubernetes, we should extend several components including CSI specification, “in-tree” volume plugin, external-provisioner and external-attacher.

## Extend CSI spec

The feature of expanding volume is still undefined in latest CSI 0.2.0. The new 3 RPCs, including `RequiresFSResize` and `ControllerResizeVolume` and `NodeResizeVolume`, should be introduced.

```
service Controller {
rpc CreateVolume (CreateVolumeRequest)
returns (CreateVolumeResponse) {}
……
rpc RequiresFSResize (RequiresFSResizeRequest)
returns (RequiresFSResizeResponse) {}
rpc ControllerResizeVolume (ControllerResizeVolumeRequest)
returns (ControllerResizeVolumeResponse) {}
}

service Node {
rpc NodeStageVolume (NodeStageVolumeRequest)
returns (NodeStageVolumeResponse) {}
……
rpc NodeResizeVolume (NodeResizeVolumeRequest)
returns (NodeResizeVolumeResponse) {}
}
```

## Extend “In-Tree” Volume Plugin

In addition to the extend CSI specification, the `csiPlugin` interface within Kubernetes should also implement `expandablePlugin`. The `csiPlugin` interface will expand `PersistentVolumeClaim` representing for `ExpanderController`.


```go
type ExpandableVolumePlugin interface {
VolumePlugin
ExpandVolumeDevice(spec Spec, newSize resource.Quantity, oldSize resource.Quantity) (resource.Quantity, error)
RequiresFSResize() bool
}
```

### Implement Volume Driver

Finally, to abstract complexity of the implementation, we should hard code the separate storage provider management logic into the following functions which is well-defined in the CSI specification:

* CreateVolume
* DeleteVolume
* ControllerPublishVolume
* ControllerUnpublishVolume
* ValidateVolumeCapabilities
* ListVolumes
* GetCapacity
* ControllerGetCapabilities
* RequiresFSResize
* ControllerResizeVolume

## Demonstration

Let’s demonstrate this feature with a concrete user case.

* Create storage class for CSI storage provisioner

```yaml
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: csi-qcfs
parameters:
csiProvisionerSecretName: orain-test
csiProvisionerSecretNamespace: default
provisioner: csi-qcfsplugin
reclaimPolicy: Delete
volumeBindingMode: Immediate
```

* Deploy CSI Volume Driver including storage provisioner `csi-qcfsplugin` across Kubernetes cluster

* Create PVC `qcfs-pvc` which will be dynamically provisioned by storage class `csi-qcfs`

```yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: qcfs-pvc
namespace: default
....
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 300Gi
storageClassName: csi-qcfs
```

* Create MySQL 5.7 instance to use PVC `qcfs-pvc`
* In order to mirror the exact same production-level scenario, there are actually two different types of workloads including:
* Batch insert to make MySQL consuming more file system capacity
* Surge query request
* Dynamically expand volume capacity through edit pvc `qcfs-pvc` configuration

The Prometheus and Grafana integration allows us to visualize corresponding critical metrics.

![prometheus grafana](/images/blog/2018-08-02-dynamically-expand-volume-csi/prometheus-grafana.png)

We notice that the middle reading shows MySQL datafile size increasing slowly during bulk inserting. At the same time, the bottom reading shows file system expanding twice in about 20 minutes, from 300 GiB to 400 GiB and then 500 GiB. Meanwhile, the upper reading shows the whole process of expanding volume immediately completes and hardly impacts MySQL QPS.

## Conclusion

Regardless of whatever infrastructure applications have been running on, the database is always a critical resource. It is essential to have a more advanced storage subsystem out there to fully support database requirements. This will help drive the more broad adoption of cloud native technology.
Loading