Skip to content

Instantly share code, notes, and snippets.

@jhunt
Last active August 3, 2020 20:14
Show Gist options
  • Save jhunt/4ece82d8f32488590a08fa894097e179 to your computer and use it in GitHub Desktop.
Save jhunt/4ece82d8f32488590a08fa894097e179 to your computer and use it in GitHub Desktop.
A Gluon Deployment for Kubernetes
---
apiVersion: v1
kind: ConfigMap
metadata:
name: buffalo-lab-boshes
data:
vcenter_ip: your.vsphere.example.com
vcenter_dc: dc1
vcenter_cluster: cluster1
vcenter_ds: store1
internal_cidr: 10.0.0.0/8
internal_gw: 10.0.0.1
network_name: VM Network
vcenter_disks: gluon/demo/disks
vcenter_templates: gluon/demo/templates
vcenter_vms: gluon/demo/vms
---
apiVersion: gluon.starkandwayne.com/v1alpha1
kind: BOSHDeployment
metadata:
name: ops1
spec:
repo: https://github.com/cloudfoundry/bosh-deployment
ops:
- uaa
- credhub
- vsphere/cpi
vars:
- configMap: { name: buffalo-lab-boshes }
- secret: { name: buffalo-lab-vcenter }
- name: internal_ip
value: 10.0.0.4
---
apiVersion: gluon.starkandwayne.com/v1alpha1
kind: BOSHStemcell
metadata:
name: xenial-621-74
spec:
director: ops1
name: bosh-vsphere-esxi-ubuntu-xenial-go_agent
version: '621.74'
url: https://bosh-core-stemcells.s3-accelerate.amazonaws.com/621.74/bosh-stemcell-621.74-vsphere-esxi-ubuntu-xenial-go_agent.tgz
sha1: 0d927b9c5f79b369e646f5c835e33496bf7356c5
---
apiVersion: gluon.starkandwayne.com/v1alpha1
kind: BOSHConfig
metadata:
name: runtime-config
spec:
director: ops1
type: runtime
config: |
addons:
- name: bosh-dns
include:
stemcell:
- os: ubuntu-trusty
- os: ubuntu-xenial
jobs:
- name: bosh-dns
properties:
api:
client:
tls: ((/dns_api_client_tls))
server:
tls: ((/dns_api_server_tls))
cache:
enabled: true
health:
client:
tls: ((/dns_healthcheck_client_tls))
enabled: true
server:
tls: ((/dns_healthcheck_server_tls))
release: bosh-dns
releases:
- name: bosh-dns
sha1: d61c2360c5a912379c0601a33b1e8b7c97ab30e0
url: https://bosh.io/d/github.com/cloudfoundry/bosh-dns-release?v=1.21.0
version: 1.21.0
variables:
- name: /dns_healthcheck_tls_ca
options:
common_name: dns-healthcheck-tls-ca
is_ca: true
type: certificate
- name: /dns_healthcheck_server_tls
options:
ca: /dns_healthcheck_tls_ca
common_name: health.bosh-dns
extended_key_usage:
- server_auth
type: certificate
- name: /dns_healthcheck_client_tls
options:
ca: /dns_healthcheck_tls_ca
common_name: health.bosh-dns
extended_key_usage:
- client_auth
type: certificate
- name: /dns_api_tls_ca
options:
common_name: dns-api-tls-ca
is_ca: true
type: certificate
- name: /dns_api_server_tls
options:
ca: /dns_api_tls_ca
common_name: api.bosh-dns
extended_key_usage:
- server_auth
type: certificate
- name: /dns_api_client_tls
options:
ca: /dns_api_tls_ca
common_name: api.bosh-dns
extended_key_usage:
- client_auth
type: certificate
---
apiVersion: gluon.starkandwayne.com/v1alpha1
kind: BOSHConfig
metadata:
name: cloud-config
spec:
director: ops1
type: cloud
config: |
azs:
- name: z1
cloud_properties: &az
datacenters:
- name: dc1
clusters:
- cluster1: {}
- name: z2
cloud_properties: *az
- name: z3
cloud_properties: *az
vm_extensions:
- name: kubelet
cloud_properties:
vmx_options:
disk.enableUUID: "1"
vm_types:
- name: default
cloud_properties:
cpu: 2
ram: 4096
disk: 10240
- name: small-highmem
cloud_properties:
cpu: 4
ram: 32768
disk: 10240
disk_types: []
compilation:
az: z1
network: default
reuse_compilation_vms: true
workers: 5
vm_type: small-highmem
networks:
- name: default
type: manual
subnets:
- range: 10.0.0.0/8
gateway: 10.0.0.1
azs: [z1,z2,z3]
dns: [8.8.8.8,8.8.4.4]
cloud_properties:
name: VM Network
reserved:
- 10.0.0.1 - 10.0.0.4
---
apiVersion: gluon.starkandwayne.com/v1alpha1
kind: BOSHDeployment
metadata:
name: k8s
dependencies:
dependsOn:
- stemcell: xenial-621-74
- config: cloud-config
- config: runtime-config
spec:
director: ops1
repo: https://github.com/jhunt/k8s-deployment
entrypoint: k8s.yml
@eitansuez
Copy link

wow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment