102 lines
3.7 KiB
Markdown
102 lines
3.7 KiB
Markdown
## 安装 Charm 2.x
|
|
|
|
```bash
|
|
sudo snap install charm --channel=2.x --classic
|
|
```
|
|
|
|
## 基础安装包
|
|
|
|
```bash
|
|
charm list-resources cs:~containers/etcd-583
|
|
wget https://api.jujucharms.com/charmstore/v5/~containers/etcd-583/resource/etcd/3 -O etcd.tar.gz
|
|
|
|
charm list-resources cs:~containers/easyrsa-373
|
|
wget https://api.jujucharms.com/charmstore/v5/~containers/easyrsa-373/resource/easyrsa/5 -O easyrsa.tar.gz
|
|
|
|
charm list-resources cs:~containers/kubernetes-master-990
|
|
wget https://api.jujucharms.com/charmstore/v5/~containers/kubernetes-master-990/resource/cni-amd64/12 -O cni-amd64.tar.gz
|
|
wget https://api.jujucharms.com/charmstore/v5/~containers/kubernetes-master-990/resource/cni-arm64/12 -O cni-arm64.tar.gz
|
|
wget https://api.jujucharms.com/charmstore/v5/~containers/kubernetes-master-990/resource/cni-s390x/12 -O cni-s390x.tar.gz
|
|
|
|
charm list-resources cs:~containers/kubernetes-worker-757
|
|
wget https://api.jujucharms.com/charmstore/v5/~containers/kubernetes-worker-757/resource/cni-amd64/983 -O cni-amd64.tgz
|
|
wget https://api.jujucharms.com/charmstore/v5/~containers/kubernetes-worker-757/resource/cni-arm64/974 -O cni-arm64.tgz
|
|
wget https://api.jujucharms.com/charmstore/v5/~containers/kubernetes-worker-757/resource/cni-s390x/986 -O cni-s390x.tgz
|
|
|
|
charm list-resources cs:~containers/calico-838
|
|
wget https://api.jujucharms.com/charmstore/v5/~containers/calico-812/resource/calico/1027 -O calico.tgz
|
|
wget https://api.jujucharms.com/charmstore/v5/~containers/calico-812/resource/calico-arm64/1026 -O calico-arm64.tgz
|
|
wget https://api.jujucharms.com/charmstore/v5/~containers/calico-812/resource/calico-node-image/709 -O calico-node-image.tgz
|
|
wget https://api.jujucharms.com/charmstore/v5/~containers/calico-812/resource/calico-upgrade/854 -O calico-upgrade.tgz
|
|
wget https://api.jujucharms.com/charmstore/v5/~containers/calico-812/resource/calico-upgrade-arm64/854 -O calico-upgrade-arm64.tgz
|
|
```
|
|
|
|
## 向 controller 上传资源
|
|
|
|
```bash
|
|
juju attach-resource <charm-name> resource-name=<filepath>
|
|
juju attach-resource calico calico=/home/sa/charm/calico/calico-amd64.tar.gz
|
|
juju attach-resource calico calico-upgrade=/home/sa/charm/calico/calico-upgrade-amd64.tar.gz
|
|
```
|
|
|
|
## Snap Download
|
|
|
|
```bash
|
|
#!/bin/bash
|
|
|
|
set -eux
|
|
|
|
SNAP_CHANNEL="1.21/stable" # Need juju 2.9
|
|
|
|
ALL_SNAPS="kube-apiserver kube-scheduler kube-controller-manager kube-proxy kubectl kubelet cdk-addons"
|
|
MASTER_SNAPS="kube-apiserver kube-scheduler kube-controller-manager kube-proxy kubectl cdk-addons"
|
|
WORKER_SNAPS="kube-proxy kubelet kubectl"
|
|
|
|
# Download Juju 2.9
|
|
snap download --channel=2.9 juju
|
|
|
|
# Download latest snaps from designated channel
|
|
for snap in $ALL_SNAPS
|
|
do
|
|
snap download --channel=$SNAP_CHANNEL $snap
|
|
done
|
|
|
|
# Attach new snaps to master units
|
|
for snap in $MASTER_SNAPS
|
|
do
|
|
juju attach kubernetes-master $snap=`ls ${snap}_*.snap`
|
|
done
|
|
|
|
# Attach new snaps to worker units
|
|
for snap in $WORKER_SNAPS
|
|
do
|
|
juju attach kubernetes-worker $snap=`ls ${snap}_*.snap`
|
|
done
|
|
|
|
# Upgrade to new snaps on masters, one at a time
|
|
for unit in `juju status --format json | jq -r '.applications|.["kubernetes-master"].units | keys[]'`
|
|
do
|
|
juju run-action $unit upgrade --wait
|
|
done
|
|
|
|
# Upgrade to new snaps on workers, one at a time
|
|
for unit in `juju status --format json | jq -r '.applications|.["kubernetes-worker"].units | keys[]'`
|
|
do
|
|
juju run-action $unit upgrade --wait
|
|
done
|
|
```
|
|
|
|
## Final Release
|
|
|
|
需要手动做 Fix
|
|
|
|
```Bash
|
|
https://raw.githubusercontent.com/charmed-kubernetes/bundle/main/releases/1.21/bundle.yaml
|
|
charm pull cs:~containers/containerd-146
|
|
charm pull cs:~containers/easyrsa-395
|
|
charm pull cs:~containers/etcd-607
|
|
charm pull cs:~containers/kubernetes-master-1034
|
|
charm pull cs:~containers/kubernetes-worker-788
|
|
charm pull cs:~containers/calico-812
|
|
charm pull cs:~containers/kubeapi-load-balancer-814
|
|
``` |