add kubernetes single
diff --git a/kubernetes/master/single.yml b/kubernetes/master/single.yml
new file mode 100644
index 0000000..5f0dfdc
--- /dev/null
+++ b/kubernetes/master/single.yml
@@ -0,0 +1,8 @@
+classes:
+- service.kubernetes.master.single
+parameters:
+  kubernetes:
+    master:
+      container: false
+      network:
+        engine: calico
\ No newline at end of file
diff --git a/kubernetes/pool/single.yml b/kubernetes/pool/single.yml
new file mode 100644
index 0000000..68e3844
--- /dev/null
+++ b/kubernetes/pool/single.yml
@@ -0,0 +1,9 @@
+classes:
+- service.kubernetes.pool.single
+- service.docker.host
+parameters:
+  kubernetes:
+    pool:
+      container: false
+      network:
+        engine: calico
\ No newline at end of file
diff --git a/reclass/storage/system/kubernetes_control_single.yml b/reclass/storage/system/kubernetes_control_single.yml
new file mode 100644
index 0000000..c88e3c3
--- /dev/null
+++ b/reclass/storage/system/kubernetes_control_single.yml
@@ -0,0 +1,15 @@
+parameters:
+  _param:
+    kubernetes_control_node01_hostname: ctl01
+  reclass:
+    storage:
+      node:
+        kubernetes_control_node01:
+          name: ${_param:kubernetes_control_node01_hostname}
+          domain: ${_param:cluster_domain}
+          classes:
+          - cluster.${_param:cluster_name}.kubernetes.control
+          params:
+            salt_master_host: ${_param:reclass_config_master}
+            linux_system_codename: xenial
+            single_address: ${_param:kubernetes_control_node01_address}
\ No newline at end of file
diff --git a/salt/minion/cert/k8s_client_single.yml b/salt/minion/cert/k8s_client_single.yml
new file mode 100644
index 0000000..179d534
--- /dev/null
+++ b/salt/minion/cert/k8s_client_single.yml
@@ -0,0 +1,13 @@
+parameters:
+  salt:
+    minion:
+      cert:
+        k8s_client:
+          host: ${_param:salt_minion_ca_host}
+          authority: ${_param:salt_minion_ca_authority}
+          key_file: /etc/kubernetes/ssl/kubelet-client.key
+          cert_file: /etc/kubernetes/ssl/kubelet-client.crt
+          ca_file: /etc/kubernetes/ssl/ca-kubernetes.crt
+          common_name: kubelet-client
+          signing_policy: cert_client
+          alternative_names: IP:${_param:control_address},IP:${_param:kubernetes_internal_api_address}
\ No newline at end of file
diff --git a/salt/minion/cert/k8s_server_single.yml b/salt/minion/cert/k8s_server_single.yml
new file mode 100644
index 0000000..33637e4
--- /dev/null
+++ b/salt/minion/cert/k8s_server_single.yml
@@ -0,0 +1,13 @@
+parameters:
+  salt:
+    minion:
+      cert:
+        k8s_server:
+          host: ${_param:salt_minion_ca_host}
+          authority: ${_param:salt_minion_ca_authority}
+          common_name: kubernetes-server
+          key_file: /srv/salt/env/${_param:salt_master_base_environment}/_certs/kubernetes/kubernetes-server.key
+          cert_file: /srv/salt/env/${_param:salt_master_base_environment}/_certs/kubernetes/kubernetes-server.crt
+          all_file: /srv/salt/env/${_param:salt_master_base_environment}/_certs/kubernetes/kubernetes-server.pem
+          signing_policy: cert_server
+          alternative_names: IP:${_param:control_address},IP:${_param:kubernetes_internal_api_address}