Compare commits
19 Commits
Author | SHA1 | Date | |
---|---|---|---|
ea7ca60477 | |||
9af73a40ca | |||
22848f01e7 | |||
a031b90da9 | |||
2cdf1bf16d | |||
3c6ce06ce6 | |||
bffce05b53 | |||
97d3881bee | |||
6f59ff50e3 | |||
ea93cbd1b9 | |||
3db6138e91 | |||
1e3d6cfcaa | |||
919511263f | |||
b7e78c1b43 | |||
c246adc39e | |||
9876eeb491 | |||
f3e2fe88d5 | |||
a593dea13c | |||
6535e48260 |
@ -14,9 +14,9 @@ jobs:
|
|||||||
- name: Log in to Docker Hub
|
- name: Log in to Docker Hub
|
||||||
uses: https://git.martin98.com/actions/login-action.git@v3
|
uses: https://git.martin98.com/actions/login-action.git@v3
|
||||||
with:
|
with:
|
||||||
registry: ${{ vars.DOCKER_HUB }}
|
registry: ${{ vars.GIT_IMAGE_URL }}
|
||||||
username: ${{ vars.DOCKER_USERNAME }}
|
username: ${{ vars.GIT_IMAGE_USERNAME }}
|
||||||
password: ${{ vars.DOCKER_PASSWORD }}
|
password: ${{ vars.GIT_IMAGE_PASSWORD }}
|
||||||
|
|
||||||
- name: Build and push
|
- name: Build and push
|
||||||
uses: https://git.martin98.com/actions/build-push-action.git@v4
|
uses: https://git.martin98.com/actions/build-push-action.git@v4
|
||||||
@ -25,5 +25,5 @@ jobs:
|
|||||||
platforms: linux/amd64
|
platforms: linux/amd64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
docker.martin98.com/martin_farm/init:latest
|
git.martin98.com/martinfarm/init:latest
|
||||||
docker.martin98.com/martin_farm/init:${{ github.sha }}
|
git.martin98.com/martinfarm/init:${{ github.sha }}
|
@ -1,3 +1,9 @@
|
|||||||
|
## k3s
|
||||||
|
> https://docs.k3s.io/zh/quick-start
|
||||||
|
```bash
|
||||||
|
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
|
||||||
|
```
|
||||||
|
|
||||||
## k8s 快速部署
|
## k8s 快速部署
|
||||||
```bash
|
```bash
|
||||||
# 网段配置
|
# 网段配置
|
||||||
|
@ -45,8 +45,6 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# fix vim 粘贴
|
# fix vim 粘贴
|
||||||
if pidof vim >/dev/null 2>&1; then
|
if ! grep -q "set pastetoggle=" ~/.vimrc; then
|
||||||
if ! grep -q "set pastetoggle=" ~/.vimrc; then
|
|
||||||
echo "set pastetoggle=" >> ~/.vimrc
|
echo "set pastetoggle=" >> ~/.vimrc
|
||||||
fi
|
|
||||||
fi
|
fi
|
@ -5,7 +5,7 @@ if command -v git > /dev/null 2>&1; then
|
|||||||
echo "git 已安装,正在配置镜像源..."
|
echo "git 已安装,正在配置镜像源..."
|
||||||
# 曾经设置过的强制取消
|
# 曾经设置过的强制取消
|
||||||
git config --global --unset url."https://git-proxy.hk.martin98.com/".insteadOf
|
git config --global --unset url."https://git-proxy.hk.martin98.com/".insteadOf
|
||||||
git config --global url."https://git-proxy.hk.martin98.com/https://github.com/".insteadOf "https://github.com/"
|
git config --global url."https://git.mirrors.martin98.com/https://github.com/".insteadOf "https://github.com/"
|
||||||
echo "镜像源配置完成。"
|
echo "镜像源配置完成。"
|
||||||
else
|
else
|
||||||
echo "git 不存在,跳过..."
|
echo "git 不存在,跳过..."
|
||||||
|
107
init-k3s.sh
Normal file
107
init-k3s.sh
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
curl -sSL https://git.martin98.com/MartinFarm/init/raw/branch/main/init-apt.sh | bash
|
||||||
|
|
||||||
|
current_ip=$(hostname -I | awk '{print $1}')
|
||||||
|
|
||||||
|
# 镜像加速
|
||||||
|
mkdir /etc/rancher/k3s -p
|
||||||
|
|
||||||
|
cat <<EOF > /etc/rancher/k3s/registries.yaml
|
||||||
|
mirrors:
|
||||||
|
docker.io:
|
||||||
|
endpoint:
|
||||||
|
- https://docker.martin98.com
|
||||||
|
registry-1.docker.io:
|
||||||
|
endpoint:
|
||||||
|
- https://docker.martin98.com
|
||||||
|
registry.k8s.io:
|
||||||
|
endpoint:
|
||||||
|
- https://docker.martin98.com
|
||||||
|
k8s.gcr.io:
|
||||||
|
endpoint:
|
||||||
|
- https://docker.martin98.com
|
||||||
|
gcr.io:
|
||||||
|
endpoint:
|
||||||
|
- https://docker.martin98.com
|
||||||
|
ghcr.io:
|
||||||
|
endpoint:
|
||||||
|
- https://docker.martin98.com
|
||||||
|
quay.io:
|
||||||
|
endpoint:
|
||||||
|
- https://docker.martin98.com
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# systemctl restart k3s
|
||||||
|
|
||||||
|
# 安装 keepalived
|
||||||
|
apt install -y keepalived
|
||||||
|
|
||||||
|
# 检查是否为 Master-01
|
||||||
|
if [ "$current_ip" == "$master" ]; then
|
||||||
|
state=MASTER
|
||||||
|
priority=100
|
||||||
|
else
|
||||||
|
state=BACKUP
|
||||||
|
priority=100
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 初始化 VIP
|
||||||
|
mkdir /etc/keepalived
|
||||||
|
cat <<EOF | sudo tee /etc/keepalived/keepalived.conf
|
||||||
|
vrrp_instance VI_1 {
|
||||||
|
state $state
|
||||||
|
interface eth0
|
||||||
|
virtual_router_id 51
|
||||||
|
priority $priority
|
||||||
|
advert_int 1
|
||||||
|
virtual_ipaddress {
|
||||||
|
$vip
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
sudo systemctl restart keepalived
|
||||||
|
systemctl status keepalived &
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# 检查是否为 Master-01
|
||||||
|
if [ "$current_ip" == "$master" ]; then
|
||||||
|
# 开始部署
|
||||||
|
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server \
|
||||||
|
--cluster-init \
|
||||||
|
--cluster-cidr $pod_subnet \
|
||||||
|
--service-cidr $service_subnet \
|
||||||
|
--node-external-ip=$vip_ip \
|
||||||
|
|
||||||
|
|
||||||
|
TOKEN=$(cat /var/lib/rancher/k3s/server/node-token)
|
||||||
|
cat <<EOF
|
||||||
|
------------------------------------------------------------------------------------
|
||||||
|
初始化 master VIP[$state] $current_ip 成功
|
||||||
|
|
||||||
|
export pod_subnet=$pod_subnet
|
||||||
|
export service_subnet=$service_subnet
|
||||||
|
export vip_ip=$vip_ip
|
||||||
|
export vip=$vip_ip/16
|
||||||
|
export master=$master
|
||||||
|
export TOKEN=$TOKEN
|
||||||
|
curl -sSL https://git.martin98.com/MartinFarm/init/raw/branch/main/init-k3s.sh | bash
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------------
|
||||||
|
EOF
|
||||||
|
|
||||||
|
else
|
||||||
|
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server \
|
||||||
|
--cluster-cidr $pod_subnet \
|
||||||
|
--service-cidr $service_subnet \
|
||||||
|
--node-external-ip=$vip_ip \
|
||||||
|
--token $TOKEN \
|
||||||
|
--server https://$master:6443
|
||||||
|
watch kubectl get nodes
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user