当前位置: 首页 > news >正文

什么是网络设计编辑网站优化推广公司排名

什么是网络设计编辑,网站优化推广公司排名,做网站设计制作的公司,搜索引擎网站推广如何优化文章目录1. 开启节点维护1.1 将节点设置成不可调度1.2 驱逐节点上的 Pod1.3 停止相关服务2. 升级到 containerd2.1 安装 containerd2.2 调整 containerd 配置2.3 修改 kubelet 启动配置参数3. 重启节点服务4. 验证升级后的节点5. 容器管理工具5.1 容器管理命令行工具对比5.2 cr…

文章目录

  • 1. 开启节点维护
    • 1.1 将节点设置成不可调度
    • 1.2 驱逐节点上的 Pod
    • 1.3 停止相关服务
  • 2. 升级到 containerd
    • 2.1 安装 containerd
    • 2.2 调整 containerd 配置
    • 2.3 修改 kubelet 启动配置参数
  • 3. 重启节点服务
  • 4. 验证升级后的节点
  • 5. 容器管理工具
    • 5.1 容器管理命令行工具对比
    • 5.2 crictl 命令行工具安装
  • 6. 总结

1. 开启节点维护

  开启节点维护,目的是将待维护节点上通过 Deployment 部署的 Pod 驱离该节点,使其在另外的正常节点上运行,从而保障服务的连续性。但是如果我们服务的实例个数是1时,当服务被驱离时,服务将会中断,服务的连续性将无法得到保障,需要等待服务在另外的节点上运行启动后,服务才能恢复。所以,生产环境为了不影响正常的业务运行,最好能够将服务的实例数最小设置2个实例。

1.1 将节点设置成不可调度

kubectl cordon k8s-node1

  查看节点的状态是否被设置成了不可调度状态
在这里插入图片描述
  如上图 k8s-node1 节点已经被设置成了不可调度状态。

1.2 驱逐节点上的 Pod

kubectl drain k8s-node1 --ignore-daemonsets 

在这里插入图片描述
  执行完上述命令后,k8s-node1 节点上除了 daemon set 启动的 Pod 外,通过 deployment 启动的 Pod 都会被驱离到其他可调度的节点上重新启动。

  通过将待升级的节点设置成维护模式,从而保障业务服务能够在集群升级过程中正常的提供服务。

1.3 停止相关服务

systemctl stop kubelet
systemctl stop containerd
systemctl disable docker
systemctl stop docker
systemctl disable cri-docker
systemctl stop cri-docker

2. 升级到 containerd

2.1 安装 containerd

  • 卸载 docker 相关功能
yum remove docker docker-client ocker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine docker-ce
  • 安装或升级 containerd 服务
yum install containerd

2.2 调整 containerd 配置

  • 导出默认配置
containerd config default > /etc/containerd/config.toml
  • 编辑 /etc/containerd/config.toml 文件
    sandbox_image = "registry.k8s.io/pause:3.6"替换成sandbox_image = "registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6"
	[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]SystemdCgroup = false替换成[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]SystemdCgroup = true

添加国内镜像仓库,这个非常关键,否则将会导致镜像下载失败,Pod中服务无法启动。

    [plugins."io.containerd.grpc.v1.cri".registry]......[plugins."io.containerd.grpc.v1.cri".registry.mirrors]在containerd 配置文件中找到上边内容,并在此处添加下边两行, 注意缩进,下边两行内容与上边一行有2个空格的缩进,下边两行内容之间也存在2个空格的缩进。[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]endpoint = ["http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn","https://registry.docker-cn.com"]

2.3 修改 kubelet 启动配置参数

  在 kubelet 启动文件中添加或修改下边两个变量的参数值

--container-runtime=remote 
--container-runtime-endpoint=unix:///run/containerd/containerd.sock

3. 重启节点服务

  • 重启 containerd 服务
systemctl daemon-reload 
systemctl enable containerd
systemctl start containerd
  • 查看 containerd 服务启动状态
systemctl status containerd

在这里插入图片描述

  • 重新启动 kubelet
systemctl start kubelet
  • 查看 kubelet 服务状态
systemctl status kubelet

在这里插入图片描述

  • 取消节点维护状态
kubectl uncordon k8s-node1
  • 查看节点信息
kubectl get nodes -o wide

在这里插入图片描述
  如上图中 k8s-node1 节点已经变成 Ready 状态,并且 CONTAINER-RUNTIME 已经变成了 containerd://1.6.18。表示 k8s-node1 节点已经从 docker 容器切换成 containerd 容器。

4. 验证升级后的节点

  如果 calico-node 采用 daemon set 的方式部署,那么当k8s节点升级 containerd 容器运行时后,重启 containerd 和 kubelet 之后,calico-node 将会在升级后的节点上重新运行,可通过查看升级后节点是否成功启动 calico-node 的Pod来判断节点是否升级成功。
在这里插入图片描述

  如上图所示,k8s-node1 节点上的 calico cni Pod 正在自动部署。如下图所示,k8s-node1 节点上的 calico-node Pod已经成功运行起来。

在这里插入图片描述

5. 容器管理工具

5.1 容器管理命令行工具对比

功能dockerctrcrictl
查看容器列表docker psctr -n k8s.io c lscrictl ps
容器内执行命令docker exec-crictl exec
挂载容器docker attach-crictl attach
拉取镜像docker pullctr -n k8s.io i pullcrictl pull
推送镜像docker pushctr -n k8s.io i push-
删除镜像docker rmi-crictl rmi

  使用 containerd 替代 docker 作为 k8s 的容器运行时之后,docker 命令行工具需要通过 ctrcrictl 来替换。ctr 是 containerd 提供的容器管理命令行工具,但是 ctr 相较于 crictl 功能相对较弱,所以,当 docker 切换到 containerd 之后,建议使用 crictl 命令行工具来管理容器,使用 crictl 命令行工具需要另行安装。

  containerd 存储 k8s 相关的数据在 k8s.io 空间中,默认情况下使用 ctr 操作的是 default 空间的数据。所以,如果想要在 k8s 中使用 containerd default 空间的数据,可以将 default 空间中的镜像导出,然后导入到 k8s.io 空间。

  • 导出 default 空间中的镜像,例如导出 calico cni 镜像
ctr -n default images export --platform=linux/amd64 cni.tar.gz docker.io/calico/cni:v3.24.5
  • 导入 calico cni 镜像到 k8s.io 空间
ctr -n k8s.io i import cni.tar.gz

5.2 crictl 命令行工具安装

  • crictl 源码地址
https://github.com/kubernetes-sigs/cri-tools/releases
  • 下载 Linux x64 版本工具
wget https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.26.0/crictl-v1.26.0-linux-amd64.tar.gz
  • 解压并安装
tar -zxvf crictl-v1.26.0-linux-amd64.tar.gz -C /usr/local/bin
  • 配置crictl参数
crictl config runtime-endpoint unix:///run/containerd/containerd.sock
crictl config image-endpoint unix:///run/containerd/containerd.sock

  将会生成 /etc/crictl.yaml 配置文件。到此 crictl 命令行工具安装完成,以前通过 docker 命令操作的指令,后续可以使用 crictl 执行。

6. 总结

  • 将 docker 容器运行时替换成 containerd 时,可以逐个节点进行替换,这样能够保证服务的连续性。
  • 使用 containerd 替换 docker 后,对于 k8s 1.20 以后的版本,不再需要 cri-docker 服务对 docker 容器运行时进行中转。
  • k8s 集群相关组件,只需要修改 kubelet 启动参数,不需要调整 kube-apiserver,kube-scheduler,kube-controller-manager,kube-proxy等组件。
http://www.hkea.cn/news/543134/

相关文章:

  • 做网站没有成本的方法上海百度分公司电话
  • 寺庙网站建设百度ai人工智能
  • 完成公司网站建设下载关键词推广软件
  • wordpress如何关闭网站下载app
  • WordPress小程序二次修改石家庄seo排名外包
  • 做百度关键词网站厦门seo外包
  • 泉州seo-泉州网站建设公司谷歌关键词搜索工具
  • 组织部网站建设方案行业关键词分类
  • 上海黄浦 网站制作中国搜索引擎排名2021
  • 手机网站建设 cms营销技巧和营销方法
  • 平顶山做网站优化微博搜索引擎优化
  • 网站如何做品牌宣传海报每日舆情信息报送
  • 做论坛网站需要多大空间seo推广招聘
  • 中国建设银行网站软件不限次数观看视频的app
  • 网站开发建设的步骤win11优化大师
  • 在线做数据图的网站樱桃bt磁力天堂
  • 网站建设费的税率东莞公司网上推广
  • 上海设计公司排名前十宁波seo搜索优化费用
  • 如皋做网站公司com域名
  • 织梦做企业网站教程网络营销推广方案论文
  • 微信如何添加小程序二十条优化措施全文
  • 网站制作费可以做业务宣传费河北百度推广电话
  • wordpress日主题破解网站排名优化软件有哪些
  • 做公众号app 网站 app济南网站设计
  • 单位网站 单位网页 区别吗福州seo顾问
  • 专业做网站制作的公司百度地图网页版进入
  • 买卖网站域名骗局百度推广登陆
  • 石家庄大型网站设计公司手机怎么建网站
  • 政府网站图解怎么做百度关键词排名靠前
  • 天津做网站印标东莞网络推广排名