节点
Kubernetes集群包含3种角色类型的节点:etcd节点,control plane节点和worker节点。
etcd Nodes
etcd节点用于运行etcd数据库。 etcd是一个键值存储,用作Kubernetes对所有集群数据的后备存储。即使你可以在单个节点上运行etcd实例,也需要3个、5个或7个节点来实现冗余。
Control Plane Nodes
control plane节点用于运行Kubernetes API服务、scheduler和controller manager。control plane节点是无状态的,因为所有集群数据都存储在etcd节点上。你可以在1个节点上运行control plane,但需要2个或更多节点实现冗余。你还可以在etcd节点上运行控制平面。
Worker Nodes
Worker节点用于运行kubelet和工作负载。它还在需要时运行存储和网络驱动程序和ingress controllers。你可以根据工作负载需要创建尽可能多的Worker节点。
创建第一个集群
默认会勾选Worker角色,根据需要可以一次勾选多种角色。比如,假设我只有一个节点,那就需要把所有角色都选择上,选择后上面的命令行会自动添加相应的命令参数;
集群创建完成后,默认会生成Default项目,点击Default切换到项目视图;
部署一个应用程序
1.工作负载是一个对象,包括pod以及部署应用程序所需的其他文件和信息。
a.在Default视图下,点击工作负载—部署服务.
b.在部署工作负载页面,设置工作负载名称、副本数量、镜像名称、命名空间、端口映射,其他参数保持默认,最后点击启动;
单节点备份
docker stop `<RANCHER_CONTAINER_ID>` # ,操作前,停止当前运行Rancher Server的容器
docker create --volumes-from <RANCHER_CONTAINER_NAME> --name rancher-data-<DATE> rancher/rancher:<RANCHER_CONTAINER_TAG> # 备份当前Rancher Server容器的数据到数据卷容器中
docker run --volumes-from rancher-data-<DATE> -v $PWD:/backup alpine tar zcvf /backup/rancher-data-backup-<RANCHER_VERSION>-<DATE>.tar.gz /var/lib/rancher # 创建Rancher server数据卷容器备份
docker run --volumes-from <RANCHER_CONTAINER_NAME> -v $PWD:/backup alpine sh -c "rm /var/lib/rancher/* -rf && tar zxvf /backup/rancher-data-backup-<RANCHER_VERSION>-<DATE>.tar.gz" # 集群恢复
docker start <RANCHER_CONTAINER_NAME> # 重新启动Rancher Server容器
单节点升级
docker stop <RANCHER_CONTAINER_ID>
docker create --volumes-from <RANCHER_CONTAINER_ID> --name rancher-data rancher/rancher:<RANCHER_CONTAINER_TAG>
docker create --volumes-from <RANCHER_CONTAINER_ID> --name rancher-data-snapshot-<CURRENT_VERSION> rancher/rancher:<RANCHER_CONTAINER_TAG>
docker pull rancher/rancher:latest
docker run -d --volumes-from rancher-data --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:latest # 通过rancher-data数据卷容器启动新的Rancher Server容器。
vi /etc/docker/daemon.json
1.配置镜像加速地址
{
"registry-mirrors": ["https://7bezldxe.mirror.aliyuncs.com/","https://IP:PORT/"]
}
2.配置insecure-registries私有仓库
{
"insecure-registries": ["192.168.1.100","IP:PORT"]
}
3.配置Docker存储驱动
{
"storage-driver": "overlay2",
"storage-opts": ["overlay2.override_kernel_check=true"]
}
4.配置日志驱动
{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}
# 容器在运行时会产生大量日志文件,很容易占满磁盘空间。通过配置日志驱动来限制文件大小与文件的数量。 >限制单个日志文件为100M,最多产生3个日志文件
5.Ubuntu\Debian系统 ,docker info提示WARNING: No swap limit support
sed -i 's/GRUB_CMDLINE_LINUX=".*"/GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1 net.ifnames=0"/g' /etc/default/grub
update-grub