diff --git a/roles/kubernetes/preinstall/tasks/verify-settings.yml b/roles/kubernetes/preinstall/tasks/verify-settings.yml
index 6910824a52f97320726f97400a668dafe40e8298..cc18623472ae0cf5beae27d445e6a1be716ace53 100644
--- a/roles/kubernetes/preinstall/tasks/verify-settings.yml
+++ b/roles/kubernetes/preinstall/tasks/verify-settings.yml
@@ -106,6 +106,6 @@
 
 - name: Stop if bad hostname
   assert:
-    that: inventory_hostname | match("[a-z0-9]([-a-z0-9]*[a-z0-9])?$")
-    msg: "Hostname must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character"
+    that: inventory_hostname | match("[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$")
+    msg: "Hostname must consist of lower case alphanumeric characters, '.' or '-', and must start and end with an alphanumeric character"
   ignore_errors: "{{ ignore_assert_errors }}"