Enhancements to Container Engine and Container Registry

DevOps teams are adopting containers to make their development and deployment simpler. Google Cloud Platform has a complete suite of container offerings including Google Container Engine and Google Container Registry. Today we’re introducing some enhancements to them both, along with updates to our ecosystem to give you more options in managing container images and running services.

Container Registry

Docker Registry V2 API support. You can now push and pull Docker images to Container Registry using the V2 API. This allows you to have content addressable references, parallel layer downloads and digest-based pulls. Docker versions 1.6 and above support the v2 API, it’s recommended to upgrade to the latest version. If you’re using a mix of Docker client versions, see the newest Docker documentation to check compatibility.

Performance enhancements. Based on internal performance testing, this update pulls images 40% faster than the previous version.

Advanced Authentication. If you use a continuous delivery system (and we hope you do), it’s even easier to make it work with Container Registry, see the auth documentation page for details and setup. Learn how it works with popular CI/CD systems including Circle, Codeship, Drone.io, Jenkins, Shippable and Wercker.

TwistLock Integration. TwistLock provides rule violation detection and policy enforcement for containers in a registry or at runtime. They recently completed a Beta with 15 customers with positive results. Using TwistLock with GCR and GKE is really simple. See their blog for more details.

Container Engine

Today, on the heels of the Kubernetes 1.1 release, we’re bring the latest from Kubernetes to Container Engine users. The performance improvements in this release ensure you can run Google Container Engine in high-scale environments. Additional highlights of this release include:

  • Horizontal pod autoscaling helps resolve the uneven experiences users see when workloads go through spiky periods of utilization, meaning your pods can scale up and down based on CPU usage.

  • HTTP load balancer that enables routing traffic to different Kubernetes services based on HTTP traffic, such as using different services for sub-URLs.

  • A re-architected networking system that allows native iptables and reduces tail latency by up to 80%, virtually eliminating CPU overhead and improving reliability. Available in Beta, you can manually choose to enable this in GKE by running the following shell command:
             for node in $(kubectl get nodes -o name | cut -f2 -d/); do
                   kubectl annotate node $node 
                   gcloud compute ssh --zone=us-central1-b $node 
                      --command="sudo /etc/init.d/kube-proxy restart";

These and other updates in the 1.1 release will be rolled out to all Container Engine users over the next week. Send us your feedback and connect with the community on the google-containers mailing list or on the Kubernetes google-containers Slack channel.

If you’re new to the Google Cloud Platform, getting started is easy. Sign up for your free trial here.

- Posted by Kit Merker, Product Manager, Google Cloud Platform