root@k8s-master \~\]# vim /etc/docker/daemon.json 2.加载启动docker服务 \[root@k8s-master \~\]# systemctl daemon-reload \[root@k8s-master \~\]# systemctl start docker 3.拉取常用的镜像 docker pull ... \[root@k8s-master \~\]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE haproxy latest a782c02b8259 10 days ago 103MB nginx latest 39286ab8a5e1 4 weeks ago 188MB mysql 5.7.44 5107333e08a8 9 months ago 501MB centos latest 5d0da3dc9764 2 years ago 231MB 4.使用docker save指令打包镜像 \[root@k8s-master \~\]# docker save -o centos.tar centos:latest \[root@k8s-master \~\]# docker save -o mysql.tar mysql:5.7.44 \[root@k8s-master \~\]# docker save -o haproxy.tar haproxy:latest \[root@k8s-master \~\]# docker save -o nginx.tar nginx:latest 5.使用ctr指令将tar包导入到containerd的镜像中 \[root@k8s-master \~\]# ctr -n k8s.io images import centos.tar --platform=linux/amd64 \[root@k8s-master \~\]# ctr -n k8s.io images import nginx.tar --platform=linux/amd64 \[root@k8s-master \~\]# ctr -n k8s.io images import haproxy.tar --platform=linux/amd64 \[root@k8s-master \~\]# ctr -n k8s.io images import mysql.tar --platform=linux/amd64 6.查看containerd镜像列表 \[root@k8s-master \~\]# crictl images IMAGE TAG IMAGE ID SIZE docker.io/library/centos latest 5d0da3dc97646 239MB docker.io/library/haproxy latest a782c02b82595 106MB docker.io/library/mysql 5.7.44 5107333e08a87 520MB docker.io/library/nginx latest 39286ab8a5e14 192MB 7.在node01和node02节点上引入tar包,并使用ctr指令将tar包导入到containerd的镜像中 scp \~/\*.tar root@192.168.118.77:\~ \[root@k8s-master \~\]# scp haproxy.tar root@192.168.118.77:\~ \[root@k8s-node02 \~\]# ctr -n k8s.io images import mysql.tar --platform=linux/amd64 8.使用kubectl run创建pod \[root@k8s-master \~\]# kubectl run test001 --image docker.io/library/nginx:latest --image-pull-policy=IfNotPresent \[root@k8s-master \~\]# kubectl get po NAME READY STATUS RESTARTS AGE cluster-test5-6597c95b6c-28tkj 1/1 Running 10 42h test001 1/1 Running 0 14s \[root@k8s-master \~\]# kubectl describe pod test001 Normal Pulled 3m29s kubelet Container image "docker.io/library/nginx:latest" already present on machine 9.使用配置文件创建pod --创建一个容器 [root@k8s-master pods]# vim test0007.yaml [root@k8s-master pods]# kubectl create -f test0007.yaml pod/test0007 created [root@k8s-master pods]# cat test0007.yaml apiVersion: v1 kind: Pod metadata: name: test0007 labels: name: test0007 spec: containers: - name: test0007nginx image: docker.io/library/nginx:latest imagePullPolicy: IfNotPresent ports: - name: nginxport containerPort: 80 [root@k8s-master pods]# kubectl get po NAME READY STATUS RESTARTS AGE cluster-test5-6597c95b6c-28tkj 1/1 Running 10 42h test0007 1/1 Running 0 109s test001 1/1 Running 0 16m #删除test0007 [root@k8s-master pods]# kubectl delete -f test0007.yaml pod "test0007" deleted --创建两个容器 [root@k8s-master pods]# cat test0007.yaml apiVersion: v1 kind: Pod metadata: name: test0007 labels: name: test0007 spec: containers: - name: test0007nginx image: docker.io/library/nginx:latest imagePullPolicy: IfNotPresent ports: - name: nginxport containerPort: 80 - name: test0007centos image: docker.io/library/centos:latest imagePullPolicy: Never command: - sleep - infinity [root@k8s-master pods]# kubectl get po NAME READY STATUS RESTARTS AGE cluster-test5-6597c95b6c-28tkj 1/1 Running 10 43h test0007 2/2 Running 0 5s test001 1/1 Running 0 35m 10.监控容器运行的5个切入点 --postStart --startup --lived --ready --perStop
相关推荐
❀͜͡傀儡师10 小时前
k8s部署的Nexus 3 数据库损坏恢复指南:从删除损坏数据库到完整数据重建开心码农1号11 小时前
k8s中service和ingress的区别和使用张32311 小时前
K8s 不部署源代码、不构建应用L16247611 小时前
Kubernetes 完整学习手册(1 主多从 + 纯 YAML 部署 + 访问原理)川trans15 小时前
基于 Docker & K8s 的 MySQL 容器化部署与应用关联实践LoneEon17 小时前
Kubernetes高可用集群部署教程风向决定发型丶18 小时前
K8S PDB介绍刘某的Cloud19 小时前
svc中外部流量访问限制键盘鼓手苏苏19 小时前
Kubernetes与边缘AI最佳实践风向决定发型丶20 小时前
K8S中Pod驱逐介绍