Ссылка на пакет Juju для настройки манифеста canonical-kubernetes bundle.yaml
Для контекста, облачным провайдером, которого я использую для этого проекта, является MaaS. Я не уверен, окажет ли это какое-либо влияние на ответы на мой вопрос, но если это важный контекст, пожалуйста, ответьте в контексте maas.
Я новичок в juju
, canonical-kubernetes
это талисман, который я использую. Я хотел бы настроить комплект для нашей конкретной потребности.
https://docs.jujucharms.com/2.5/en/reference-bundle - это здорово! Верхняя часть документа гласит: This reference page applies to non-Kubernetes bundles only
и этот справочный документ, похоже, не помог мне bundle.yaml
Я работаю на.
- В чем разница между "нормальным" развертыванием пакета и развертыванием "kubernetes"?
canonical-kubernetes
развертывание развертывает машины, но манифест yaml размещает ресурсы подservices
объект. По-видимому, нет никаких ссылок на документы по этой разнице.- Я специально ищу, как делать такие вещи, как машины с тегами, запускать
cloud-init
на основе машины, и другие различные машинные вещи.
Google получил эту ссылку https://pythonhosted.org/juju-deployer/config.html но я не думаю, что это точно для меня.
Я просветил cloud-init
методологии из https://discourse.jujucharms.com/t/using-model-config-key-cloudinit-userdata/512
и я почти уверен, что сделал это неправильно, потому что в документации сказано, что это должен быть включенный манифест, и он не работает при запуске. Но мне действительно нужна эта возможность.
Я также открыл проблемы:
https://github.com/juju-solutions/bundle-canonical-kubernetes
series: bionic
description: A highly-available, production-grade Kubernetes cluster.
services:
easyrsa:
annotations:
gui-x: '450'
gui-y: '550'
charm: cs:~containers/easyrsa-231
constraints: root-disk=8G
num_units: 1
machine:
tags:
- easyrsa
resources:
easyrsa: 5
etcd:
annotations:
gui-x: '800'
gui-y: '550'
charm: cs:~containers/etcd-411
constraints: root-disk=8G
num_units: 3
options:
channel: 3.2/stable
machine:
tags:
- etcd
resources:
etcd: 3
snapshot: 0
flannel:
annotations:
gui-x: '450'
gui-y: '750'
charm: cs:~containers/flannel-398
resources:
flannel-amd64: 108
flannel-arm64: 108
flannel-s390x: 94
kubeapi-load-balancer:
annotations:
gui-x: '450'
gui-y: '250'
charm: cs:~containers/kubeapi-load-balancer-617
constraints: root-disk=8G
expose: true
num_units: 1
machine:
tags:
- kubeapi-lb
resources: {}
kubernetes-master:
annotations:
gui-x: '800'
gui-y: '850'
charm: cs:~containers/kubernetes-master-642
constraints: cores=2 mem=4G root-disk=16G
num_units: 2
options:
channel: 1.14/stable
series: xenial
machine:
tags:
- kubernetes master
resources:
cdk-addons: 0
kube-apiserver: 0
kube-controller-manager: 0
kube-proxy: 0
kube-scheduler: 0
kubectl: 0
cloudinit-userdata: |
runcmd: |
#!/bin/bash
<SCRIPT THINGS>
kubernetes-worker:
annotations:
gui-x: '100'
gui-y: '850'
charm: cs:~containers/kubernetes-worker-508
constraints: cores=4 mem=4G root-disk=16G
expose: true
num_units: 3
options:
channel: 1.14/stable
series: xenial
machine:
tags:
- kubernetes worker
resources:
cni-amd64: 118
cni-arm64: 110
cni-s390x: 115
kube-proxy: 0
kubectl: 0
kubelet: 0
nfs-server:
num_units: 1
storage_root: /nfsvol
expose: true
charm: cs:nfs-9
constraints: cores=2 mem=4G
machine:
tags:
- nfs server
envExport:
services:
easyrsa:
to: 0
etcd:
to: 1
kubernetes-master:
to: 2
kubernetes-worker:
to: 3
kubeapi-load-balancer:
to: 4
nfs-server:
to: 5
relations:
- - kubernetes-master:kube-api-endpoint
- kubeapi-load-balancer:apiserver
- - kubernetes-master:loadbalancer
- kubeapi-load-balancer:loadbalancer
- - kubernetes-master:kube-control
- kubernetes-worker:kube-control
- - kubernetes-master:certificates
- easyrsa:client
- - nfs-server:nfs
- kubernetes-worker:nfs
- - etcd:certificates
- easyrsa:client
- - kubernetes-master:etcd
- etcd:db
- - kubernetes-worker:certificates
- easyrsa:client
- - kubernetes-worker:kube-api-endpoint
- kubeapi-load-balancer:website
- - kubeapi-load-balancer:certificates
- easyrsa:client
- - flannel:etcd
- etcd:db
- - flannel:cni
- kubernetes-master:cni
- - flannel:cni
- kubernetes-worker:cni