Contenu connexe Similaire à .NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal Container Services (20) Plus de VMware Tanzu (20) .NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal Container Services1. .NET and Kubernetes
Bringing Legacy .NET Into the Modern World
with Pivotal Container Services
October 7–10, 2019
Austin Convention Center
2. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Safe Harbor Statement
The following is intended to outline the general direction of Pivotal's offerings. It is intended for information
purposes only and may not be incorporated into any contract. Any information regarding pre-release of
Pivotal offerings, future updates or other planned modifications is subject to ongoing evaluation by Pivotal
and is subject to change. This information is provided without warranty or any kind, express or implied, and
is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making
purchasing decisions regarding Pivotal's offerings. These purchasing decisions should only be based on
features currently available. The development, release, and timing of any features or functionality described
for Pivotal's offerings in this presentation remain at the sole discretion of Pivotal. Pivotal has no obligation to
update forward looking information in this presentation.
3. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
This
session
- Review existing app environment
- About windows containers
- Kubernetes decisions
- Creating containers with Docker
- Working example in K8s
- Questions
4. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Traditional Architecture
● Server 2008
● IIS
● Pooling
● Sessions
● Server 2008
● IIS
● Pooling
● Sessions
Windows Server
2008
● IIS: webform UI
● Pooling
● COM obj
MS SQL
DB
File Share
● Server 2008
● SMB
L
o
a
d
B
a
l
a
n
c
e
r
5. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
What fits in
a Windows
Container?
- Minimal operating system
- Full Windows install (C:Windows)
- Structured file system (C:, C:Program Files)
- Registry
- .NET runtime
- Different .NET runtimes side by side - host
OS is neutral to the version(s)
- Patch host operating system with no regard
to apps within
!!
!!
6. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
1. Choose BASE image - compatibility with
host OS
Create a
Windows
Container
USING windows/servercore2019
Install .net
Install IIS
Copy in app
PS C: docker build my-app
PS C: docker push my-app
2. Write DockerFile
3. Build the container image
4. Push the image to a repository
7. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Choosing
Kubernetes
➔ Tenancy model
Using clusters, namespaces, selectors
➔ Bring your own container
Script the environment with docker file
➔ Assemble your own routing
Define ingress and attach DNS
➔ Persistent disks
Make the app(s) resilient to failures
➔ Long running processes
Expect the workloads to not “move around”
8. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
A goal of
acting
modern
➔ Container everything
Everything lives in a container
➔ Automate everything
Software defined & build pipelines
➔ Stream logs
Write to console and let the platform handle it
➔ Loosely coupled services
Service info is “fed” to the app, not coded within
➔ Assume failures
Session info held external, disks are mapped
➔ High availability
Run multiple instances that are distributed in IaaS
➔ Cloud everything
Make everything as portable as possible
9. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
What do you want to “own”
DIY k8s or container stack
Embedded OS
OS Image
Runtime Layer
Service Brokerage
Application Layer
Platform
Provided
App
Team
provided
Embedded OS
OS Image
Runtime Layer
Service Brokerage
Application Layer
Platform
Provided
App
Team
Provided
Embedded OS
OS Image
Runtime Layer
Service Brokerage
Application Layer
App
Team
Provided
10. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Zero code change with containers
- Review the docker file and deployment model -
11. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
A Working Example
- See it in action -
12. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
K8 Cluster
Modern Architecture: Kubernetes cluster
L
o
a
d
B
a
l
a
n
c
e
r
Kubernetes
13. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
K8 Cluster
Modern Architecture: Kubernetes pod and config
L
o
a
d
B
a
l
a
n
c
e
r
Kubernetes
K8 Pod
ConfigMap
Volumes
etc
14. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
K8 Cluster
K8 Pod
Modern Architecture: Windows container
L
o
a
d
B
a
l
a
n
c
e
r
Kubernetes
ConfigMap
Volumes
etc
Windows
Container
● IIS
● WebForm UI
● COM obj
15. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
K8 Cluster
K8 Pod
Windows
Container
● IIS
● WebForm UI
● COM obj
Modern Architecture
L
o
a
d
B
a
l
a
n
c
e
r
MS SQL
DB
File Share
● Server 2008
● SMB
Kubernetes
ConfigMap
Volumes
etc
16. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
A New World Unlocked
- All the possibilities on a modern platform -
17. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
K8 Cluster
K8 Pod
Modern Architecture: Scale pods
L
o
a
d
B
a
l
a
n
c
e
r
MS SQL
DB
File Share
● Server 2008
● SMB
Kubernetes
ConfigMap
Volumes
etc
Windows
Container
● IIS
● WebForm UI
● COM obj
18. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
K8 Cluster
K8 Pod
Modern Architecture: Scale clusters
L
o
a
d
B
a
l
a
n
c
e
r
MS SQL
DB
File Share
● Server 2008
● SMB
Kubernetes
ConfigMap
Volumes
etc
Windows
Container
● IIS
● WebForm UI
● COM obj
19. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
K8 Cluster
K8 Pod
Windows
Container
● IIS
● WebForm UI
● COM obj
Modern Architecture: Persistent disks
L
o
a
d
B
a
l
a
n
c
e
r
MS SQL
DB
Kubernetes
ConfigMap
etc
Persistent
Volume
Mount