k8s(二)——kubectl的使用以及创建deployment

kubectl的使用

常见概念

  • devops 开发和运维
    实现的方式有:python,docker+k8s,git+Jenkins
  • k8s
    k8s集成了docker三剑客(compose,swam,machine)的功能。
  • pod与pod控制器
    一个pod是一个或者多个容器。
    pod控制器是用来控制、管理pod的数量,状态。
  • service
    由于pod的地址会发生改变,通过service可以为pod提供一个统一的访问入口

kubectl管理命令概要

在这里插入图片描述
在这里插入图片描述

kubectl create -h
kubectl create deployment -h

管理和使用deployment

deployment的作用:

  • 创建指定数量的pod
  • 检查pod健康状态和数量

基于deployment创建nginx pod,有一个副本

  • 方法一
kubectl run nginx-dep1 --image=nginx:1.8 --replicas=1
kubectl get deployment
kubectl get pods
kubectl get pods -o wide
free -m

在这里插入图片描述

  • 方法二:通过kuboard创建pod
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 方法三:创建yaml文件
## 创建yaml文件
vim ngx-dep.yaml
## yaml文件内容
apiVersion: apps/v1
kind: Deployment
metadata:
  name: ngx-dep3
  labels:
      app: ngx
      type: webservice
spec:
  replicas: 1
  selector:
    matchLabels:
      app: ngx
  template:
    metadata:
      labels:
        app: ngx
    spec:
      containers:
      - name: nginx
        image: nginx:1.8
## 执行yaml文件
kubectl apply -f ngx-dep.yaml 

在这里插入图片描述

查看k8s对象状态

kubectl get 资源类型
kubectl get pod
kubectl get pod -o wide
kubectl get deployment
kubectl get deployment -o wide
kubectl get namespace
# 指定查看某个命名空间下的pod
kubectl get pod -n kube-system
# 查看所有命名空间下的pod
kubectl get pod -A -o wide


kubectl describe 资源类型
kubectl describe pod
kubectl describe pod web-nginx-dep2-5f4fbd5bfb-jqw9z
kubectl describe pod -o wide
kubectl describe deployment
kubectl describe deployment -o wide
kubectl describe namespace
# 指定查看某个命名空间下的pod
kubectl describe pod -n kube-system
# 查看所有命名空间下的pod
kubectl describe pod -A -o wide

kubectl logs 显示pod中的容器中运行过程中产生的日志信息
kubectl logs ngx-dep3-64cfcc9ddc-92x9s

kubectl run bx --image=busybox
kubectl exec -it nginx-dep1-6dd5d75f8b-mgndd /bin/bash
kubectl exec -it pod对象 /bin/bash

资源类型:
node
pod
service
deployment
namespace
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

发布应用

用service来发布服务

首先创建yaml

apiVersion: v1
kind: Service
metadata:
  name: ngx-svc
  labels:
    app: ngx
spec:
  selector:
    app: ngx
  ports:
  - name: nginx-ports
    protocol: TCP
    port: 80
    nodePort: 32002
    targetPort: 80
  type: NodePort
## 执行yaml文件
kubectl apply -f ngx_svc.yaml
#查看service的端口映射信息
kubectl get svc
#此时,可以访问集群中的任意一个node节点,来访问web页面
curl http://192.168.31.66:32002

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

服务伸缩

根据客户端的请求流量实现弹性管理
在这里插入图片描述
在这里插入图片描述

滚动更新

## 将1.8修改成1.7.9
 vim ngx-dep.yaml 
 kubectl apply -f ngx-de
 kubectl apply -f ngx-dep.yaml 
 watch kubectl get pods -l app=ngx
 kubectl get pods -l app=ngx
 kubectl describe pod ngx-dep3-5f55b87775-6lpjj

在这里插入图片描述

  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Kubernetes创建一个deployment可以使用多种方式。以下是几种常见的方法: 1. 使用kubectl create命令创建一个deployment,指定副本数和镜像。例如,使用以下命令创建一个名为ljj17的deployment,副本数为3,镜像为httpd:latest: ``` kubectl create deployment ljj17 --replicas=3 --image=httpd:latest ```\[1\] 2. 使用kubectl create命令生成一个yaml文件,然后使用该文件创建deployment。例如,使用以下命令生成一个名为deployment.yaml的yaml文件,其中包含一个名为liyuan的deployment,镜像为10.10.21.226:82/data/apijson:1.1: ``` kubectl create deployment liyuan --image=10.10.21.226:82/data/apijson:1.1 -o yaml --dry-run=client > deployment.yaml ```\[2\] 3. 使用kubectl scale命令扩容一个已经存在的deployment。例如,使用以下命令将名为ngx-dep的deployment的副本数从2扩展到3: ``` kubectl scale --replicas=3 deploy ngx-dep ```\[3\] 以上是创建和扩容deployment的几种常见方法。你可以根据自己的需求选择适合的方法来创建和管理deployment。 #### 引用[.reference_title] - *1* [k8s创建deployment](https://blog.csdn.net/qq_59323083/article/details/125621041)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [k8sdeployment 入门](https://blog.csdn.net/shanyaodou/article/details/127474288)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [k8sDeployment](https://blog.csdn.net/wang0907/article/details/128627263)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yemuxiaweiliang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值