Thank you for reading this post, don't forget to subscribe!
добавляем минимальный дисковый размер тачек
pvcreate /dev/sdb
vgextend centos /dev/sdb
lvextend -L8G /dev/mapper/centos-root
lvextend -L +3G /dev/centos/usr
lvextend -L +6G /dev/centos/var
resize2fs /dev/mapper/centos-root
resize2fs /dev/mapper/centos-usr
resize2fs /dev/mapper/centos-var
ставим docker:
yum remove docker docker-engine docker.io
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce -y
systemctl start docker
systemctl enable docker
идём на офф сайт:
https://rancher.com/docs/rancher/v2.6/en/installation/other-installation-methods/single-node-docker/advanced/#persistent-data
ставим runcher
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
-v /opt/rancher:/var/lib/rancher \
--privileged \
rancher/rancher:latest
ждём окончания и заходим по IP нашей виртуалки:
https://192.168.1.170/
получаем пароль:
1 2 3 |
[root@centos7 ~]# docker logs 9ea470807a9f 2>&1 | grep "Bootstrap Password:" 2022/06/12 06:48:58 [INFO] Bootstrap Password: xznb42dq5q2sqmgnzjp5qqqmz45q4kd6s867fxmm2h68lcxq72pmpw |
далее задаём свой пароль (не менее 12 символов) и соглашаемся с условиями:
всё ок попали в панель
создаём новый кластер для этого запускаем ещё 3 тачки 1 для мастера 2 для воркеров:
192.168.1.171 master
192.168.1.172 worker1
192.168.1.173 worker2
на все тачки так же ставим докер:
yum remove docker docker-engine docker.io
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce -y
systemctl start docker
systemctl enable docker
далее:
тут выбираем что собираемся ставить, я выбрал etcd и controlplane можно их разнести по разным тачкам но я поставлю на одну:
1 |
[root@master ~]# sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.6.5 --server https://192.168.1.170 --token 2mh9vddckgzcprg2qjmbzkn56d8wckkn4bblw2jx6x7brwlw2ksmjz --ca-checksum 79014bbd24d8c546ce2fa82f939ef70e1a58aca643bc4a4bd511497c3a2054c7 --etcd --controlplane |
далее выбираем воркер и ставим эту команду на воркеров:
1 |
sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.6.5 --server https://192.168.1.170 --token 2mh9vddckgzcprg2qjmbzkn56d8wckkn4bblw2jx6x7brwlw2ksmjz --ca-checksum 79014bbd24d8c546ce2fa82f939ef70e1a58aca643bc4a4bd511497c3a2054c7 --worker |
ждём и проверяем:
всё ок
подключиться к web консоли можно так:
подключение к кластеру:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
mv kubectl /usr/local/bin/
yum install bash-completion -y
echo 'source <(kubectl completion bash)' >>~/.bashrc
mkdir ~/.kube
далее заходим в ранчер чтобы скачать конфиг
скачивается файл.
его содержимое:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
apiVersion: v1 kind: Config clusters: - name: "mycluster" cluster: server: "https://192.168.1.170/k8s/clusters/c-2fcz9" certificate-authority-data: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJwekNDQ\ VUyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQTdNUnd3R2dZRFZRUUtFeE5rZVc1aGJXbGoKY\ kdsemRHVnVaWEl0YjNKbk1Sc3dHUVlEVlFRREV4SmtlVzVoYldsamJHbHpkR1Z1WlhJdFkyRXdIa\ GNOTWpJdwpOakV5TURZME9URTBXaGNOTXpJd05qQTVNRFkwT1RFMFdqQTdNUnd3R2dZRFZRUUtFe\ E5rZVc1aGJXbGpiR2x6CmRHVnVaWEl0YjNKbk1Sc3dHUVlEVlFRREV4SmtlVzVoYldsamJHbHpkR\ 1Z1WlhJdFkyRXdXVEFUQmdjcWhrak8KUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVNxeGRMa3Rmem5qN\ UJNbnYwQzhOVkUzcmVPb1BDSnB1UWwxQUh4aENmNgpoMG45bHloeEp3N0tMR1BJN0JwQStqQ0gzL\ 2VUQWFDWE41aFFRM0pvbjBnSm8wSXdRREFPQmdOVkhROEJBZjhFCkJBTUNBcVF3RHdZRFZSMFRBU\ UgvQkFVd0F3RUIvekFkQmdOVkhRNEVGZ1FVR29LbTlXZXpoNkh3aUc2YnBieVcKRXN5T05JTXdDZ\ 1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBTFJVUWNvRXU1WTE2WDhOYnQybGpyV3JhTzJTejF2cAo5O\ UNQYUVNNnVyTDVBaUFMT2lScit4RXNBcWk3TEVycjB5eW5UcjlwRXpLNWFCL3FVRHo2cUpKM2h3P\ T0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ==" - name: "mycluster-master" cluster: server: "https://192.168.1.171:6443" certificate-authority-data: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM0VENDQ\ WNtZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFTTVJBd0RnWURWUVFERXdkcmRXSmwKT\ FdOaE1CNFhEVEl5TURZeE1qRTJNRFl6TlZvWERUTXlNRFl3T1RFMk1EWXpOVm93RWpFUU1BNEdBM\ VVFQXhNSAphM1ZpWlMxallUQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ\ 0VCQU5GZ3lKMitNOUl0Cmw1VnZRejN1cnZlMFQzNGRDM0w3aXcreEhKNUR4REpQRlJ4Q2tETGF1Z\ jY2TW5zVXJEdGZMb2pyeDRCaURGN2QKK1ZEVUY0RUVpVnhoTE8vUmZzR1JSVlk4aHUxdFJQK28zM\ nVMUW1LM0pHMVZNUU45L3BpaDN3RkJhWkdBbFJ3Lwpmc2dYNlpiaHYwczh6SjRHVVljSUlwdzFxN\ GtzTloyKzNMM2ZsSmxqb0U5dVM1NE0vK1BDRkVEblpvc25jenlICi9PRXZyUkUvTVZjT1p4ZStJd\ FFockZlRzJyTVdOTEFJQnlDc3RTdk5jRm9DMGsvdnFJb0JzSUhxOXdoUGVoUk4KMTFXSEJjNVJxU\ XBMcWs4dlBNNDVrWXpCdmJhU0FXalYxOUloby9sM1hMOGR1ZDExTnMrQ0xOV2lwck1GU2VVMAp5b\ DFyVDBvTEdwRUNBd0VBQWFOQ01FQXdEZ1lEVlIwUEFRSC9CQVFEQWdLa01BOEdBMVVkRXdFQi93U\ UZNQU1CCkFmOHdIUVlEVlIwT0JCWUVGSllqbEMrc2M5Rk1KdWh2djFrSllmWTR4eHptTUEwR0NTc\ UdTSWIzRFFFQkN3VUEKQTRJQkFRQ200ZElKcXBrWFRqWVFZdWJzaVFONmxnSnlRSVdDTmdHQXNpK\ 3B6cUo1RXQzU2hQR1JMMlpQbVdZagptelcrQ0Q0RXNQUFJINlk4VWpBVUhISk8wZlJLdUcvZWxqN\ URMUzk1azkzbFNTWnQ1bm1uSnFtVGZqS3k2Tk5vCjRWQkp4OUlMRFJnT3NZTkpDRlEzbitobVFSL\ 1BhMC9FT2tBQlpBcGl2S21LWUN5TUk5czNhWUpZMTBDTW13bUYKU2gvS2p4SFhla1dtU2RXT0JYN\ lJNZGNoY0loSXFCRWovbDZJN3dyZ2VrSFhzZlpITWNOZmR0WldEc0FRUU1IUApKNjMxS3RuOFZxS\ U5ZU0R2T3BJQVZvenRCYk9XU0FZTWNVZUNuNlFPekRlVTFDSnpmRmNkOE5zbjFEZ3VUYTAxCkkvY\ zB0REhXWHFCbXFHWDN1empBbmpNV3daZm4KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" users: - name: "mycluster" user: token: "kubeconfig-user-pzgszsbns4:p6njzx8drdl52jlzf69vr4kvvk8xt6n6tgzm8lrxbdgfnhgtw9mvmb" contexts: - name: "mycluster" context: user: "mycluster" cluster: "mycluster" - name: "mycluster-master" context: user: "mycluster" cluster: "mycluster-master" current-context: "mycluster" |
пихаем в файл:
cat > ~/.kube/config
всё теперь можно работать с кластером из консоли:
1 2 3 4 5 6 |
[root@master ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION master Ready controlplane,etcd 6d14h v1.23.6 worker1 Ready worker 6d13h v1.23.6 worker2 Ready worker 6d13h v1.23.6 |
Установим мониторинг:
нужно создать неймспейс и проект
всё теперь можно устанавливать:
тут можно выбрать параметры перед установкой.
ну и всё, инсталлим
После установки видим следующую картину:
переходим в графану:
так же нам доступен сам prometheus и alertmanager
так же можем установить кучу других приложений: