Skip to content

docs(main): fix bot config (#2976) #1

docs(main): fix bot config (#2976)

docs(main): fix bot config (#2976) #1

Workflow file for this run

name: Test Sealos Run Command
on:
workflow_dispatch:
push:
branches: ["main"]
paths:
- ".github/workflows/**"
- "cmd/**"
- "pkg/**"
pull_request:
branches: ["*"]
paths:
- ".github/workflows/**"
- "cmd/**"
- "pkg/**"
jobs:
call_ci_workflow:
uses: ./.github/workflows/import-patch-image.yml
with:
arch: amd64
download-sealos:
needs: [call_ci_workflow]
runs-on: ubuntu-latest
steps:
- name: Download sealos binary
uses: actions/download-artifact@v3
with:
name: sealos-amd64
path: /tmp/sealos/bin/
- name: Download patch image tar
uses: actions/download-artifact@v3
with:
name: patch-image-amd64.tar
path: /tmp/sealos/images/
- name: Save Binaries
uses: actions/upload-artifact@v3
with:
name: sealos
path: /tmp/sealos/bin/sealos
- name: Save Tars
uses: actions/upload-artifact@v3
with:
name: patch-amd64.tar
path: /tmp/sealos/images/patch-amd64.tar
verify-run-single:
needs: [download-sealos]
runs-on: ubuntu-latest
steps:
- name: Download sealos
uses: actions/download-artifact@v3
with:
name: sealos
path: /tmp/
- name: Verify sealos
run: |
sudo chmod a+x /tmp/sealos
sudo mv /tmp/sealos /usr/bin/
sudo sealos version
- name: Remove containerd && docker
uses: labring/[email protected]
with:
type: prune
- name: Auto install k8s using sealos
run: |
sudo sealos run labring/kubernetes:v1.25.0 --single --debug
mkdir -p "$HOME/.kube"
sudo cp -i /etc/kubernetes/admin.conf "$HOME/.kube/config"
sudo chown "$(whoami)" "$HOME/.kube/config"
kubectl get svc
kubectl get pod -A
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml
sudo cat /root/.sealos/default/Clusterfile
- name: Verify Single Node Cluster Status
run: |
echo "Verify Cluster"
echo "Current system info"
sudo /var/lib/sealos/data/default/rootfs/opt/sealctl cri socket
sudo /var/lib/sealos/data/default/rootfs/opt/sealctl cri cgroup-driver --short
echo "Check Single Node Taints"
taints=$(kubectl get nodes -o json | jq ".items[].spec.taints")
echo "$taints"
if echo "$taints" | grep -q "control-plane"; then
printf "should not have control-plane Taint\n" && false
fi
echo "Current Cluster info"
set -e
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep /run/containerd/containerd.sock
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep systemd
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 100.64.0.0/10
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 10.96.0.0/22
verify-run-containerd:
needs: [download-sealos]
runs-on: ubuntu-latest
steps:
- name: Download sealos
uses: actions/download-artifact@v3
with:
name: sealos
path: /tmp/
- name: Verify sealos
run: |
sudo chmod a+x /tmp/sealos
sudo mv /tmp/sealos /usr/bin/
sudo sealos version
- name: Remove containerd && docker
uses: labring/[email protected]
with:
type: prune
- name: Auto install k8s using sealos
run: |
sudo sealos run labring/kubernetes:v1.25.0 --single --debug
mkdir -p "$HOME/.kube"
sudo cp -i /etc/kubernetes/admin.conf "$HOME/.kube/config"
sudo chown "$(whoami)" "$HOME/.kube/config"
kubectl get svc
kubectl get pod -A
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml
sudo cat /root/.sealos/default/Clusterfile
- name: Verify Cluster Status
run: |
echo "Verify Cluster"
echo "Current system info"
sudo /var/lib/sealos/data/default/rootfs/opt/sealctl cri socket
sudo /var/lib/sealos/data/default/rootfs/opt/sealctl cri cgroup-driver --short
echo "Current Cluster info"
set -e
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep /run/containerd/containerd.sock
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep systemd
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 100.64.0.0/10
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 10.96.0.0/22
verify-run-docker:
needs: [download-sealos]
runs-on: ubuntu-latest
steps:
- name: Download sealos
uses: actions/download-artifact@v3
with:
name: sealos
path: /tmp/
- name: Verify sealos
run: |
sudo chmod a+x /tmp/sealos
sudo mv /tmp/sealos /usr/bin/
sudo sealos version
- name: Remove containerd && docker
uses: labring/[email protected]
with:
type: prune
- name: Auto install k8s using sealos
run: |
sudo sealos run labring/kubernetes-docker:v1.25.0 --single --debug
mkdir -p "$HOME/.kube"
sudo cp -i /etc/kubernetes/admin.conf "$HOME/.kube/config"
sudo chown "$(whoami)" "$HOME/.kube/config"
kubectl get svc
kubectl get pod -A
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml
sudo cat /root/.sealos/default/Clusterfile
- name: Verify Cluster Status
run: |
echo "Verify Cluster"
echo "Current system info"
sudo /var/lib/sealos/data/default/rootfs/opt/sealctl cri socket
sudo /var/lib/sealos/data/default/rootfs/opt/sealctl cri cgroup-driver --short
echo "Current Cluster info"
set -e
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep /var/run/cri-dockerd.sock
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep systemd
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 100.64.0.0/10
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 10.96.0.0/22
verify-run-containerd-buildimage:
needs: [download-sealos]
runs-on: ubuntu-latest
steps:
- name: Download sealos
uses: actions/download-artifact@v3
with:
name: sealos
path: /tmp/
- name: Verify sealos
run: |
sudo chmod a+x /tmp/sealos
sudo mv /tmp/sealos /usr/bin/
sudo sealos version
- name: Remove containerd && docker
uses: labring/[email protected]
with:
type: prune
- name: Build new image
run: |
mkdir -p /tmp/buildimage
cat > /tmp/buildimage/kubeadm.yml <<EOF
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
networking:
serviceSubnet: "100.55.0.0/16"
EOF
cat > /tmp/buildimage/Kubefile <<EOF
FROM labring/kubernetes:v1.25.0
COPY kubeadm.yml etc/
EOF
sudo sealos build --debug -t hack:dev /tmp/buildimage
- name: Auto install k8s using sealos
run: |
sudo sealos run hack:dev --single --debug
mkdir -p "$HOME/.kube"
sudo cp -i /etc/kubernetes/admin.conf "$HOME/.kube/config"
sudo chown "$(whoami)" "$HOME/.kube/config"
kubectl get svc
kubectl get pod -A
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml
sudo cat /root/.sealos/default/Clusterfile
- name: Verify Cluster Status
run: |
local_ip=`ip addr | grep inet | grep -v inet6 | grep -v docker |grep -v host | awk '{print $2}' | awk -F '/' '{print $1}'`
echo "Verify Cluster"
echo "Current system info"
sudo /var/lib/sealos/data/default/rootfs/opt/sealctl cri socket
sudo /var/lib/sealos/data/default/rootfs/opt/sealctl cri cgroup-driver --short
echo "Current Cluster info"
set -e
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep /run/containerd/containerd.sock
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep systemd
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 100.64.0.0/10
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 100.55.0.0/16
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 127.0.0.1
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep apiserver.cluster.local
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 10.103.97.2
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep ${local_ip}
verify-run-docker-buildimage:
needs: [download-sealos]
runs-on: ubuntu-latest
steps:
- name: Download sealos
uses: actions/download-artifact@v3
with:
name: sealos
path: /tmp/
- name: Verify sealos
run: |
sudo chmod a+x /tmp/sealos
sudo mv /tmp/sealos /usr/bin/
sudo sealos version
- name: Remove containerd && docker
uses: labring/[email protected]
with:
type: prune
- name: build new image
run: |
mkdir -p /tmp/buildimage
cat > /tmp/buildimage/kubeadm.yml <<EOF
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
networking:
serviceSubnet: "100.55.0.0/16"
EOF
cat > /tmp/buildimage/Kubefile <<EOF
FROM labring/kubernetes-docker:v1.25.0
COPY kubeadm.yml etc/
EOF
sudo sealos build --debug -t hack:dev /tmp/buildimage
- name: Auto install k8s using sealos
run: |
sudo sealos run hack:dev --single --debug
mkdir -p "$HOME/.kube"
sudo cp -i /etc/kubernetes/admin.conf "$HOME/.kube/config"
sudo chown "$(whoami)" "$HOME/.kube/config"
kubectl get svc
kubectl get pod -A
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml
sudo cat /root/.sealos/default/Clusterfile
- name: Verify Cluster Status
run: |
echo "Verify Cluster"
echo "Current system info"
sudo /var/lib/sealos/data/default/rootfs/opt/sealctl cri socket
sudo /var/lib/sealos/data/default/rootfs/opt/sealctl cri cgroup-driver --short
echo "Current Cluster info"
set -e
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep /var/run/cri-dockerd.sock
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep systemd
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 100.64.0.0/10
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 100.55.0.0/16
verify-run-containerd-apply:
needs: [download-sealos]
runs-on: ubuntu-latest
steps:
- name: Download sealos
uses: actions/download-artifact@v3
with:
name: sealos
path: /tmp/
- name: Verify sealos
run: |
sudo chmod a+x /tmp/sealos
sudo mv /tmp/sealos /usr/bin/
sudo sealos version
- name: Remove containerd && docker
uses: labring/[email protected]
with:
type: prune
- name: Generator clusterfile
run: |
local_ip=`ip addr | grep inet | grep -v inet6 | grep -v docker |grep -v host | awk '{print $2}' | awk -F '/' '{print $1}'`
echo "local ip is : ${local_ip}"
mkdir -p /tmp/apply
cat > /tmp/apply/Clusterfile <<EOF
apiVersion: apps.sealos.io/v1beta1
kind: Cluster
metadata:
name: default
spec:
hosts:
- ips:
- ${local_ip}:22
roles:
- master
- amd64
image:
- labring/kubernetes:v1.25.0
ssh:
pk: /root/.ssh/id_rsa
port: 22
user: root
---
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
networking:
serviceSubnet: "100.55.0.0/16"
apiServer:
certSANs:
- 192.168.72.100
EOF
cat /tmp/apply/Clusterfile
- name: Auto install k8s using sealos
run: |
sudo sealos apply -f /tmp/apply/Clusterfile --debug
mkdir -p "$HOME/.kube"
sudo cp -i /etc/kubernetes/admin.conf "$HOME/.kube/config"
sudo chown "$(whoami)" "$HOME/.kube/config"
kubectl get svc
kubectl get pod -A
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml
sudo cat /root/.sealos/default/Clusterfile
- name: Verify Cluster Status
run: |
local_ip=`ip addr | grep inet | grep -v inet6 | grep -v docker |grep -v host | awk '{print $2}' | awk -F '/' '{print $1}'`
echo "Verify Cluster"
echo "Current system info"
sudo /var/lib/sealos/data/default/rootfs/opt/sealctl cri socket
sudo /var/lib/sealos/data/default/rootfs/opt/sealctl cri cgroup-driver --short
echo "Current Cluster info"
set -e
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep /run/containerd/containerd.sock
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep systemd
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 100.64.0.0/10
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 100.55.0.0/16
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 127.0.0.1
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep apiserver.cluster.local
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 10.103.97.2
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep ${local_ip}
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 192.168.72.100
verify-run-docker-apply:
needs: [download-sealos]
runs-on: ubuntu-latest
steps:
- name: Download sealos
uses: actions/download-artifact@v3
with:
name: sealos
path: /tmp/
- name: Verify sealos
run: |
sudo chmod a+x /tmp/sealos
sudo mv /tmp/sealos /usr/bin/
sudo sealos version
- name: Remove containerd && docker
uses: labring/[email protected]
with:
type: prune
- name: Generator clusterfile
run: |
local_ip=`ip addr | grep inet | grep -v inet6 | grep -v docker |grep -v host | awk '{print $2}' | awk -F '/' '{print $1}'`
echo "local ip is : ${local_ip}"
mkdir -p /tmp/apply
cat > /tmp/apply/Clusterfile <<EOF
apiVersion: apps.sealos.io/v1beta1
kind: Cluster
metadata:
name: default
spec:
hosts:
- ips:
- ${local_ip}:22
roles:
- master
- amd64
image:
- labring/kubernetes-docker:v1.25.0
ssh:
pk: /root/.ssh/id_rsa
port: 22
user: root
---
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
networking:
serviceSubnet: "100.55.0.0/16"
EOF
cat /tmp/apply/Clusterfile
- name: Auto install k8s using sealos
run: |
sudo sealos apply -f /tmp/apply/Clusterfile --debug
mkdir -p "$HOME/.kube"
sudo cp -i /etc/kubernetes/admin.conf "$HOME/.kube/config"
sudo chown "$(whoami)" "$HOME/.kube/config"
kubectl get svc
kubectl get pod -A
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml
sudo cat /root/.sealos/default/Clusterfile
- name: Verify Cluster Status
run: |
echo "Verify Cluster"
echo "Current system info"
sudo /var/lib/sealos/data/default/rootfs/opt/sealctl cri socket
sudo /var/lib/sealos/data/default/rootfs/opt/sealctl cri cgroup-driver --short
echo "Current Cluster info"
set -e
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep /var/run/cri-dockerd.sock
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep systemd
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 100.64.0.0/10
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 100.55.0.0/16
verify-run-containerd-apply-with-external-etcd:
needs: [download-sealos]
runs-on: ubuntu-latest
steps:
- name: Download sealos
uses: actions/download-artifact@v3
with:
name: sealos
path: /tmp/
- name: Verify sealos
run: |
sudo chmod a+x /tmp/sealos
sudo mv /tmp/sealos /usr/bin/
sudo sealos version
- name: Remove containerd && docker
uses: labring/[email protected]
with:
type: prune
- name: Start a local ETCD server
run: |
ETCD_VER=v3.4.24
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GITHUB_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test
echo "Download ETCD binary"
curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
echo "ETCD info"
/tmp/etcd-download-test/etcd --version
/tmp/etcd-download-test/etcdctl version
echo "Start a local ETCD server"
ALLOW_NONE_AUTHENTICATION=yes
nohup /tmp/etcd-download-test/etcd --listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://0.0.0.0:2379 > output.file 2>&1 &
- name: Generator clusterfile
run: |
local_ip=`ip addr | grep inet | grep -Ev 'inet6|docker|host|br-' | awk '{print $2}' | awk -F '/' '{print $1}'`
echo "local ip is : ${local_ip}"
mkdir -p /tmp/apply
cat > /tmp/apply/Clusterfile <<EOF
apiVersion: apps.sealos.io/v1beta1
kind: Cluster
metadata:
name: default
spec:
hosts:
- ips:
- ${local_ip}:22
roles:
- master
- amd64
image:
- labring/kubernetes:v1.25.0
ssh:
pk: /root/.ssh/id_rsa
port: 22
user: root
---
apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
networking:
serviceSubnet: "100.55.0.0/16"
etcd:
external:
endpoints:
- http://127.0.0.1:2379
EOF
cat /tmp/apply/Clusterfile
- name: Auto install k8s using sealos
run: |
sudo sealos apply -f /tmp/apply/Clusterfile --debug
mkdir -p "$HOME/.kube"
sudo cp -i /etc/kubernetes/admin.conf "$HOME/.kube/config"
sudo chown "$(whoami)" "$HOME/.kube/config"
kubectl get svc
kubectl get pod -A
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml
sudo cat /root/.sealos/default/Clusterfile
- name: Verify Cluster Status
run: |
echo "Verify Cluster"
echo "Current system info"
sudo /var/lib/sealos/data/default/rootfs/opt/sealctl cri socket
sudo /var/lib/sealos/data/default/rootfs/opt/sealctl cri cgroup-driver --short
echo "Current Cluster info"
set -e
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep /run/containerd/containerd.sock
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep systemd
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 100.64.0.0/10
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 100.55.0.0/16
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep http://127.0.0.1:2379
verify-run-containerd-buildimage-apply:
needs: [download-sealos]
runs-on: ubuntu-latest
steps:
- name: Download sealos
uses: actions/download-artifact@v3
with:
name: sealos
path: /tmp/
- name: Verify sealos
run: |
sudo chmod a+x /tmp/sealos
sudo mv /tmp/sealos /usr/bin/
sudo sealos version
- name: Remove containerd && docker
uses: labring/[email protected]
with:
type: prune
- name: build new image
run: |
mkdir -p /tmp/buildimage
cat > /tmp/buildimage/kubeadm.yml <<EOF
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
networking:
serviceSubnet: "100.55.0.0/16"
podSubnet: "10.160.0.0/12"
EOF
cat > /tmp/buildimage/Kubefile <<EOF
FROM labring/kubernetes:v1.25.0
COPY kubeadm.yml etc/
EOF
sudo sealos build --debug -t hack:dev /tmp/buildimage
- name: Generator clusterfile
run: |
local_ip=`ip addr | grep inet | grep -v inet6 | grep -v docker |grep -v host | awk '{print $2}' | awk -F '/' '{print $1}'`
echo "local ip is : ${local_ip}"
mkdir -p /tmp/apply
cat > /tmp/apply/Clusterfile <<EOF
apiVersion: apps.sealos.io/v1beta1
kind: Cluster
metadata:
name: default
spec:
hosts:
- ips:
- ${local_ip}:22
roles:
- master
- amd64
image:
- hack:dev
ssh:
pk: /root/.ssh/id_rsa
port: 22
user: root
---
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
networking:
serviceSubnet: "100.56.0.0/16"
EOF
cat /tmp/apply/Clusterfile
- name: Auto install k8s using sealos
run: |
sudo sealos apply -f /tmp/apply/Clusterfile --debug
mkdir -p "$HOME/.kube"
sudo cp -i /etc/kubernetes/admin.conf "$HOME/.kube/config"
sudo chown "$(whoami)" "$HOME/.kube/config"
kubectl get svc
kubectl get pod -A
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml
sudo cat /root/.sealos/default/Clusterfile
- name: Verify Cluster Status
run: |
echo "Verify Cluster"
echo "Current system info"
sudo /var/lib/sealos/data/default/rootfs/opt/sealctl cri socket
sudo /var/lib/sealos/data/default/rootfs/opt/sealctl cri cgroup-driver --short
echo "Current Cluster info"
set -e
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep /run/containerd/containerd.sock
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep systemd
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 10.160.0.0/12
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 100.56.0.0/16
verify-run-docker-buildimage-apply:
needs: [download-sealos]
runs-on: ubuntu-latest
steps:
- name: Download sealos
uses: actions/download-artifact@v3
with:
name: sealos
path: /tmp/
- name: Verify sealos
run: |
sudo chmod a+x /tmp/sealos
sudo mv /tmp/sealos /usr/bin/
sudo sealos version
- name: Remove containerd && docker
uses: labring/[email protected]
with:
type: prune
- name: build new image
run: |
mkdir -p /tmp/buildimage
cat > /tmp/buildimage/kubeadm.yml <<EOF
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
networking:
serviceSubnet: "100.55.0.0/16"
podSubnet: "10.160.0.0/12"
EOF
cat > /tmp/buildimage/Kubefile <<EOF
FROM labring/kubernetes-docker:v1.25.0
COPY kubeadm.yml etc/
EOF
sudo sealos build --debug -t hack:dev /tmp/buildimage
- name: Generator clusterfile
run: |
local_ip=`ip addr | grep inet | grep -v inet6 | grep -v docker |grep -v host | awk '{print $2}' | awk -F '/' '{print $1}'`
echo "local ip is : ${local_ip}"
mkdir -p /tmp/apply
cat > /tmp/apply/Clusterfile <<EOF
apiVersion: apps.sealos.io/v1beta1
kind: Cluster
metadata:
name: default
spec:
hosts:
- ips:
- ${local_ip}:22
roles:
- master
- amd64
image:
- hack:dev
ssh:
pk: /root/.ssh/id_rsa
port: 22
user: root
---
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
networking:
serviceSubnet: "100.56.0.0/16"
EOF
cat /tmp/apply/Clusterfile
- name: Auto install k8s using sealos
run: |
sudo sealos apply -f /tmp/apply/Clusterfile --debug
mkdir -p "$HOME/.kube"
sudo cp -i /etc/kubernetes/admin.conf "$HOME/.kube/config"
sudo chown "$(whoami)" "$HOME/.kube/config"
kubectl get svc
kubectl get pod -A
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml
sudo cat /root/.sealos/default/Clusterfile
- name: Verify Cluster Status
run: |
echo "Verify Cluster"
echo "Current system info"
sudo /var/lib/sealos/data/default/rootfs/opt/sealctl cri socket
sudo /var/lib/sealos/data/default/rootfs/opt/sealctl cri cgroup-driver --short
echo "Current Cluster info"
set -e
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep /var/run/cri-dockerd.sock
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep systemd
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 10.160.0.0/12
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 100.56.0.0/16
verify-run-by-loadtar:
needs: [ download-sealos ]
runs-on: ubuntu-latest
steps:
- name: Download sealos
uses: actions/download-artifact@v3
with:
name: sealos
path: /tmp/
- name: Verify sealos
run: |
sudo chmod a+x /tmp/sealos
sudo mv /tmp/sealos /usr/bin/
sudo sealos version
- name: Remove containerd && docker
uses: labring/[email protected]
with:
type: prune
- name: Run
run: |
sudo sealos pull docker.io/labring/helm:v3.8.2
sudo sealos pull labring/kubernetes:v1.25.0
echo "save helm using docker and oci"
sudo buildah push labring/helm:v3.8.2 oci-archive:$PWD/oci-helm.tar
sudo sealos run labring/kubernetes:v1.25.0 --single --debug
sudo sealos run $PWD/oci-helm.tar
verify-run-by-shortname:
needs: [download-sealos]
runs-on: ubuntu-latest
steps:
- name: Download sealos
uses: actions/download-artifact@v3
with:
name: sealos
path: /tmp/
- name: Verify sealos
run: |
sudo chmod a+x /tmp/sealos
sudo mv /tmp/sealos /usr/bin/
sudo sealos version
- name: Remove containerd && docker
uses: labring/[email protected]
with:
type: prune
- name: Run
run: |
sudo sealos pull labring/kubernetes:v1.25.0
sudo sealos tag labring/kubernetes:v1.25.0 k8s:dev
sudo sealos run k8s:dev labring/helm:v3.8.2 labring/calico:v3.24.1 --single --debug
verify-run-by-load-shortname:
needs: [download-sealos]
runs-on: ubuntu-latest
steps:
- name: Download sealos
uses: actions/download-artifact@v3
with:
name: sealos
path: /tmp/
- name: Verify sealos
run: |
sudo chmod a+x /tmp/sealos
sudo mv /tmp/sealos /usr/bin/
sudo sealos version
- name: Remove containerd && docker
uses: labring/[email protected]
with:
type: prune
- name: Run
run: |
sudo sealos pull labring/kubernetes:v1.25.0
sudo sealos tag labring/kubernetes:v1.25.0 k8s:dev
sudo sealos save -o k8s.tar k8s:dev
sudo sealos rmi labring/kubernetes:v1.25.0
sudo sealos rmi k8s:dev
sudo sealos load -i k8s.tar
sudo sealos run k8s:dev labring/helm:v3.8.2 labring/calico:v3.24.1 --single --debug
verify-run-by-newimage:
needs: [ download-sealos ]
runs-on: ubuntu-latest
steps:
- name: Download sealos
uses: actions/download-artifact@v3
with:
name: sealos
path: /tmp/
- name: Download image
uses: actions/download-artifact@v3
with:
name: patch-amd64.tar
path: /tmp/
- name: Verify sealos
run: |
sudo mv /tmp/sealos /usr/bin/
sudo chmod a+x /usr/bin/sealos
sudo sealos version
- name: Remove containerd && docker
uses: labring/[email protected]
with:
type: prune
- name: Run
run: |
sudo sealos run ghcr.io/labring-actions/dev-merge-containerd-k8s:1.23.17-amd64 /tmp/patch-amd64.tar labring/helm:v3.8.2 labring/calico:v3.24.1 --single --debug
sudo crictl images
verify-run-containerd-apply-with-external-taint:
needs: [download-sealos]
runs-on: ubuntu-latest
steps:
- name: Download sealos
uses: actions/download-artifact@v3
with:
name: sealos
path: /tmp/
- name: Verify sealos
run: |
sudo chmod a+x /tmp/sealos
sudo mv /tmp/sealos /usr/bin/
sudo sealos version
- name: Remove containerd && docker
uses: labring/[email protected]
with:
type: prune
- name: Generator clusterfile
run: |
local_ip=`ip addr | grep inet | grep -Ev 'inet6|docker|host|br-' | awk '{print $2}' | awk -F '/' '{print $1}'`
echo "local ip is : ${local_ip}"
mkdir -p /tmp/apply
cat > /tmp/apply/Clusterfile <<EOF
apiVersion: apps.sealos.io/v1beta1
kind: Cluster
metadata:
name: default
spec:
hosts:
- ips:
- ${local_ip}:22
roles:
- master
- amd64
image:
- labring/kubernetes:v1.25.0
ssh:
pk: /root/.ssh/id_rsa
port: 22
user: root
---
apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
networking:
serviceSubnet: "100.55.0.0/16"
---
NodeRegistration:
Taints:
- effect: NoSchedule
key: kubeadmNode
value: theValue
apiVersion: kubeadm.k8s.io/v1beta3
kind: InitConfiguration
EOF
cat /tmp/apply/Clusterfile
- name: Auto install k8s using sealos
run: |
sudo sealos apply -f /tmp/apply/Clusterfile --debug
mkdir -p "$HOME/.kube"
sudo cp -i /etc/kubernetes/admin.conf "$HOME/.kube/config"
sudo chown "$(whoami)" "$HOME/.kube/config"
kubectl get svc
kubectl get pod -A
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml
sudo cat /root/.sealos/default/Clusterfile
- name: Verify Cluster Status
run: |
echo "Verify Cluster"
echo "Current system info"
sudo /var/lib/sealos/data/default/rootfs/opt/sealctl cri socket
sudo /var/lib/sealos/data/default/rootfs/opt/sealctl cri cgroup-driver --short
echo "Check Node Taints"
taints=$(kubectl get nodes -o json | jq ".items[].spec.taints")
echo "$taints"
if ! echo "$taints" | grep -q "kubeadmNode"; then
printf "should have kubeadmNode Taint\n" && false
fi
set -e
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep /run/containerd/containerd.sock
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep systemd
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 100.64.0.0/10
sudo cat /root/.sealos/default/etc/kubeadm-init.yaml | grep 100.55.0.0/16