79 lines
3.6 KiB
Bash
Executable File
79 lines
3.6 KiB
Bash
Executable File
#!/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
|
|
juju deploy ./coredns
|
|
juju offer coredns:dns-provider
|
|
|
|
juju consume -m controller k8s-model.coredns
|
|
juju relate -m controller coredns kubernetes-master
|