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

相关推荐
java_cj3 天前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes
qq_452396233 天前
第十三篇:《K8s 安全基础:RBAC、ServiceAccount、Pod Security》
java·安全·kubernetes
睡不醒男孩0308233 天前
云原生运维实战:高并发架构下的云原生可观测性、韧性降级与自动化干预体系
数据库·kubernetes·高并发·prometheus·devops·sre·缓存调优
qq_452396233 天前
第十四篇:《K8s 网络模型与 CNI 插件(Calico、Flannel、Cilium)》
网络·kubernetes·php
Hadoop_Liang3 天前
Kubernetes 应用 HTTPS 安全访问配置实践
https·kubernetes
java_cj3 天前
从0到1启动kube-apiserver:深入源码解析API Server启动全流程
docker·容器·kubernetes
Hadoop_Liang3 天前
使用Kubernetes Gateway API实现域名访问应用
容器·kubernetes·gateway
java_cj4 天前
深入kubectl create源码:从YAML到Pod的完整链路拆解
运维·云原生·容器·kubernetes
万能的知了4 天前
K8s到底需不需要GPU节点?集群资源分配的底层逻辑
云原生·容器·kubernetes
卧室小白4 天前
K8S基础-控制器&deploy&pod回滚更新&service
docker·容器·kubernetes