Merge pull request #313 from learnk8s/research

Research
This commit is contained in:
Daniele Polencic
2020-05-27 15:24:10 +08:00
committed by GitHub
4 changed files with 255 additions and 18 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

+6 -6
View File
@@ -85,11 +85,11 @@ export const Navbar: React.StatelessComponent<{}> = ({}) => {
</li>
<li className='ttu mh2'>
<a
href='/kubernetes-free-tools'
href='/research'
className='white link db b ph1 pv3 pv2-l f5 underline-hover'
title='Kubernetes free tools'
title='Kubernetes curated research'
>
Tools
Research
</a>
</li>
</ul>
@@ -118,11 +118,11 @@ export const NavbarSlim: React.StatelessComponent<{}> = ({}) => {
</li>
<li className='ttu mh2 lh-solid'>
<a
href='/kubernetes-free-tools'
href='/research'
className='white link db b ph1 pv2 f6 f5-ns underline-hover'
title='Kubernetes free tools'
title='Kubernetes curated research'
>
Tools
Research
</a>
</li>
</ul>
+249 -12
View File
@@ -5,6 +5,18 @@ import { getConfig, State, Action, Store, Selector } from './store'
import { defaultAssetsPipeline } from './optimise'
import { tachyons } from './tachyons/tachyons'
const reportIssue: MailTo = {
subject: 'Kubernetes research',
body: `Hi Learnk8s,\n\nI'd like to report a ________.\n\nBest regards,\n`,
email: 'hello@learnk8s.io',
}
const codeContribution: MailTo = {
subject: 'Kubernetes research',
body: `Hi Learnk8s,\n\nI'd like to contribute to the ________ research project.\n\nHow can I help?\n\nBest regards,\n`,
email: 'hello@learnk8s.io',
}
const sponsorEnquiry: MailTo = {
subject: 'Kubernetes research',
body: `Hi Learnk8s,\n\nI'd like to suggest a topic of research.\n\n________.\n\nBest regards,\n`,
@@ -86,19 +98,49 @@ function renderPage(state: State) {
<p className='f3-l f4 b navy'>Table of contents</p>
<ul className='f4 measure'>
<li className='mv3'>
<a href='#choosing-node-size' className='link navy underline-hover'>
Choosing an instance type for a Kubernetes cluster
</a>
<p className='b'>Research</p>
<ul className='f4 measure'>
<li className='mv3'>
<a href='#choosing-node-size' className='link navy underline-hover'>
Choosing an instance type for a Kubernetes cluster
</a>
</li>
<li className='mv3'>
<a href='#managed-services' className='link navy underline-hover'>
Kubernetes managed services
</a>
</li>
<li className='mv3'>
<a href='#service-meshes' className='link navy underline-hover'>
Services meshes
</a>
</li>
</ul>
</li>
<li className='mv3'>
<a href='#managed-services' className='link navy underline-hover'>
Kubernetes managed services (coming soon)
</a>
<p className='b'>Getting involved</p>
<ul className='f4 measure'>
<li className='mv3'>
<a href='#requests' className='link navy underline-hover'>
Contributing
</a>
</li>
</ul>
</li>
<li className='mv3'>
<a href='#requests' className='link navy underline-hover'>
Research requests
</a>
<p className='b'>Others</p>
<ul className='f4 measure'>
<li className='mv3'>
<a href='#roadmap' className='link navy underline-hover'>
Roadmap
</a>
</li>
<li className='mv3'>
<a href='#requests' className='link navy underline-hover'>
Research requests
</a>
</li>
</ul>
</li>
</ul>
</div>
@@ -120,7 +162,7 @@ function renderPage(state: State) {
Choosing an instance type for a Kubernetes cluster
</h2>
<p className='lh-copy measure-narrow f4 black-80'>
Research on the trade offs when choosing an instance type for a Kubernetes cluster
Research on the trade-offs when choosing an instance type for a Kubernetes cluster
</p>
<a
href='https://docs.google.com/spreadsheets/d/1yhkuBJBY2iO2Ax5FcbDMdWD5QLTVO6Y_kYt_VumnEtI'
@@ -146,13 +188,49 @@ function renderPage(state: State) {
<div className='w-60-ns'>
<div className='pl4-ns'>
<h2 className='f3 b navy lh-solid' id='managed-services'>
Comparison of Kubernetes managed services (coming soon)
Comparison of Kubernetes managed services
</h2>
<p className='lh-copy measure-narrow f4 black-80'>
The research compares Kubernetes managed services such as Google Kubernetes Engine (GKE), Elastic
Kubernetes Service (EKS) and Azure Kubernetes (AKS).
</p>
<span className='link dib white bg-navy br1 pa3 b f5 mv3 submit br2 b--none ttu'>Coming soon</span>
<a
href='https://docs.google.com/spreadsheets/d/1RPpyDOLFmcgxMCpABDzrsBYWpPYCIBuvAoUQLwOGoQw'
rel='noreferrer'
target='_blank'
className='link dib white bg-navy br1 pa3 b f5 mv3 submit br2 b--none ttu'
>
Read &#8594;
</a>
</div>
</div>
</li>
<li className='mv3 pv3 flex-ns mw8 center items-center justify-center ph4 border-box'>
<div className='w-40-ns'>
<div className='aspect-ratio aspect-ratio--4x3'>
<img
src='assets/research/service-meshes.jpg'
alt='Comparison of service meshes for Kubernetes'
className='aspect-ratio--object shadow-1 br2'
/>
</div>
</div>
<div className='w-60-ns'>
<div className='pl4-ns'>
<h2 className='f3 b navy lh-solid' id='service-meshes'>
Comparison of service meshes
</h2>
<p className='lh-copy measure-narrow f4 black-80'>
The research compares service meshes for Kubernetes such as Istio, Linkerd and Kuma.
</p>
<a
href='https://docs.google.com/spreadsheets/d/1Bxf8VW9n-YyHeBiKdXt6zytOgw2cQlsDnK1gLUvsZ4A'
rel='noreferrer'
target='_blank'
className='link dib white bg-navy br1 pa3 b f5 mv3 submit br2 b--none ttu'
>
Read &#8594;
</a>
</div>
</div>
</li>
@@ -230,6 +308,165 @@ function renderPage(state: State) {
</div>
</section>
<Section className='bg-evian'>
<div className='ph3 measure-wide pv4 center'>
<h3 className='f1-l f2 navy pb3 mt0 mt3-ns tc' id='contributing'>
Contributing
</h3>
<p className='lh-copy f4'>
If you spot a typo or an out-of-date spec, leave a comment on the spreadsheet or get in touch at{' '}
<a href={mailto(reportIssue)} className='link navy underline'>
research@learnk8s.io
</a>
.
</p>
<ul className='list pl0'>
<li className='mv3'>
<h4 className='navy f4 f3-l mb2'>Are you interested in authoring open-source research?</h4>
<p className='lh-copy black-80 f4'>
If you wish to contribute with new comparison, charts, or any other research join the{' '}
<a
href='https://learnk8s-slack-invite.herokuapp.com/'
className='link navy underline'
rel='noreferrer'
target='_blank'
>
#research channel on Slack
</a>
.
</p>
<blockquote className='pl3 mh2 bl bw2 b--blue bg-evian pv1 ph4'>
<p className='lh-copy measure-wide f4'>
<a
href='https://learnk8s-slack-invite.herokuapp.com/'
className='link navy underline'
rel='noreferrer'
target='_blank'
>
You can join the Learnk8s Slack workspace with this link.
</a>
</p>
</blockquote>
<p className='lh-copy black-80 f4'>If you need some ideas, here's a shortlist:</p>
<ul className='f4'>
<li className='mv3 lh-copy'>
How does{' '}
<a
href='https://www.digitalocean.com/products/kubernetes/'
className='link navy'
rel='noreferrer'
target='_blank'
>
DigitalOcean Kubernetes
</a>{' '}
compare with the rest of the{' '}
<a
href='https://docs.google.com/spreadsheets/d/1RPpyDOLFmcgxMCpABDzrsBYWpPYCIBuvAoUQLwOGoQw'
className='link navy underline'
rel='noreferrer'
target='_blank'
>
Kubernetes managed services?
</a>
</li>
<li className='mv3 lh-copy'>
How does{' '}
<a
href='https://cloud.ibm.com/docs/containers?topic=containers-getting-started'
className='link navy'
rel='noreferrer'
target='_blank'
>
IBM Cloud Kubernetes Service
</a>{' '}
compare with the rest of the{' '}
<a
href='https://docs.google.com/spreadsheets/d/1RPpyDOLFmcgxMCpABDzrsBYWpPYCIBuvAoUQLwOGoQw'
className='link navy underline'
rel='noreferrer'
target='_blank'
>
Kubernetes managed services?
</a>
</li>
<li className='mv3 lh-copy'>
How does{' '}
<a
href='https://www.alibabacloud.com/product/kubernetes'
className='link navy'
rel='noreferrer'
target='_blank'
>
Alibaba's Container Service for Kubernetes
</a>{' '}
compare with the rest of the{' '}
<a
href='https://docs.google.com/spreadsheets/d/1RPpyDOLFmcgxMCpABDzrsBYWpPYCIBuvAoUQLwOGoQw'
className='link navy underline'
rel='noreferrer'
target='_blank'
>
Kubernetes managed services?
</a>
</li>
<li className='mv3 lh-copy'>
What's the average CPU workload for Kubernetes Pods?{' '}
<a
href='https://docs.google.com/spreadsheets/d/1yhkuBJBY2iO2Ax5FcbDMdWD5QLTVO6Y_kYt_VumnEtI'
className='link navy underline'
rel='noreferrer'
target='_blank'
>
How does it affect instance types?
</a>
</li>
</ul>
</li>
<li className='mv3'>
<h4 className='navy f4 f3-l mb2'>What about code contributions?</h4>
<p className='lh-copy black-80 f4'>
More research can be unlocked if we can provision several clusters in different cloud providers and
run tests.
</p>
<p className='lh-copy black-80 f4'>
If you have an idea on how to do that and want to contribute,{' '}
<a
href='https://learnk8s-slack-invite.herokuapp.com/'
className='link navy underline'
rel='noreferrer'
target='_blank'
>
let's chat on Slack
</a>{' '}
or{' '}
<a href={mailto(codeContribution)} className='link navy underline'>
drop us an email
</a>
.
</p>
</li>
</ul>
</div>
</Section>
<Section>
<div className='mw7 center'>
<p className='f1-l f2 navy b tc ph3 mb3 mt4' id='roadmap'>
Roadmap
</p>
<p className='lh-copy f4 black-70 measure center tc ph3 pb4 mt0'>
The following topics of research are next:
</p>
</div>
<ul className='f4 measure center'>
<li className='mv3 lh-copy'>Analysis of container runtime interfaces (CRIs)</li>
<li className='mv3 lh-copy'>Analysis of container networking interfaces (CNIs)</li>
<li className='mv3 lh-copy'>Analysis of ingress controllers</li>
<li className='mv3 lh-copy'>Analysis of API gateways</li>
<li className='mv3 lh-copy'>Analysis of CI/CD tools</li>
</ul>
</Section>
<Section className='bg-evian mt3 mt5-ns'>
<div className='mw7 center'>
<p className='f1-l f2 navy b tc ph3 mb3 mt4' id='requests'>