Инструменты пользователя

Инструменты сайта


how-to:microk8s

Это старая версия документа!


MicroK8s

https://microk8s.io/
https://ubuntu.com/tutorials/install-a-local-kubernetes-with-microk8s

Вызов команды kubectl по k:

echo "alias k='microk8s kubectl'" >> ~/.bash_aliases

Команды

Команды

microk8s ctr images ls #показать образы


Окружение

Экспортировать конфигурацию для доступа:

microk8s.kubectl config view --raw >~/.kube/microk8s.config
chmod 600 ~/.kube/microk8s.config
export KUBECONFIG=~/.kube/config:~/.kube/mikrok8s.config
#и/или прописать в автозагрузку
printf "\nif [ -f \"\$HOME/.kubectl_env\" ]; then . \"\$HOME/.kubectl_env\"; fi\n" >> ~/.profile
echo "export KUBECONFIG=~/.kube/config:~/.kube/mikrok8s.config" > ~/.kubectl_env

Не проверять сертификат при подключении: в ~/.kube/config вместо certificate-authority-data добавить insecure-skip-tls-verify: true
Пример:

- cluster:
    insecure-skip-tls-verify: true
    server: https://<external_ip_host>:<port>

DNS

Подключить coredns с dns 1.1.1.1:

microk8s enable dns:1.1.1.1

Изменить dns:

KUBE_EDITOR="micro" microk8s kubectl -n kube-system edit configmap/coredns

https://microk8s.io/docs/addon-dns

iptablesBackend

Показать ткущий статус (Legacy или NFT):

microk8s kubectl get felixconfiguration default -o jsonpath='{.spec.iptablesBackend}'; echo
NFT

Поменять на NFT:

microk8s kubectl patch felixconfiguration default --type merge -p '{"spec":{"iptablesBackend":"NFT"}}'

Нажмите, чтобы отобразить

Нажмите, чтобы скрыть

# 1. Останавливаем calico-node, чтобы он не воевал за таблицы
microk8s kubectl -n kube-system scale daemonset calico-node --replicas=0 2>/dev/null \
  || microk8s kubectl -n kube-system patch daemonset calico-node \
     -p '{"spec":{"template":{"spec":{"nodeSelector":{"nonexistent":"true"}}}}}'
 
# 2. Переводим kube-proxy в nftables-режим
echo '--proxy-mode=nftables' | sudo tee -a /var/snap/microk8s/current/args/kube-proxy
sudo snap stop microk8s.daemon-kubelite
 
# 3. Теперь legacy никто не держит — чистим
for t in nat mangle raw filter; do
  sudo iptables-legacy -t $t -F; sudo iptables-legacy -t $t -X
  sudo ip6tables-legacy -t $t -F; sudo ip6tables-legacy -t $t -X
done
sudo iptables-legacy -P INPUT ACCEPT; sudo iptables-legacy -P FORWARD ACCEPT; sudo iptables-legacy -P OUTPUT ACCEPT
 
# 4. Поднимаем обратно
sudo snap start microk8s.daemon-kubelite
microk8s kubectl -n kube-system patch daemonset calico-node --type json \
  -p '[{"op":"remove","path":"/spec/template/spec/nodeSelector/nonexistent"}]'

При конфликте маркировки с tailsacle

При конфликте маркировки с tailsacle

Сдвинуть на 8 бит:

microk8s kubectl patch felixconfiguration default --type merge -p '{"spec":{"iptablesMarkMask":4278190080}}'
microk8s kubectl -n kube-system rollout restart daemonset/calico-node
microk8s kubectl -n kube-system rollout status daemonset/calico-node
sudo conntrack -F
how-to/microk8s.1787078582.txt.gz · Последнее изменение: lioncub