This commit is contained in:
AnonSaber 2023-06-28 14:39:01 +00:00
parent ee0ec69f2d
commit c573b3781f
1 changed files with 79 additions and 0 deletions

79
deploy.sh Executable file
View File

@ -0,0 +1,79 @@
#!/bin/bash
set -x
juju scp resources/core.snap 0:
juju run --machine 0 "sudo snap install --dangerous /home/ubuntu/core.snap"
juju scp resources/core.snap 1:
juju run --machine 1 "sudo snap install --dangerous /home/ubuntu/core.snap"
juju scp resources/core.snap 2:
juju run --machine 2 "sudo snap install --dangerous /home/ubuntu/core.snap"
juju deploy --to 0 ./easyrsa
juju deploy --to 0 ./etcd \
--config bind_to_all_interfaces=false \
--config channel=3.4/stable
juju deploy --to 1 ./kubernetes-master \
--config channel=1.21/stable \
--config service-cidr=172.31.192.0/21 \
--config enable-dashboard-addons=false \
--config proxy-extra-args='bind-address=0.0.0.0 proxy-mode=ipvs'
juju deploy --to 2 ./kubernetes-worker \
--config channel=1.21/stable \
--config ingress=false \
--config proxy-extra-args='bind-address=0.0.0.0 proxy-mode=ipvs'
juju deploy ./containerd
juju deploy ./calico \
--config cidr=172.31.128.0/18 \
--config vxlan=Always \
--config ignore-loose-rpf=true
juju attach easyrsa easyrsa=./resources/easyrsa/easyrsa.tgz
juju attach etcd snapshot=./resources/etcd/snapshot.gz
juju attach kubernetes-worker cni-amd64=./resources/kubernetes-worker/cni-amd64.tgz
juju attach calico calico=./resources/calico/calico.gz
juju attach calico calico-node-image=./resources/calico/calico-node-image.gz
juju attach calico calico-upgrade=./resources/calico/calico-upgrade.gz
juju attach etcd etcd=./resources/etcd/etcd.snap
juju attach kubernetes-master cdk-addons=./resources/kubernetes-master/cdk-addons.snap
juju attach kubernetes-master kube-apiserver=./resources/kubernetes-master/kube-apiserver.snap
juju attach kubernetes-master kube-controller-manager=./resources/kubernetes-master/kube-controller-manager.snap
juju attach kubernetes-master kube-scheduler=./resources/kubernetes-master/kube-scheduler.snap
juju attach kubernetes-master kube-proxy=./resources/kubernetes-master/kube-proxy.snap
juju attach kubernetes-master kubectl=./resources/kubernetes-master/kubectl.snap
juju attach kubernetes-worker kube-proxy=./resources/kubernetes-worker/kube-proxy.snap
juju attach kubernetes-worker kubectl=./resources/kubernetes-worker/kubectl.snap
juju attach kubernetes-worker kubelet=./resources/kubernetes-worker/kubelet.snap
juju relate etcd:certificates easyrsa:client
juju relate kubernetes-master:kube-control kubernetes-worker:kube-control
juju relate kubernetes-master:certificates easyrsa:client
juju relate kubernetes-worker:certificates easyrsa:client
juju relate kubernetes-master:etcd etcd:db
juju relate containerd:containerd kubernetes-worker:container-runtime
juju relate containerd:containerd kubernetes-master:container-runtime
juju relate kubernetes-master:kube-api-endpoint kubernetes-worker:kube-api-endpoint
juju relate calico:etcd etcd:db
juju relate calico:cni kubernetes-master:cni
juju relate calico:cni kubernetes-worker:cni
juju deploy --to 1 ./kubeapi-load-balancer
juju remove-relation kubernetes-master:kube-api-endpoint kubernetes-worker:kube-api-endpoint
juju relate kubernetes-master:kube-api-endpoint kubeapi-load-balancer:apiserver
juju relate kubernetes-worker:kube-api-endpoint kubeapi-load-balancer:website
juju relate kubernetes-master:loadbalancer kubeapi-load-balancer:loadbalancer
juju relate kubeapi-load-balancer:certificates easyrsa:client
# CoreDNS
juju config -m controller kubernetes-master dns-provider=none
juju add-k8s k8s-cloud --controller infra-demo
juju add-model k8s-model k8s-cloud
# https://charmhub.io/containers-coredns
juju deploy ./coredns
juju offer coredns:dns-provider
juju consume -m controller k8s-model.coredns
juju relate -m controller coredns kubernetes-master