anchor.diff:  
   == S3 bucket to store Kubernetes config
   
  -Kops needs a "`state store`" to store configuration information of the cluster.  For example, how many nodes in the cluster, the instance type of each node, and the Kubernetes version. The state is stored during the initial cluster creation. Any subsequent changes to the cluster are also persisted to this store. As of now, Amazon S3 is the only supported storage mechanism. Create an S3 bucket and pass that to the kops CLI during cluster creation.
  +Kops needs a "`state store`" to store configuration information of the cluster.  For example, how many nodes in the cluster, the instance type of each node, and the Kubernetes version. The state is stored during the initial cluster creation. Any subsequent changes to the cluster are also persisted to this store. As of now, Amazon S3 is the only supported storage mechanism. Create an S3 bucket and pass that to the kops CLI during cluster creation. The bucket name must be unique otherwise you will encounter an error on deployment. For demonstration purposes only, we will use an example bucket name of example-state-store.
       
       # create variables for bucket, state store and cluster names
  -    export KOPS_CLUSTER_NAME=example.cluster.com [Choose Cluster Name]
  -    export CONFIG_BUCKET_NAME=example-config [Choose Unique Bucket Name]
  -    export KOPS_STATE_STORE=s3://$CONFIG_BUCKET_NAME
  +    export KOPS_STATE_STORE=s3://example-state-store
   
       # use aws cli to create bucket
       aws s3 mb $KOPS_STATE_STORE --region $AWS_DEFAULT_REGION
       
       # enable versioning and export
       aws s3api put-bucket-versioning \
  -      --bucket $CONFIG_BUCKET_NAME \
  +      --bucket example-state-store \
         --versioning-configuration \
         Status=Enabled
   
  
positive.code: 
  For a cluster created using kops, this can be done by editing the cluster configuration using the command shown:
  
    kops edit cluster --name cluster.k8s.local
  
  This will open up the cluster configuration in a text editor. Update the `spec` attribute such that it looks like as shown:
  
  
negative.code: 
  === Create a gossip-based Kubernetes cluster
  
  Kops also has experimental support for a gossip-based cluster. It uses Weave Mesh behind the scenes. This makes the process of creating a Kubernetes cluster using kops DNS-free, and much simpler. This also means a top-level domain or a subdomain is no longer required to create the cluster. To create a cluster using the gossip protocol, indicate this to Kops by using a cluster name with a suffix of `.k8s.local`. In the following steps, we will use example.cluster.k8s.local as a sample cluster name.
  
  This is a fairly recent feature, so we recommend you continue to use DNS for production clusters. However, setting up a gossip-based cluster allows you to get started rather quickly.
  
  