崇州网站建站,湖南建设厅网站二建注销,wordpress 获取文章链接,做网站要几个部门组成Kubernetes 二进制部署 《easzlab / kubeasz项目部署》 03-安装容器运行时 03-安装容器运行时
项目根据k8s版本提供不同的默认容器运行时#xff1a;
k8s 版本 1.24 时#xff0c;支持docker containerd 可选
k8s 版本 1.24 时#xff0c;仅支持 containerd[roo… Kubernetes 二进制部署 《easzlab / kubeasz项目部署》 03-安装容器运行时 03-安装容器运行时
项目根据k8s版本提供不同的默认容器运行时
k8s 版本 1.24 时支持docker containerd 可选
k8s 版本 1.24 时仅支持 containerd[rootk8s-master-01 kubeasz]# cat playbooks/03.runtime.yml
# to install a container runtime
- hosts:- kube_master- kube_noderoles:- { role: docker, when: CONTAINER_RUNTIME docker }- { role: containerd, when: CONTAINER_RUNTIME containerd }kubeasz 集成安装 containerd 注意k8s 1.24以后项目已经设置默认容器运行时为 containerd无需手动修改 执行安装分步安装ezctl setup xxxx 03 命令对比
命令dockercrictl推荐ctr查看容器列表docker pscrictl psctr -n k8s.io c ls查看容器详情docker inspectcrictl inspectctr -n k8s.io c info查看容器日志docker logscrictl logs无容器内执行命令docker execcrictl exec无挂载容器docker attachcrictl attach无容器资源使用docker statscrictl stats无创建容器docker createcrictl createctr -n k8s.io c create启动容器docker startcrictl startctr -n k8s.io run停止容器docker stopcrictl stop无删除容器docker rmcrictl rmctr -n k8s.io c del查看镜像列表docker imagescrictl imagesctr -n k8s.io i ls查看镜像详情docker inspectcrictl inspecti无拉取镜像docker pullcrictl pullctr -n k8s.io i pull推送镜像docker push无ctr -n k8s.io i push删除镜像docker rmicrictl rmictr -n k8s.io i rm查看Pod列表无crictl pods无查看Pod详情无crictl inspectp无启动Pod无crictl runp无停止Pod无crictl stopp无
containerd和docker命令大体相似我们甚至可以通过alias来把crictl改成docker
alias dockercrictl[rootk8s-master-01 kubeasz]# cat roles/containerd/tasks/main.yml
- name: 获取是否已经安装containerdshell: systemctl is-active containerd || echo NoFoundregister: containerd_svc- block:- name: 准备containerd相关目录file: name{{ item }} statedirectorywith_items:- {{ bin_dir }}/containerd-bin- /etc/containerd- name: 加载内核模块 overlaymodprobe: nameoverlay statepresent- name: 下载 containerd 二进制文件copy: src{{ item }} dest{{ bin_dir }}/containerd-bin/ mode0755with_fileglob:- {{ base_dir }}/bin/containerd-bin/*tags: upgrade- name: 下载 crictlcopy: src{{ base_dir }}/bin/crictl dest{{ bin_dir }}/crictl mode0755- name: 添加 crictl 自动补全lineinfile:dest: ~/.bashrcstate: presentregexp: crictl completionline: source (crictl completion bash) # generated by kubeasz- name: 创建 containerd 配置文件template: srcconfig.toml.j2 dest/etc/containerd/config.tomltags: upgrade- name: 创建systemd unit文件template: srccontainerd.service.j2 dest/etc/systemd/system/containerd.servicetags: upgrade- name: 创建 crictl 配置template: srccrictl.yaml.j2 dest/etc/crictl.yaml- name: 开机启用 containerd 服务shell: systemctl enable containerdignore_errors: true- name: 开启 containerd 服务shell: systemctl daemon-reload systemctl restart containerdtags: upgrade- name: 轮询等待containerd服务运行shell: systemctl is-active containerd.serviceregister: containerd_statusuntil: active in containerd_status.stdoutretries: 8delay: 2tags: upgradewhen: NoFound in containerd_svc.stdout需要注意config.toml.j2这个文件中的sandbox_image {{ SANDBOX_IMAGE }}这个沙盒镜像在kubelet启动pod的时候会用到所以如果无法启动pod很有可能是这个插件没装好。不过kubeasz项目已经为我们填好了 [rootk8s-master-01 kubeasz]# ./ezctl setup k8s-cluster-01 03
[rootk8s-master-01 kubeasz]# ansible node -m shell -a systemctl is-active containerd
[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details
192.168.17.241 | CHANGED | rc0
active
192.168.17.240 | CHANGED | rc0
active