2121
2222-- KVM: enable storage data motion on KVM hypervisor_capabilities
2323UPDATE ` cloud` .` hypervisor_capabilities` SET ` storage_motion_supported` = 1 WHERE ` hypervisor_capabilities` .` hypervisor_type` = ' KVM' ;
24+
25+ -- Kubernetes service
26+ CREATE TABLE IF NOT EXISTS ` cloud` .` kubernetes_cluster` (
27+ ` id` bigint unsigned NOT NULL auto_increment COMMENT ' id' ,
28+ ` uuid` varchar (40 ) DEFAULT NULL ,
29+ ` name` varchar (255 ) NOT NULL ,
30+ ` description` varchar (4096 ) COMMENT ' display text for this kubernetes cluster' ,
31+ ` zone_id` bigint unsigned NOT NULL COMMENT ' zone id' ,
32+ ` kubernetes_version_id` bigint unsigned NOT NULL COMMENT ' kubernetes version id for the cluster' ,
33+ ` service_offering_id` bigint unsigned COMMENT ' service offering id for the cluster VM' ,
34+ ` template_id` bigint unsigned COMMENT ' vm_template.id' ,
35+ ` network_id` bigint unsigned COMMENT ' network this kubernetes cluster uses' ,
36+ ` node_count` bigint NOT NULL default ' 0' ,
37+ ` account_id` bigint unsigned NOT NULL COMMENT ' owner of this cluster' ,
38+ ` domain_id` bigint unsigned NOT NULL COMMENT ' owner of this cluster' ,
39+ ` state` char (32 ) NOT NULL COMMENT ' current state of this cluster' ,
40+ ` key_pair` varchar (40 ),
41+ ` cores` bigint unsigned NOT NULL COMMENT ' number of cores' ,
42+ ` memory` bigint unsigned NOT NULL COMMENT ' total memory' ,
43+ ` node_root_disk_size` bigint (20 ) unsigned DEFAULT 0 COMMENT ' root disk size of root disk for each node' ,
44+ ` endpoint` varchar (255 ) COMMENT ' url endpoint of the kubernetes cluster manager api access' ,
45+ ` console_endpoint` varchar (255 ) COMMENT ' url for the kubernetes cluster manager dashbaord' ,
46+ ` created` datetime NOT NULL COMMENT ' date created' ,
47+ ` removed` datetime COMMENT ' date removed if not null' ,
48+ ` gc` tinyint unsigned NOT NULL DEFAULT 1 COMMENT ' gc this kubernetes cluster or not' ,
49+
50+ PRIMARY KEY (` id` ),
51+ CONSTRAINT ` fk_cluster__zone_id` FOREIGN KEY ` fk_cluster__zone_id` (` zone_id` ) REFERENCES ` data_center` (` id` ) ON DELETE CASCADE ,
52+ CONSTRAINT ` fk_cluster__kubernetes_version_id` FOREIGN KEY ` fk_cluster__kubernetes_version_id` (` kubernetes_version_id` ) REFERENCES ` kubernetes_supported_version` (` id` ) ON DELETE CASCADE ,
53+ CONSTRAINT ` fk_cluster__service_offering_id` FOREIGN KEY ` fk_cluster__service_offering_id` (` service_offering_id` ) REFERENCES ` service_offering` (` id` ) ON DELETE CASCADE ,
54+ CONSTRAINT ` fk_cluster__template_id` FOREIGN KEY ` fk_cluster__template_id` (` template_id` ) REFERENCES ` vm_template` (` id` ) ON DELETE CASCADE ,
55+ CONSTRAINT ` fk_cluster__network_id` FOREIGN KEY ` fk_cluster__network_id` (` network_id` ) REFERENCES ` networks` (` id` ) ON DELETE CASCADE
56+ ) ENGINE= InnoDB DEFAULT CHARSET= utf8;
57+
58+ CREATE TABLE IF NOT EXISTS ` cloud` .` kubernetes_cluster_vm_map` (
59+ ` id` bigint unsigned NOT NULL auto_increment COMMENT ' id' ,
60+ ` cluster_id` bigint unsigned NOT NULL COMMENT ' cluster id' ,
61+ ` vm_id` bigint unsigned NOT NULL COMMENT ' vm id' ,
62+
63+ PRIMARY KEY (` id` ),
64+ CONSTRAINT ` fk_kubernetes_cluster_vm_map__cluster_id` FOREIGN KEY ` fk_kubernetes_cluster_vm_map__cluster_id` (` cluster_id` ) REFERENCES ` kubernetes_cluster` (` id` ) ON DELETE CASCADE
65+ ) ENGINE= InnoDB DEFAULT CHARSET= utf8;
66+
67+ CREATE TABLE IF NOT EXISTS ` cloud` .` kubernetes_cluster_details` (
68+ ` id` bigint unsigned NOT NULL auto_increment COMMENT ' id' ,
69+ ` cluster_id` bigint unsigned NOT NULL COMMENT ' kubernetes cluster id' ,
70+ ` name` varchar (255 ) NOT NULL ,
71+ ` value` varchar (10240 ) NOT NULL ,
72+ ` display` tinyint (1 ) NOT NULL DEFAULT ' 1' COMMENT ' True if the detail can be displayed to the end user' ,
73+
74+ PRIMARY KEY (` id` ),
75+ CONSTRAINT ` fk_kubernetes_cluster_details__cluster_id` FOREIGN KEY ` fk_kubernetes_cluster_details__cluster_id` (` cluster_id` ) REFERENCES ` kubernetes_cluster` (` id` ) ON DELETE CASCADE
76+ ) ENGINE= InnoDB DEFAULT CHARSET= utf8;
77+
78+ CREATE TABLE IF NOT EXISTS ` cloud` .` kubernetes_supported_version` (
79+ ` id` bigint unsigned NOT NULL auto_increment COMMENT ' id' ,
80+ ` uuid` varchar (40 ) DEFAULT NULL COMMENT ' uuid' ,
81+ ` name` varchar (255 ) NOT NULL COMMENT ' kubernetes version name' ,
82+ ` iso_id` bigint unsigned NOT NULL COMMENT ' kubernetes version binary ISO id' ,
83+ ` zone_id` bigint unsigned DEFAULT NULL COMMENT ' zone id in which kubernetes version is available' ,
84+ ` created` datetime NOT NULL COMMENT ' date created' ,
85+ ` removed` datetime COMMENT ' date removed if not null' ,
86+
87+ PRIMARY KEY (` id` ),
88+ CONSTRAINT ` fk_kubernetes_supported_version__iso_id` FOREIGN KEY ` fk_kubernetes_supported_version__iso_id` (` iso_id` ) REFERENCES ` vm_template` (` id` ) ON DELETE CASCADE ,
89+ CONSTRAINT ` fk_kubernetes_supported_version__zone_id` FOREIGN KEY ` fk_kubernetes_supported_version__zone_id` (` zone_id` ) REFERENCES ` data_center` (` id` ) ON DELETE CASCADE
90+ ) ENGINE= InnoDB DEFAULT CHARSET= utf8;
91+
92+ INSERT IGNORE INTO ` cloud` .` configuration` VALUES (' Advanced' , ' DEFAULT' , ' management-server' ,
93+ ' cloud.kubernetes.cluster.template.name' , " Kubernetes-Service-Template" , ' Name of the template to be used for creating Kubernetes cluster nodes' , ' Kubernetes-Service-Template' , NULL , NULL , 0 );
94+
95+ INSERT IGNORE INTO ` cloud` .` configuration` VALUES (' Advanced' , ' DEFAULT' , ' management-server' ,
96+ ' cloud.kubernetes.cluster.binaries.iso.name' , ' Kubernetes-Service-Binaries-ISO' , ' Name of the ISO that contains Kubernetes binaries and docker images for offline installation.' , ' Kubernetes-Service-Binaries-ISO' , NULL , NULL , 0 );
97+
98+ INSERT IGNORE INTO ` cloud` .` configuration` VALUES (' Advanced' , ' DEFAULT' , ' management-server' ,
99+ ' cloud.kubernetes.cluster.master.cloudconfig' , ' /etc/cloudstack/management/k8s-master.yml' , ' file location path of the cloud config used for creating kubernetes cluster master node' , ' /etc/cloudstack/management/k8s-master.yml' , NULL , NULL , 0 );
100+
101+ INSERT IGNORE INTO ` cloud` .` configuration` VALUES (' Advanced' , ' DEFAULT' , ' management-server' ,
102+ ' cloud.kubernetes.cluster.node.cloudconfig' , ' /etc/cloudstack/management/k8s-node.yml' , ' file location path of the cloud config used for creating kubernetes cluster node' , ' /etc/cloudstack/management/k8s-node.yml' , NULL , NULL , 0 );
103+
104+ INSERT IGNORE INTO ` cloud` .` network_offerings` (name, uuid, unique_name, display_text, nw_rate, mc_rate, traffic_type, tags, system_only, specify_vlan, service_offering_id, conserve_mode, created,availability, dedicated_lb_service, shared_source_nat_service, sort_key, redundant_router_service, state, guest_type, elastic_ip_service, eip_associate_public_ip, elastic_lb_service, specify_ip_ranges, inline,is_persistent,internal_lb, public_lb, egress_default_policy, concurrent_connections, keep_alive_enabled, supports_streched_l2, ` default` , removed) VALUES (' DefaultNetworkOfferingforKubernetesService' , UUID(), ' DefaultNetworkOfferingforKubernetesService' , ' Network Offering used for CloudStack kubernetes service' , NULL ,NULL ,' Guest' ,NULL ,0 ,0 ,NULL ,1 ,now(),' Required' ,1 ,0 ,0 ,0 ,' Enabled' ,' Isolated' ,0 ,1 ,0 ,0 ,0 ,0 ,0 ,1 ,1 ,NULL ,0 ,0 ,0 ,NULL );
105+
106+ UPDATE ` cloud` .` network_offerings` SET removed= NULL WHERE unique_name= ' DefaultNetworkOfferingforKubernetesService' ;
107+
108+ SET @k8snetwork = (select id from network_offerings where name= ' DefaultNetworkOfferingforKubernetesService' and removed IS NULL );
109+ INSERT IGNORE INTO ntwk_offering_service_map (network_offering_id, service, provider, created) VALUES (@k8snetwork, ' Dhcp' ,' VirtualRouter' ,now());
110+ INSERT IGNORE INTO ntwk_offering_service_map (network_offering_id, service, provider, created) VALUES (@k8snetwork, ' Dns' ,' VirtualRouter' ,now());
111+ INSERT IGNORE INTO ntwk_offering_service_map (network_offering_id, service, provider, created) VALUES (@k8snetwork, ' Firewall' ,' VirtualRouter' ,now());
112+ INSERT IGNORE INTO ntwk_offering_service_map (network_offering_id, service, provider, created) VALUES (@k8snetwork, ' Gateway' ,' VirtualRouter' ,now());
113+ INSERT IGNORE INTO ntwk_offering_service_map (network_offering_id, service, provider, created) VALUES (@k8snetwork, ' Lb' ,' VirtualRouter' ,now());
114+ INSERT IGNORE INTO ntwk_offering_service_map (network_offering_id, service, provider, created) VALUES (@k8snetwork, ' PortForwarding' ,' VirtualRouter' ,now());
115+ INSERT IGNORE INTO ntwk_offering_service_map (network_offering_id, service, provider, created) VALUES (@k8snetwork, ' SourceNat' ,' VirtualRouter' ,now());
116+ INSERT IGNORE INTO ntwk_offering_service_map (network_offering_id, service, provider, created) VALUES (@k8snetwork, ' StaticNat' ,' VirtualRouter' ,now());
117+ INSERT IGNORE INTO ntwk_offering_service_map (network_offering_id, service, provider, created) VALUES (@k8snetwork, ' UserData' ,' VirtualRouter' ,now());
118+ INSERT IGNORE INTO ntwk_offering_service_map (network_offering_id, service, provider, created) VALUES (@k8snetwork, ' Vpn' ,' VirtualRouter' ,now());
119+
120+ INSERT IGNORE INTO ` cloud` .` configuration` VALUES (' Advanced' , ' DEFAULT' , ' management-server' ,
121+ ' cloud.kubernetes.cluster.network.offering' , ' DefaultNetworkOfferingforKubernetesService' , ' Network Offering used for CloudStack kubernetes service' , ' DefaultNetworkOfferingforKubernetesService' , NULL , NULL , 0 );
0 commit comments