cloudstack domain cloudstack project cloudstack vpc 2 cloudstack networks 4 vms for dns resolvers ansible for configuration create bastion host vm public ip and port forwarding rule for port 22 to the bastion public ip for k8s + lb rules palette cluster
env configs per dc: cidr blocks dns IPs
apiVersion: cloudstack.terasky.com/v1alpha1 kind: Domain metadata: annotations: meta.upbound.io/example-id: cloudstack/v1alpha1/domain labels: testing.upbound.io/example-name: example name: example spec: forProvider: name: example-domain networkDomain: example.local parentDomainIdSelector: matchLabels: testing.upbound.io/example-name: example
project via ansible or http providers
apiVersion: cloudstack.terasky.com/v1alpha1 kind: Account metadata: annotations: meta.upbound.io/example-id: cloudstack/v1alpha1/account labels: testing.upbound.io/example-name: example name: example spec: forProvider: accountType: 1 email: [email protected] firstName: John lastName: Doe password: securepassword roleId: 1234abcd username: jdoe
apiVersion: cloudstack.terasky.com/v1alpha1 kind: SSHKeypair metadata: annotations: meta.upbound.io/example-id: cloudstack/v1alpha1/sshkeypair labels: testing.upbound.io/example-name: default name: default spec: forProvider: name: myKey project: myProject publicKey: ${file("~/.ssh/id_rsa.pub")}
apiVersion: cloudstack.terasky.com/v1alpha1 kind: VPC metadata: annotations: meta.upbound.io/example-id: cloudstack/v1alpha1/vpc labels: testing.upbound.io/example-name: default name: default spec: forProvider: cidr: 10.0.0.0/16 name: test-vpc vpcOffering: Default VPC Offering zoneSelector: matchLabels: testing.upbound.io/example-name: example
apiVersion: cloudstack.terasky.com/v1alpha1 kind: Network metadata: annotations: meta.upbound.io/example-id: cloudstack/v1alpha1/network labels: testing.upbound.io/example-name: default name: default spec: forProvider: cidr: 10.0.0.0/16 name: test-network networkOfferingSelector: matchLabels: testing.upbound.io/example-name: example zoneSelector: matchLabels: testing.upbound.io/example-name: example
apiVersion: cloudstack.terasky.com/v1alpha1 kind: Instance metadata: annotations: meta.upbound.io/example-id: cloudstack/v1alpha1/instance labels: testing.upbound.io/example-name: web name: web spec: forProvider: name: server-1 networkIdSelector: matchLabels: testing.upbound.io/example-name: example serviceOfferingSelector: matchLabels: testing.upbound.io/example-name: example templateSelector: matchLabels: testing.upbound.io/example-name: example zoneSelector: matchLabels: testing.upbound.io/example-name: example
apiVersion: cloudstack.terasky.com/v1alpha1 kind: IPAddress metadata: annotations: meta.upbound.io/example-id: cloudstack/v1alpha1/ipaddress labels: testing.upbound.io/example-name: default name: default spec: forProvider: networkIdSelector: matchLabels: testing.upbound.io/example-name: example
apiVersion: cloudstack.terasky.com/v1alpha1 kind: PortForward metadata: annotations: meta.upbound.io/example-id: cloudstack/v1alpha1/portforward labels: testing.upbound.io/example-name: default name: default spec: forProvider: forward: - privatePort: 80 protocol: tcp publicPort: 8080 virtualMachineId: f8141e2f-4e7e-4c63-9362-986c908b7ea7 ipAddressIdSelector: matchLabels: testing.upbound.io/example-name: example
apiVersion: cloudstack.terasky.com/v1alpha1 kind: LoadBalancerRule metadata: annotations: meta.upbound.io/example-id: cloudstack/v1alpha1/loadbalancerrule labels: testing.upbound.io/example-name: default name: default spec: forProvider: algorithm: roundrobin description: Loadbalancer rule 1 ipAddressId: 30b21801-d4b3-4174-852b-0c0f30bdbbfb memberIds: - f8141e2f-4e7e-4c63-9362-986c908b7ea7 name: loadbalancer-rule-1 privatePort: 80 publicPort: 80