K8S部署

K8S部署,第1张

kubernetes简介
kubernetes项目来源与borg,集结了borg设计思想的精华,并吸取了borg系统中的经验和教训。
kubernetes对计算机资源进行了更高层次的抽象,通过将容器进行细致的组合,将最终的应用服务交给用户。
kubernetes的好处:
1.隐藏资源管理和错误处理,用户仅需关注应用的开发。
2.服务高可用、高可靠。
可将负载运行在由成千上万的机器联合而成的集群中。
kubernetes集群包含节点代理kubelet和master组件(APIs,scheduler,etc),一切都基于分布式的存储系统

scheduler调度器,把容器的job调度到各个节点上运行。
controller manager控制器。控制容器的运行方式。就是控制容器的状态。
etcd:分布式集群存储。
pod是k8s的最小调度单位。



打开之前的4个虚拟机,2,3,4来做k8s集群的,可以不需要上网,生产环境中容器云不需要直接连外网,因为不够安全。但是下载镜像的时候需要连外网。

server1
cd
cd harbor/
ls
#需要保证仓库连外网
docker-compose ps
docker-compose start #确保没有开启的开启

官方文档:

在使用docker时必须启动引擎。systemctl status docker
docker开服务引擎是为了编排,
先把2,3,4台虚拟机整理,清楚干净,之前做过swarm

server2
docker ps
docker volume ls
docker network ls
docker network prune
ip addr
systemctl status docker
rm -f /etc/systemd/system/docker.service.d/10-machine.conf
systemctl daemon-reload
systemctl restart docker
docker info

若出现问题:

因为docker.socket没有被停掉,以下为正确的解决步骤

server2,3,4
docker network prune
systemctl status docker
rm -f /etc/systemd/system/docker.service.d/10-machine.conf
systemctl daemon-reload
cd /etc/docker/
ls
systemctl stop docker
systemctl stop docker.socket
systemctl start docker
docker info
netstat -antlp
ip addr #查看网络是否正常
docker info#需要将cgroup的驱动调整为systemd

为了保证kubelet正常工作,禁用交换分区。
1、修改server配置参数

server2
vim daemon.json

server2
systemctl daemon-reload
systemctl reload docker
docker info

如果cgroup drive没有生效,还是原来的。

syetmctl restart docker
docker info
ssh-keygen
ssh-copy-id server3
ssh-copy-id server4
scp daemon.json server3:/etc/docker/
scp daemon.json server4:/etc/docker/
server3,4 查看有没有改过来
systemctl restart docker
docker info

2、禁用swap分区

server2,3,4
swapoff -a
vim /etc/fstab


3、安装kubeadm、kubelet是每个节点都得装,kubectl用来与集群通信的命令行工具,在 *** 作集群的那台机器上装就可以了。
kubeadm用来初始化集群的指令
kubelet在集群中的每个节点上用来启动pod和容器等
阿里云

server2
cd /etc/yum.repos.d/
vim k8s.repo

yum repolist
yum install -y kubelet kubeadm kubectl
systemctl enable --now kubelet
scp k8s.repo server3:/etc/yum.repos.d/
scp k8s.repo server4:/etc/yum.repos.d/
ls
server3,4
yum install -y kubelet kubeadm kubectl
server2
ssh server3 systemctl enable --now kubelet
ssh server4 systemctl enable --now kubelet
server3
systemctl status kubelet
systemctl is-enable kubelet

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/889853.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-14
下一篇 2022-05-14

发表评论

登录后才能评论

评论列表(0条)

保存