Сегодня я впервые отдал выстрел Кубера. Я был заинтересован в своей функции автозапуска, поэтому я написал простую программу Node.js
// application that randomly dies, and see how good kubernetes is at restarting it.
console.time('alive');
setTimeout(() => {
console.timeEnd('alive');
process.exit(0);
}, Math.random() * 60000);
setInterval(() => {
console.log('feels good to be alive')
}, 100)
Я скачал Minikube и виртуальную коробку, и побежал
minikube start minikube dashboard
Тогда я сделал Super Basic Dockerfile
FROM node ADD randomly-die.js . CMD ["node", "randomly-die.js"]
Теперь мы должны создать это изображение докера, а затем создать развертывание с Kubernetes
eval $(minikube docker-env) docker build -t randomly-die:1.0 . kubectl run randomly-die --image randomly-die:1.0 --image-pull-policy=Never
Теперь мы можем проверить развертывание в развертывании приборной панели и посмотреть, что у нас есть развертывание с именем случайно
Отсюда мы видим, у нас есть набор реплик и один POD, который работает наш контейнер
Теперь, если мы проверяем журналы POD, мы видим, мы уважаем и бегаем
... feels good to be alive feels good to be alive feels good to be alive feels good to be alive feels good to be alive feels good to be alive feels good to be alive feels good to be alive feels good to be alive feels good to be alive alive: 4856.096ms
Kubernetes делает его довольно легко увеличить, сколько работает контейнеров. Для моего окончательного теста я хотел посмотреть, что он пробегает 10 равных контейнеров, и посмотрите, что он перезапускает их
kubectl scale deployment --replicas=10 randomly-die # deployment.extensions "randomly-die" scaled
Теперь у нас есть 10 контейнеров, работающих, которые случайно умирают, и мы можем наблюдать за приростом счетчика «перезапустить», когда Kubernetes перезагружает их.
Довольно круто!
Оригинал: “https://dev.to/micahriggan/kubernetes-first-time-project-auto-restarting-23dd”