k8s的基础

[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

相关推荐
西西小飞龙1 小时前
Docker和K8S中pod、services、container的介绍和关系
docker·容器·kubernetes
you来有去14 小时前
记录一下在k3s快速创建gitlab
java·kubernetes·gitlab
格桑阿sir15 小时前
Kubernetes控制平面组件:API Server Node 授权机制 详解
kubernetes·kubelet·authorization·apiserver·node授权机制·noderestriction·资源拦截
舌尖上的五香19 小时前
k8s拉取harbor镜像部署
云原生·容器·kubernetes
qq_4489410819 小时前
12、k8s安全机制
安全·kubernetes
斯普信专业组19 小时前
深入探讨K8s资源管理和性能优化
容器·性能优化·kubernetes
终端行者19 小时前
k8s中pod的调度策略之pod的亲和性调度与反亲和性调度 一文搞懂 k8s中创建的pod如何调度?
容器·kubernetes
人才瘾大19 小时前
docker和k8s
docker·kubernetes
挣扎与觉醒中的技术人1 天前
Kubernetes (K8S) 高效使用技巧与实践指南
网络·云原生·容器·kubernetes