Introducing the Resource Management Working Group

Editor’s note: today’s post is by Jeremy Eder, Senior Principal Software Engineer at Red Hat, on the formation of the Resource Management Working Group Why are we here?Kubernetes has evolved to support diverse and increasingly complex classes of applications. We can onboard and scale out modern, cloud-native web applications based on microservices, batch jobs, and stateful applications with persistent storage requirements. However, there are still opportunities to improve Kubernetes; for example, the ability to run workloads that require specialized hardware or those that perform measurably better when hardware topology is taken into account. These conflicts can make it difficult for application classes (particularly in established verticals) to adopt Kubernetes. We see an unprecedented opportunity here, with a high cost if it’s missed. The Kubernetes ecosystem must create a consumable path forward to the next generation of system architectures by catering to needs of as-yet unserviced workloads in meaningful ways. The Resource Management Working Group, along with other SIGs, must demonstrate the vision customers want to see, while enabling solutions to run well in a fully integrated, thoughtfully planned end-to-end stack.   Kubernetes Working Groups are created when a particular challenge requires cross-SIG collaboration. The Resource Management Working Group, for example, works primarily with sig-node and sig-scheduling to drive support for additional resource management capabilities in Kubernetes. We make sure that key contributors from across SIGs are frequently consulted because working groups are not meant to make system-level decisions on behalf of any SIG.   An example and key benefit of this is the working group’s relationship with sig-node.  We were able to ensure completion of several releases of node reliability work (complete in 1.6) before contemplating feature design on top. Those designs are use-case driven: research into technical requirements for a variety of workloads, then sorting based on measurable impact to the largest cross-section. Target Workloads and Use-casesOne of the working group’s key design tenets is that user experience must remain clean and portable, while still surfacing infrastructure capabilities that are required by businesses and applications.   While not representing any commitment, we hope in the fullness of time that Kubernetes can optimally run financial services workloads, machine learning/training, grid schedulers, map-reduce, animation workloads, and more. As a use-case driven group, we account for potential application integration that can also facilitate an ecosystem of complementary independent software vendors to flourish on top of Kubernetes. Why do this?Kubernetes covers generic web hosting capabilities very well, so why go through the effort of expanding workload coverage for Kubernetes at all? The fact is that workloads elegantly covered by Kubernetes today, only represent a fraction of the world’s compute usage. We have a tremendous opportunity to safely and methodically expand upon the set of workloads that can run optimally on Kubernetes. To date, there’s demonstrable progress in the areas of expanded workload coverage: Stateful applications such as Zookeeper, etcd, MySQL, Cassandra, ElasticSearch Jobs, such as timed events to process the day’s logs or any other batch processing Machine Learning and compute-bound workload acceleration through Alpha GPU support Collectively, the folks working on Kubernetes are hearing from their customers that we need to go further. Following the tremendous popularity of containers in 2014, industry rhetoric circled around a more modern, container-based, datacenter-level workload orchestrator as folks looked to plan their next architectures. As a consequence, we began advocating for increasing the scope of workloads covered by Kubernetes, from overall concepts to specific features. Our aim is to put control and choice in users hands, helping them move with confidence towards whatever infrastructure strategy they choose. In this advocacy, we quickly found a large group of like-minded companies interested in broadening the types of workloads that Kubernetes can orchestrate. And thus the working group was born. Genesis of the Resource Management Working GroupAfter extensive development/feature discussions during the Kubernetes Developer Summit 2016 after CloudNativeCon | KubeCon Seattle, we decided to formalize our loosely organized group. In January 2017, the Kubernetes Resource Management Working Group was formed. This group (led by Derek Carr from Red Hat and Vishnu Kannan from Google) was originally cast as a temporary initiative to provide guidance back to sig-node and sig-scheduling (primarily). However, due to the cross-cutting nature of the goals within the working group, and the depth of roadmap quickly uncovered, the Resource Management Working Group became its own entity within the first few months. Recently, Brian Grant from Google (@bgrant0607) posted the following image on his Twitter feed. This image helps to explain the role of each SIG, and shows where the Resource Management Working Group fits into the overall project organization. To help bootstrap this effort, the Resource Management Working Group had its first face-to-face kickoff meeting in May 2017. Thanks to Google for hosting! Folks from Intel, NVIDIA, Google, IBM, Red Hat. and Microsoft (among others) participated. You can read the outcomes of that 3-day meeting here. The group’s prioritized list of features for increasing workload coverage on Kubernetes enumerated in the charter of the Resource Management Working group includes: Support for performance sensitive workloads (exclusive cores, cpu pinning strategies, NUMA) Integrating new hardware devices (GPUs, FPGAs, Infiniband, etc.) Improving resource isolation (local storage, hugepages, caches, etc.) Improving Quality of Service (performance SLOs) Performance benchmarking APIs and extensions related to the features mentioned above The discussions made it clear that there was tremendous overlap between needs for various workloads, and that we ought to de-duplicate requirements, and plumb generically. Workload CharacteristicsThe set of initially targeted use-cases share one or more of the following characteristics:Deterministic performance (address long tail latencies) Isolation within a single node, as well as within groups of nodes sharing a control plane Requirements on advanced hardware and/or software capabilities Predictable, reproducible placement: applications need granular guarantees around placement The Resource Management Working Group is spearheading the feature design and development in support of these workload requirements. Our goal is to provide best practices and patterns for these scenarios. Initial ScopeIn the months leading up to our recent face-to-face, we had discussed how to safely abstract resources in a way that retains portability and clean user experience, while still meeting application requirements. The working group came away with a multi-release roadmap that included 4 short- to mid-term targets with great overlap between target workloads:Device Manager (Plugin) ProposalKubernetes should provide access to hardware devices such as NICs, GPUs, FPGA, Infiniband and so on.CPU ManagerKubernetes should provide a way for users to request static CPU assignment via the Guaranteed QoS tier. No support for NUMA in this phase.HugePages support in KubernetesKubernetes should provide a way for users to consume huge pages of any size.Resource Class proposalKubernetes should implement an abstraction layer (analogous to StorageClasses) for devices other than CPU and memory that allows a user to consume a resource in a portable way. For example, how can a pod request a GPU that has a minimum amount of memory? Getting Involved & SummaryOur charter document includes a Contact Us section with links to our mailing list, Slack channel, and Zoom meetings. Recordings of previous meetings are uploaded to Youtube. We plan to discuss these topics and more at the 2017 Kubernetes Developer Summit at CloudNativeCon | KubeCon in Austin. Please come and join one of our meetings (users, customers, software and hardware vendors are all welcome) and contribute to the working group!
Quelle: kubernetes

Get Familiar with Docker Enterprise Edition Client Bundles

Docker Enterprise Edition (EE) is the only Containers as a Service (CaaS) Platform for IT that manages and secures diverse applications across disparate infrastructure, both on-premises and in the cloud.
There’s a little mentioned big feature in Docker Enterprise Edition (EE) that seems to always bring smiles to the room once it’s displayed. Before I tell you about it, let me first describe the use case. You’re a sysadmin managing a Docker cluster and you have the following requirements:

Different individuals in your LDAP/AD need various levels of access to the containers/services in your cluster
Some users need to be able to go inside the running containers.
Some users just need to be able to see the logs
You do NOT want to give SSH access to each host in your cluster.

Now, how do you achieve this? The answer, or feature rather, is a client bundle. When you do a docker version command you will see two entries. The client portion of the engine is able to connect to a local server AND a remote once a client bundle is invoked.

What is a client bundle?
A client bundle is a group of certificates downloadable directly from the Docker Universal Control Plane (UCP) user interface within the admin section for “My Profile”. This allows you to authorize a remote Docker engine to a specific user account managed in Docker EE, absorbing all associated RBAC controls in the process. You can now execute docker swarm commands from your remote machine that take effect on the remote cluster.
Example:
I have a user named ‘bkauf’ in my UCP. I download and extract a client bundle for this user.

I open a terminal session with my docker for mac and issue a docker version command. You will see the server version matches the client. I can do a docker ps and verify nothing is running.

Now, I navigate to the extracted bundle directory and run the env.sh script (env.ps1 for windows)

Notice the server now lists my version as ucp/2.2.2. This is the version of my UCP manager; I’m remotely connected from my laptop to my remote cluster assuming the bkauf user’s access levels. I can now do various things such as create a service, view its tasks(containers) and even log into this REMOTE container from my laptop all through the API, no SSH access needed. I need not worry about what host the container is on! This is made possible by the role/permission set up for the use with the granular Role Based Access Control available with Docker EE.

What about a Windows container on a Windows node in a UCP cluster you ask? Linux OR Windows nodes, remote access through your client bundle all works the same!

 Docker Enterprise Edition (EE) is the only Containers as a Service (CaaS) Platform for IT that manages and secures diverse applications across disparate infrastructure, both on-premises and in the cloud. Docker EE embraces both traditional applications and microservices, built on Linux and Windows, and intended for x86 servers, mainframes, and public clouds. Docker EE unites all of these applications into single platform, complete with customizable and flexible access control, support for a broad range of applications and infrastructure, and a highly automated software supply chain.
Learn More

Visit IT Starts with Docker and learn more about MTA
Learn more about Docker Enterprise Edition
Start a hosted trial
Sign up for upcoming webinars

Get Familiar with #Docker Enterprise Edition Client BundlesClick To Tweet

The post Get Familiar with Docker Enterprise Edition Client Bundles appeared first on Docker Blog.
Quelle: https://blog.docker.com/feed/

Docker Official Images are now Multi-platform

This past week, Docker rolled out a big update to our Official Images to make them multi-platform aware. Now, when you run `docker run hello-world`, Docker CE and EE will pull and run the correct hello-world image whether that’s for x86-64 Linux, Windows, ARM, IBM Z mainframes or any other system where Docker runs. With Docker rapidly adding support for additional operating systems (like Windows) and CPU architectures (like IBM Z) this is an important UX improvement.
Docker Official Images are a curated set of container images that include:

Base operating system images like Ubuntu, BusyBox and Debian
Ready-to-use build and runtime images for popular programming languages like Go, Python and Java
Easy-to-use images for data stores such as PostgreSQL, Neo4j and Redis
Pre-packaged software images to run WordPress, Ghost and Redmine and many other popular open source projects

The official images have always been available for x86-64 Linux. Images for non x86 Linux architectures have also been available, but to be fetched either from a different namespace (`docker pull s390x/golang` on IBM Z mainframe) or using a different tag (`docker pull golang:nanoserver` on Windows). This was not the seamless and portable experience that we wanted for users of Docker’s new multi-arch and and multi-os orchestration features.
Luckily the Docker registry and distribution protocol have supported multi-platform images since Docker 1.10, using a technology called manifest lists. A manifest list can take the place of a single-architecture image manifest in a registry (for example for `golang`) and contains a list of (“platform”, “manifest-reference”) tuples. If a registry responds to a `docker pull` command with a registry list instead of an image manifest, Docker examines the manifest list and then pull the correct list entry for the platform that it happens to be running on.
The distribution protocol is backwards compatible, and manifest lists are only served to clients that indicate support in the `Accept` header. For clients that don’t support manifest lists, registries will fall back to the x86-64 Linux image manifest. Manifest lists are fully supported by Docker Content Trust to ensure that multi-platform image content is cryptographically signed and verified.
Manifest lists have been rolled out for Linux images for most CPU architectures, and Windows support is also getting there. If your favorite CPU architecture or OS isn’t covered yet, you can always continue to use a CPU or OS-specific tag or image when pulling. Fetching images by digest is also unaffected by this update.
If you’re interested in building multi-arch images, check out Phil Estes’ manifest-list tool and keep track of the PR to add a manifest command to the Docker CLI.
Manifest lists and multi-arch Docker images have been in the works for a long time. We’re excited that these features are now making it simpler to pull and use Docker Official Repo images seamlessly on the many platforms where Docker is available.
Resources:

Phil Estes’ and Utz Bacher’s posts on Official Images going multi-arch
Official Repo documentation
Details on multi-arch official images
Official Repo GitHub org
Manifest-list specification

 

.@Docker Official Images are now Multi-platformClick To Tweet

The post Docker Official Images are now Multi-platform appeared first on Docker Blog.
Quelle: https://blog.docker.com/feed/

Docker at Microsoft Ignite 2017

Docker will be at Microsoft Ignite in Orlando, FL the week of Sept 24th to showcase the latest release of Docker Enterprise Edition (EE) and the joint solutions with our partner Microsoft. Docker Enterprise Edition is the only platform available to secure and manage Linux and Windows containers in production.
In the Docker Booth #2127
Visit Docker in Booth #2127 for a #DockerSelfie, a chance for cool swag and to learn more about how Docker Enterprise Edition can help you save costs on legacy applications, accelerate your cloud strategy and uniformly secure and manage your Linux and Windows app landscape.
Register Here for daily in-booth talks or to schedule time to ask questions about containers and clouds on Linux and Windows Server.

Monday 3pm: Save $ on Legacy Apps with Docker
Tuesday 11am: Windows and Linux Together with Docker EE
Tuesday 3pm: Docker Enterprise Edition Demo
Wednesday 11am: Take Legacy .NET Apps to Azure with Docker
Thursday 11am: Docker Enterprise Edition Demo

Add these great sessions to your schedule
Container Fest on Sunday Sept 24th:
Docker will be on hand at the Container Fest Pre Day to discuss the possibilities of Docker Enterprise Edition for modernizing traditional Windows and Linux applications. Talks will feature Docker product specialists and the MetLife team sharing their journey on Docker EE and Azure. Register to save your seat.
BRK3322  Wednesday 2:15pm
Windows Server feature release: How to maximize developer efficiency today and tomorrow
Join this session to learn more about Windows Server and Docker Enterprise Edition and how they are used together in practice at Fox Interactive to leverage the latest capabilities in Windows Server and accelerate their cloud strategy without having to recode apps to get started.
BRK3214  Thursday 9:00am
Containers: From Infrastructure to Applications on Thursday 9am:
MetLife is a global provider of insurance for life, auto & home, dental, vision and more. Attend the session to hear how they approach infrastructure and applications with containers and cloud with Docker Enterprise Edition and Azure to transform 150 years of technology and customer data. 
Cisco Booth #735

Tuesday 2:45pm: Modernize Traditional Apps with Docker EE and Cisco UCS

Swing by for an in booth session about the Cisco and Docker program to Modernize Traditional Apps (MTA) to the latest UCS servers. This program uses Docker EE to containerize Linux and Windows applications to accelerate tech refresh, increase security and gain IT efficiency. Join Partner Integration Engineer, Uday Shetty on the combined benefit of Docker EE on UCS.

Tuesday 4:00pm: Container Q&A at the Cisco Genius Bar

Are you an MVP? Stop by for Coffee & Chocolate with Elton Stoneman
On Wednesday at 1pm in the Docker booth Elton Stoneman, Docker Developer Advocate and Microsoft MVP, will discuss the Docker technology and the new resources exclusively available to Microsoft MVPs. Sign up here for this session.
Docker Meetup on Tuesday 5:00pm
Free workshop: Deploying Multi-OS Applications with Docker EE
Full Sail University – Bldg 4D, Room 108  – 517 S Semoran Blvd, Winter Park, FL
Enter through door with large “D” and glass facade. Parking in front.
Bring your laptop, it’s workshop time! Mike Coleman and Elton Stoneman are helping to present a workshop on deploying Multi-OS Applications with Docker EE. This is your opportunity to learn how enterprises can manage a diverse set of applications that includes both traditional applications and microservices, built on Linux and Windows, and intended for x86 servers, mainframes, and public clouds. Save your seat!
Learn More:

Sign up for a Docker booth talk
Learn more about Docker and Microsoft
Visit IT Starts with Docker and sign up for ongoing alerts
Start a hosted trial
Sign up for upcoming webinars
Check out the video series: Modernize .NET Apps

Check out all the #Docker sessions and activities at #MSIngiteClick To Tweet

The post Docker at Microsoft Ignite 2017 appeared first on Docker Blog.
Quelle: https://blog.docker.com/feed/

Preview: Linux Containers on Windows

Microsoft is getting ready for the next big update for Windows Server (check out today’s complimentary Microsoft blog post) and some of the new features are very exciting for Docker users. One of the most important enhancements is that Docker can now run Linux containers on Windows, using Hyper-V technology.
Running Docker Linux containers on Windows requires a minimal Linux kernel and userland to host the container processes. This is exactly what the LinuxKit toolkit was designed for: creating secure, lean and portable Linux subsystems that can provide Linux container functionality as a component of a container platform.
We’ve been busy prototyping LinuxKit support for Docker Linux containers on Windows and have a working preview for you to try. This is still a work in progress, and requires either the recently announced  “Windows Server Insider” or Windows 10 Insider builds.
 
Running Docker Linux Containers on Windows with LinuxKit
The instructions below have been tested on Windows 10 and Windows Server Insider builds 16278 and 16281.
Be sure to install Docker for Windows (Windows 10) or Docker Enterprise Edition (Windows Server Insider) before starting.

Setup Docker and LinuxKit
A preview build of  LinuxKit is available by simply running the following commands in PowerShell (with Administrator rights):
$progressPreference = ‘silentlyContinue’
mkdir “$Env:ProgramFilesLinux Containers”

Invoke-WebRequest -UseBasicParsing -OutFile linuxkit.zip <https://github.com/friism/linuxkit/releases/download/preview-1/linuxkit.zip<

Expand-Archive linuxkit.zip -DestinationPath “$Env:ProgramFilesLinux Containers.”
rm linuxkit.zip
Now get a master branch build of the Docker daemon that contains preview support for Linux containers on Windows:
Invoke-WebRequest -UseBasicParsing -OutFile dockerd.exe https://master.dockerproject.org/windows/x86_64/dockerd.exe
Start a new Docker daemon listening on a separate pipe and using a separate storage location from the default install:
$Env:LCOW_SUPPORTED=1
.dockerd.exe -D -H “npipe:////./pipe//docker_lcow” –data-root c:lcow
Try it
Run a Linux container:
docker -H “npipe:////./pipe//docker_lcow” run -ti busyboxbusybox@sha256:b82b5740006c1ab823596d2c07f081084ecdb32fd258072707b99f52a3cb8692 sh
Docker just launched a minimal VM running a LinuxKit instance hosting the Linux container!
Since this is an early preview there are some limitations, but basic Docker operations like pull and run work.

Looking ahead
Both Windows Server Insider builds and Docker support for Linux containers on Windows are in early preview mode. When GA, Docker Linux containers on Windows will improve the Docker Linux container experience for both Windows developers and server administrators. Developers will be able to more easily build and test mixed Windows/Linux Docker applications by running containers for both platforms side-by-side on the same system.
And IT-admins that prefer Windows will soon be able to easily run (mostly) Linux-only software like HAProxy and Redis on Windows systems by way of Docker Linux containers on Windows. For example, Docker Linux containers on Windows will make setting up Docker Enterprise Edition and Universal Control Plane (which relies on some Linux-only components) on Windows Server much simpler.
We hope this LinuxKit-based walkthrough will set you up to start experimenting. Feedback is always welcome! For general help and getting started with Insider builds use the Windows Feedback Hub (Windows 10), or the Windows Server Insiders Tech Community. For issues with LinuxKit and Docker support for Linux containers on Windows use the Docker for Windows issue tracker on GitHub. And let us know on Twitter if you build something cool!
 
More Resources:

Read the complimentary post about Linux Container on Windows on the Microsoft blog
Download Docker for Windows 10 and Docker for Windows Server
Learn more about Docker Enterprise Edition
Attend the Linux Container on Windows and LinuxKit sessions @DockerCon

Preview @Linux Containers on @Windows using #LinuxKit by @neugebar cc @MS_ITProClick To Tweet

The post Preview: Linux Containers on Windows appeared first on Docker Blog.
Quelle: https://blog.docker.com/feed/

Docker Enterprise Edition for Linux on IBM Z (yes, mainframe!)

Recently we released a new version of Docker Enterprise Edition featuring expansion of the multi-architecture capabilities from Linux to Windows Server and now the IBM Z mainframe platform. Enterprise IT architecture is complex and diverse and include workloads across different server hardware types and operating systems.
Docker and IBM have partnered together to deliver the support for Red Hat Enterprise Linux, Ubuntu and SUSE Linux Enterprise Server for IBM Z (x390x) systems as certified infrastructure for Docker Enterprise Edition. This first release features support for the the IBM Z product family.
Why bring Docker containers and mainframe systems together? Enterprises across industries like financial services, government, manufacturing and more use mainframe systems for many high throughput applications. Many organizations recognize that these applications are at the core of their systems but rewriting and refactoring them for a different platform is expensive and time-consuming. By wrapping them in a container, organizations can make these applications easier to maintain and update while bringing them into the same software supply chain as other x86 applications
Multi-Architecture Support for Mainframe Systems
Docker Enterprise Edition allows for the same orchestration, security model, supply chain and integrated management that can be applied across a broader range of your application portfolio and drive IT operational efficiency.
Multi-architecture support means that a single cluster of worker nodes can include x86 Linux and Windows Server in addition to mainframe systems. Each server or VM will have their respective Docker Enterprise Edition installed and with swarm mode activated, the cluster will form and be orchestrated by the manager nodes running the control plane. Today, all manager nodes remain x86 Linux nodes that manage and orchestrate the heterogeneous cluster. The Trusted Registry, Image Scanning and Signing can all be applied to containerized mainframe applications. The granular Role Based Access Control (RBAC) and labels can also be applied to the diverse set of nodes in the cluster and containers in the registry. The best part is the same UI, same process and operating model can be applied across all these different application types.
Try Docker on IBMZ
Docker Enterprise Edition for Linux on IBM Z is available directly from IBM and their network of channel partners. Level 1 and Level 2 support is provided directly by IBM support engineers. Companies who already have a mainframe footprint can extend their existing partnership with IBM to add Docker EE to their technology stack for their critical applications.
Additionally, IBM recently announced a new release of the enterprise Linux platform designed specifically for mainframe systems. This next generation of IBM LinuxONE systems and Docker EE together provide complementary security capabilities from the system to the application and the ability for massive scale – up to two million containers per system.
Learn More:

Learn more about Docker Enterprise Edition and try online
About the Docker and IBM partnership
Contact Sales to try Docker on IBM Z

.@Docker Enterprise Edition for @Linux on @IBM Z (yes, #mainframe!) cc @IBMzSystemsClick To Tweet

The post Docker Enterprise Edition for Linux on IBM Z (yes, mainframe!) appeared first on Docker Blog.
Quelle: https://blog.docker.com/feed/

Windows Networking at Parity with Linux for Kubernetes

Editor’s note: today’s post is by Jason Messer, Principal PM Manager at Microsoft, on improvements to the Windows network stack to support the Kubernetes CNI model.Since I last blogged about Kubernetes Networking for Windows four months ago, the Windows Core Networking team has made tremendous progress in both the platform and open source Kubernetes projects. With the updates, Windows is now on par with Linux in terms of networking. Customers can now deploy mixed-OS, Kubernetes clusters in any environment including Azure, on-premises, and on 3rd-party cloud stacks with the same network primitives and topologies supported on Linux without any workarounds, “hacks”, or 3rd-party switch extensions.”So what?”, you may ask. There are multiple application and infrastructure-related reasons why these platform improvements make a substantial difference in the lives of developers and operations teams wanting to run Kubernetes.  Read on to learn more!Tightly-Coupled CommunicationThese improvements enable tightly-coupled communication between multiple Windows Server containers (without Hyper-V isolation) within a single “Pod”. Think of Pods as the scheduling unit for the Kubernetes cluster, inside of which, one or more application containers are co-located and able to share storage and networking resources. All containers within a Pod shared the same IP address and port range and are able to communicate with each other using localhost. This enables applications to easily leverage “helper” programs for tasks such as monitoring, configuration updates, log management, and proxies. Another way to think of a Pod is as a compute host with the app containers representing processes.Simplified Network TopologyWe also simplified the network topology on Windows nodes in a Kubernetes cluster by reducing the number of endpoints required per container (or more generally, per pod) to one. Previously, Windows containers (pods) running in a Kubernetes cluster required two endpoints – one for external (internet) communication and a second for intra-cluster communication between other nodes or pods in the cluster. This was due to the fact that external communication from containers attached to a host network with local scope (i.e. not publicly routable) required a NAT operation which could only be provided through the Windows NAT (WinNAT) component on the host. Intra-cluster communication required containers to be attached to a separate network with “global” (cluster-level) scope through a second endpoint. Recent platform improvements now enable NAT”ing to occur directly on a container endpoint which is implemented with the Microsoft Virtual Filtering Platform (VFP) Hyper-V switch extension. Now, both external and intra-cluster traffic can flow through a single endpoint.Load-Balancing using VFP in Windows kernelKubernetes worker nodes rely on the kube-proxy to load-balance ingress network traffic to Service IPs between pods in a cluster. Previous versions of Windows implemented the Kube-proxy’s load-balancing through a user-space proxy. We recently added support for “Proxy mode: iptables” which is implemented using VFP in the Windows kernel so that any IP traffic can be load-balanced more efficiently by the Windows OS kernel. Users can also configure an external load balancer by specifying the externalIP parameter in a service definition. In addition to the aforementioned improvements, we have also added platform support for the following:Support for DNS search suffixes per container / Pod (Docker improvement – removes additional work previously done by kube-proxy to append DNS suffixes)[Platform Support] 5-tuple rules for creating ACLs (Looking for help from community to integrate this with support for K8s Network Policy)Now that Windows Server has joined the Windows Insider Program, customers and partners can take advantage of these new platform features today which accrue value to eagerly anticipated, new feature release later this year and new build after six months. The latest Windows Server insider build now includes support for all of these platform improvements.In addition to the platform improvements  for Windows, the team submitted code (PRs) for CNI, kubelet, and kube-proxy with the goal of mainlining Windows support into the Kubernetes v1.8 release. These PRs remove previous work-arounds required on Windows for items such as user-mode proxy for internal load balancing, appending additional DNS suffixes to each Kube-DNS request, and a separate container endpoint for external (internet) connectivity.https://github.com/kubernetes/kubernetes/pull/51063https://github.com/kubernetes/kubernetes/pull/51064These new platform features and work on kubelet and kube-proxy align with the CNI network model used by Kubernetes on Linux and simplify the deployment of a K8s cluster without additional configuration or custom (Azure) resource templates. To this end, we completed work on CNI network and IPAM plugins to create/remove endpoints and manage IP addresses. The CNI plugin works through kubelet to target the Windows Host Networking Service (HNS) APIs to create an ‘l2bridge’ network (analogous to macvlan on Linux) which is enforced by the VFP switch extension.The ‘l2bridge’ network driver re-writes the MAC address of container network traffic on ingress and egress to use the container host’s MAC address. This obviates the need for multiple MAC addresses (one per container running on the host) to be “learned” by the upstream network switch port to which the container host is connected. This preserves memory space in physical switch TCAM tables and relies on the Hyper-V virtual switch to do MAC address translation in the host to forward traffic to the correct container. IP addresses are managed by a default, Windows IPAM plug-in which requires that POD CIDR IPs be taken from the container host’s network IP space.The team demoed (link to video) these new platform features and open-source updates to the SIG-Windows group on 8/8. We are working with the community to merge the kubelet and kube-proxy PRs to mainline these changes in time for the Kubernetes v1.8 release due out this September. These capabilities can then be used on current Windows Server insider builds and the Windows Server, version 1709.Soon after RTM, we will also introduce these improvements into the Azure Container Service (ACS) so that Windows worker nodes and the containers hosted are first-class, Azure VNet citizens. An Azure IPAM plugin for Windows CNI will enable these endpoints to directly attach to Azure VNets with network policies for Windows containers enforced the same way as VMs.FeatureWindows Server 2016 (In-Market)Next Windows Server Feature Release, Semi-Annual ChannelLinuxMultiple Containers per Pod with shared network namespace (Compartment)One Container per Pod✔✔Single (Shared) Endpoint per PodTwo endpoints: WinNAT (External) + Transparent (Intra-Cluster)✔✔User-Mode, Load Balancing✔✔✔Kernel-Mode, Load Balancing Not Supported✔✔Support for DNS search suffixes per Pod (Docker update)Kube-Proxy  added multiple DNS suffixes to each request✔✔CNI Plugin Support Not Supported✔✔The Kubernetes SIG Windows group meets bi-weekly on Tuesdays at 12:30 PM ET. To join or view notes from previous meetings, check out this document.
Quelle: kubernetes

Secure Multi-Tenancy at Scale with Docker Enterprise Edition

With the latest release of Docker Enterprise Edition (EE), enterprise organizations are able to extend the benefits of containers across their entire application portfolio. Docker EE enables rapid modernization of traditional Windows and Linux applications as well as Linux applications running on IBM Z mainframes. By addressing all of these applications, Docker EE provides the opportunity to standardize around a common packaging format for greater portability, agility, and with an additional layer of security, resulting in more teams bringing their workloads into Docker EE.
The key to operating this diverse environment is to have a way to secure and isolate the applications and the multiple teams who build, ship, and deploy them. This release of Docker Enterprise Edition makes it possible for organizations to modernize traditional applications of every variety and to do so in a secure manner that aligns to complex organizational needs.
Building a Secure Software Supply Chain for Windows Applications
 

Windows applications make up about half of all enterprise applications. Docker has been working closely with Microsoft to ensure that the same security benefits that are available to Linux containers are also available to Windows Server containers. When Windows containers are managed with Docker EE, organizations get access to the same secure end-to-end software supply chain that is based on usable security features and trusted delivery across any infrastructure. For example, Docker EE security features like image signing and Windows Server security features like Windows Code Integrity combine to ensure the integrity of the applications that you deploy into production.
Docker and Microsoft have worked together to help our customers deliver safer apps. This joint effort is described in this new white paper, Delivering Safer Apps with Docker Enterprise Edition and Windows Server 2016. You can also read more about this in this Microsoft TechNet blog.  
Granular and Flexible Multi-Tenancy
Docker Enterprise Edition now includes the ability to define custom granular Role-based Access Controls (RBAC) down to the API operation level. This latest release also introduces a new resource control model that allows organizations to define resource collections which are granted to specific users, teams or orgs. These combine to deliver powerful access controls that align to any organization.

To learn more about these new capabilities, be sure to review the Docker Enterprise Edition documentation and register for the upcoming webinar Enhanced Access Controls with Docker Enterprise Edition delivered by Mark Church from our Customer Success team.

Check out these new #Docker assets to help you modernize your traditional applicationsClick To Tweet

Learn more about Docker Enterprise Edition:

Watch this video series about modernizing .NET applications
Read more about Docker Enterprise Edition
Register for other upcoming webinars

The post Secure Multi-Tenancy at Scale with Docker Enterprise Edition appeared first on Docker Blog.
Quelle: https://blog.docker.com/feed/

Docker in the Enterprise Showcased at VMworld 2017

Last week, in the blistering heat of Las Vegas, Docker had a chance to interact with thousands of VMworld attendees to talk about containers. The message we heard again and again was that those in charge of infrastructure and virtualization are now being asked to manage containers. Sometimes it is being driven by developer teams that are already using Docker, but sometimes it is the infrastructure teams who recognize the benefits of moving applications to containers for easier maintenance and operations as well as cost savings. With Docker Enterprise Edition (EE), we have a solution that is designed to let IT secure and manage containerized applications.
Learn More About Docker for VMware Admins
If you’re interested in learning more about how Docker EE allows IT to improve operations, move workloads to the cloud and increase application agility all while saving costs, we’re happy to be partnering with the VMware User Group (VMUG) to deliver a webcast tomorrow. Register now to see how Docker EE is being used by some of the world’s largest container deployments, how Docker works with Windows applications or to clarify any confusion you may have about how Docker containers and VMs work together.
Docker + vSphere: Two Great Tools That Work Great Together
Wednesday, September 6
12:00 PM Central / 10:00 AM Pacific
Experience Docker EE Yourself
Attendees were able to play with Docker EE through our in-booth hands-on demos at VMworld, but don’t worry if you missed the conference! You can get that same experience at home through the hosted trial environments at https://www.docker.com/trial. Without any software to install, you can get access within minutes to a full Docker EE Advanced environment complete with the primary administrative interface and private registry solution, Docker Trusted Registry. Once inside the environment, you can follow the provided guide or explore and learn on your own.

For more on Docker Enterprise Edition:

Read more about Docker Enterprise Edition
Watch this video series about the latest release of Docker EE
Register for other upcoming webinars
Visit Docker for IT Professionals site to learn how Docker is used by IT team

Register for tomorrow’s #VMUG webcast about how #Docker and #VMware can work togetherClick To Tweet

The post Docker in the Enterprise Showcased at VMworld 2017 appeared first on Docker Blog.
Quelle: https://blog.docker.com/feed/

Docker in Higher Education: Announcing Tools & Resources for Teachers

At the beginning of the summer we published a blog post announcing the Docker Student Developer Kit and Campus Ambassador program. The positive reception from students has been overwhelming and we were so excited to see hundreds of applications flood in!
Many teachers took notice of the enthusiasm of their students and began to reach out, asking us for tools, resources and support in using Docker in the classroom and adding Docker to their curriculum. To this end we have put together a free package for teachers!
Making use of this offer will enable teachers to effectively use and teach Docker in the classroom as we will be able to provide:

Free Tools: eliminating the need for students to install anything locally, thus saving you valuable class time
Resources: the most up to date presentations, hands-on labs, workshops etc. on every topic for every skill level
Support and recognition: you will have a dedicated contact at Docker to help you through the process and also be welcomed into the online Docker Teachers community where you can collaborate and learn from other educators

If you are a teacher at a higher-education institution who would like to unlock the benefits outlined above, please fill in this form and we will get in touch with next steps.
If you are still unsure about whether Docker is right for your classroom, Michael Irwin, Computer Science Instructor at Virginia Tech, has some wisdom to share. He believes that using Docker will save time and hassle in the classroom and show students that your course material is cutting edge:
“When a class starts up especially if it’s a language or a framework that they [the students] have never used before, they are spending the whole first day saying ‘Uugh.. How do I install everything? How do I configure the various pieces?’ … Using Docker allows more time for instruction and more time for the instructor to actually talk about the material itself rather than spending so much time on the periphery talking about ‘how do you set everything up?’”
“A lot of the time curriculum is written several years ago. Things have changed, but the documentation hasn’t been updated along with it.”
“Doing this kind of stuff shows them [the students] that we are playing with the latest and greatest. You can use Docker, you can use these containers and then you can use the right tool for the job to solve the problem at hand.”

To unlock Docker greatness in your classroom, please fill in this form.

#Docker unveils free tools, resources & support for teachers in higher educationClick To Tweet

The post Docker in Higher Education: Announcing Tools & Resources for Teachers appeared first on Docker Blog.
Quelle: https://blog.docker.com/feed/