kubernetes deployment资源

保证pod高可用的方式,解决rc的痛点:

如果想要升级rc,rc升级成功后,rc标签变为新的label2,和service的label不匹配了,导致service下没有pod。

这时候需要手动改svc的配置文件

kubectl edit svc ${svcname}

所以rc在版本升级的时候会造成的问题的是他的svc短时间无法访问,deployment可以解决这个文件。

删除rc的时候会自动删除pod自由。

deployment yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: xxxx-deployment
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: xxxx
    spec:
      containers:
       - name: nginx
         image: dockerhubaddr/xxxx:versionnum
         ports:
          - containerPort: 80

deployment不会像rc一样起pod,deployment会起一个rs,rs再去起pod。

创建service

kubectl expose deployment ${deploymentname} --port=80 --type=NodePort

# 查看所有资源
kubectl get all -o wide

# 修改deployment
kubectl edit deployment ${deploymentname} 

修改deployment后再查看所有自由信息,发现rs有改变

# deployment回滚
kubectl rollout undo deployment ${deploymentname}

# 查看deployment历史版本
kubectl rollout history deployment ${deploymentname}

# 如果想看到每个历史版本的镜像版本,就在发布的时候使用命令行
kubectl run ${deploymentname} --image=addr/xxxx:versionnum --replicas=3 --record

# 升级发布新版本
kubectl set image deploy ${deploymentname} ${容器名字}=镜像版本 
    # 如何查询容器名字,使用
    kubectl get all -o wide

# 回滚到指定版本
kubectl rollout undo deployment ${deploymentname} --to-reversion=${版本号} # 一般是数字1,2,3等

 

 

<think>好的,我现在要解决用户提到的Kali Linux旧源未签名错误的问题。用户遇到的错误是使用旧源'http://old.kali.org/kali sana InRelease'导致的,系统提示仓库未签名,无法安全更新。我需要根据已有的引用信息和自己的知识来提供解决方案。 首先,我需要回忆一下Kali Linux的源配置。通常,这类问题是由于软件源过期密钥失效引起的。用户提到的错误信息中提到EXPKEYSIG ED444FF07D8D0BF6,这可能与仓库的签名密钥有关。但用户现在使用的是旧源sana,而引用中提到的错误是kali-rolling的密钥问题,不过问题根源可能类似,都是密钥过期源地址不正确。 根据引用中的例子,比如引用[1]和[2],用户尝试使用不同的镜像源(如阿里云、USTC)时出现GPG错误解决办法通常是更新密钥者更换正确的源。而用户现在的问题是旧源sana,这可能是一个已经不再支持的版本,所以需要更换到当前支持的源。 步骤应该是: 1. 检查当前系统中的源配置,确认是否确实在使用旧的sana源。 2. 替换旧的源地址为官方推荐的最新源,比如kali-rolling的镜像。 3. 导入正确的GPG密钥,确保仓库签名有效。 4. 执行更新命令验证问题是否解决。 另外,可能需要手动下载并安装新的密钥,者使用wget命令从官方获取密钥并添加到apt-key中。例如,引用中提到的ED444FF07D8D0BF6可能已经过期,需要更新。 还需要注意,Kali Linux的不同版本可能对应不同的仓库名称,比如sana是旧版本,现在应该使用kali-rolling。因此,用户需要更新源列表中的条目,将sana替换为kali-rolling,并选择合适的镜像源。 另外,用户可能还需要清理旧的源列表,避免残留的旧配置导致问题。例如,检查/etc/apt/sources.list文件以及/etc/apt/sources.list.d/目录下的文件,删除注释掉所有涉及旧源sana的行。 最后,执行apt-get updateapt-get upgrade来测试是否解决问题。如果仍有GPG错误,可能需要手动导入新的密钥,比如使用apt-key adv命令。 总结解决方案步骤: 1. 备份当前源列表。 2. 编辑源列表,替换旧源为最新镜像源。 3. 导入新的GPG密钥。 4. 更新并升级系统。 同时,需要提醒用户在操作前备份重要数据,避免操作失误导致系统问题。</think>### 解决方案:Kali Linux旧源未签名错误处理 #### 问题根源分析 错误提示`The repository 'http://old.kali.org/kali sana InRelease' is not signed`表明: 1. 系统正在使用已弃用的旧版Kali源(`sana`为2016年发布的版本,当前官方仅支持`kali-rolling`)[^1][^4]; 2. 旧仓库的GPG密钥已失效,导致APT无法验证软件包安全性。 --- #### 分步解决方法 1. **备份当前源列表** ```bash sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak ``` 2. **更新为官方推荐镜像源** 编辑源配置文件: ```bash sudo nano /etc/apt/sources.list ``` 删除注释所有包含`old.kali.org``sana`的行,替换为以下内容(以阿里云镜像为例): ```plaintext deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib ``` 3. **手动导入最新GPG密钥** ```bash wget -q -O - https://archive.kali.org/archive-key.asc | sudo apt-key add ``` 4. **执行系统更新** ```bash sudo apt-get update && sudo apt-get upgrade -y ``` --- #### 验证结果 若操作成功,终端应输出类似以下信息: ```plaintext Hit:1 http://mirrors.aliyun.com/kali kali-rolling InRelease Reading package lists... Done ``` --- #### 注意事项 - 若使用其他镜像(如清华、中科大),需确保URL中为`kali-rolling`而非`sana`[^2][^3] - 若仍报GPG错误,尝试强制刷新密钥: ```bash sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ED444FF07D8D0BF6 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值