k3s using docker runtime
install single-node k3s cluster instead of containerd
I can install with these commands on debian buster arm64 though can not on bullseye.
at first intall docker
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo docker run hello-world
then install k3
curl -sfL https://get.k3s.io | sh -s - --docker
systemctl status k3s
uninstall
/usr/local/bin/k3s-uninstall.sh
create deployment
create yaml file
cat <<EOF > nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx-test
image: nginx-test:latest
imagePullPolicy: Never
ports:
- containerPort: 80
EOF
create and confirm the deployment
sudo kubectl create -f nginx-deployment.yaml
sudo kubectl get deploy
sudo kubectl get pod
sudo kubectl exec -it <pod name> -- curl localhost
create service
create yaml file
cat <<EOF > nginx-service.yaml
kind: Service
apiVersion: v1
metadata:
name: my-service
spec:
type: NodePort
selector:
app: nginx
ports:
- protocol: TCP
targetPort: 80
port: 80
create and confirm the service
sudo kubectl create -f nginx-service.yaml
sudo kubectl get svc
curl x.x.x.x
modify service
sudo kubectl apply -f nginx-deployment.yaml
sudo kubectl get svc
delete srvice
sudo kubectl delete svc <service name>
delete deployment
sudo kubectl delete -f ./nginx-deployment.yaml