k8s离线部署nginx

  1. 拉取nginx离线包到本地

    sudo docker save nginx:latest -o nginx.tar

  2. 导入nginx image到k8s命名空间中

    sudo ctr -n k8s.io images import nginx.tar

  3. 编辑nginx.yaml

    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: nginx-deployment
    spec:
    selector:
    matchLabels:
    app: nginx
    replicas: 2
    template:
    metadata:
    labels:
    app: nginx
    spec:
    containers:
    - name: nginx
    image: nginx:latest
    imagePullPolicy: IfNotPresent
    ports:
    - containerPort: 80

    apiVersion: v1
    kind: Service
    metadata:
    name: nginx-service
    spec:
    selector:
    app: nginx
    ports:
    - protocol: TCP
    port: 80
    targetPort: 80
    type: LoadBalancer

注意 imagePullPolicy 是 IfNotPresent,使用本地镜像,k8s镜像的拉取策略为:

复制代码
Always 总是拉取镜像
IfNotPresent 本地有则使用本地镜像,不拉取
Never 只使用本地镜像,从不拉取,即使本地没有
如果省略imagePullPolicy,  策略为always 
  1. apply yaml启动deployment

    kubectl apply -f nginx.yaml

  2. kubectl查看部署已经完成

    kubectl get deployment NAME READY UP-TO-DATE AVAILABLE AGE nginx-deployment 2/2 2 2 5m52s kubectl get pods
    NAME READY STATUS RESTARTS AGE
    nginx-deployment-54b6f7ddf9-vcl6k 1/1 Running 0 5m58s
    nginx-deployment-54b6f7ddf9-x6j7z 1/1 Running 0 5m58s

  3. 暴露nginx服务

    $ kubectl expose deployment nginx-deployment --type=NodePort --port=80
    service/nginx-deployment exposed

    $ kubectl get svc nginx-deployment
    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
    nginx-deployment NodePort 10.102.52.246 80:31177/TCP 105s

访问31177端口即可访问nginx页面,至此部署完成

相关推荐
bbq粉刷匠5 分钟前
ArrayList 整体认识
java·jvm·数据结构
水无痕simon7 分钟前
15 转账对接文档
java·区块链
西凉的悲伤8 分钟前
Java 基于 MySQL 行锁实现高并发业务序列号生成器
java·mysql·springboot·序列号生成
lv__pf15 分钟前
servlet与jsp
java·开发语言·servlet
xieliyu.30 分钟前
Java 文件IO :File 文件类、字节流、字符流讲解
java·ide·笔记·javaee
云烟成雨TD41 分钟前
Micrometer 系列【28】Spring Boot Actuator | 其他指标速览
java·spring boot·云原生
meilindehuzi_a43 分钟前
深入理解 Linux 进程地址空间:从虚拟内存、页表映射到 fork 写时拷贝与 VMA 管理
java·linux·服务器
莫得感情 o1 小时前
设计模式 13 · 桥接模式
java·设计模式·桥接模式
吠品1 小时前
Java中实现拓扑排序的两种方式:Kahn算法和DFS
java·数据库·notepad++
TunerT_TQ1 小时前
企业智能体工程体系v1.1|企业智能体工程卷 · 第5期· 数据飞轮——用观察—分析—计划—执行持续改进
java·运维·网络·#agent工程化·#企业智能体·#多智能体系统·#数据飞轮