小编E23*_*235的帖子

如何使用“kubectl patch --type='json'”更新秘密

我创建了一个这样的秘密:

kubectl create secret generic test --from-literal=username=testuser --from-literal=password=12345
Run Code Online (Sandbox Code Playgroud)

我想将用户名更新为,testuser2但我只想使用kubectl patch --type='json'.

这就是我尝试这样做的方式:

kubectl patch secret test --type='json' -p='[{"data":{"username": "testuser 2"}}]' -v=1  
Run Code Online (Sandbox Code Playgroud)

但我收到了:

“”无效

请记住,我想使用 选项来执行此操作--type='json',没有其他解决方法。

kubernetes kubectl kubernetes-secrets

7
推荐指数
1
解决办法
6048
查看次数

无法在容器上应用 AppArmor 配置文件:“没有这样的文件或目录”

我正在尝试应用以下简单的 AppArmor 配置文件:

#include <tunables/global>

profile docker-profile flags=(attach_disconnected,mediate_deleted) {
  #include <abstractions/base>
  #network,
  #capability,
  #file,
  #umount,
  #ptrace,
  #mount,
  pivot_root,
}
Run Code Online (Sandbox Code Playgroud)

当我运行时,docker run -it --rm --security-opt apparmor=docker-profile alpine出现以下错误:

docker:来自守护进程的错误响应:无效的标头字段值“oci运行时错误:container_linux.go:247:启动容器进程导致\”process_linux.go:359:容器初始化导致\\“apparmor无法应用配置文件:没有这样的文件或目录\\"\"\n"。

我尝试重新安装它(基于此处的建议):

rm -rf /etc/apparmor*
apt install apparmor --reinstall
service apparmor restart
service docker restart
Run Code Online (Sandbox Code Playgroud)

这没有帮助,我仍然遇到同样的错误。

有什么建议可能是什么原因以及如何解决吗?

containers apparmor docker

6
推荐指数
2
解决办法
1万
查看次数

如何在浏览器大小调整时保持图像和表格单元格的大小

我有一些图像和表格的棋盘游戏.
当我使用Chrome时,显示器正常,但在其他浏览器,例如IE或其他具有较小屏幕的计算机上,则显示屏正在中断.
当我尝试调整浏览器大小时,我发现了这个问题.

在将浏览器调整为左侧之前:
在此输入图像描述

将浏览器调整为左侧后:
在此输入图像描述

我找到了关于这个问题的帖子,他们建议使用:

margin-left: 10%;
margin-right: 10%;
Run Code Online (Sandbox Code Playgroud)

到图片但它没有帮助.

CSS:

td {
    width: 105px;
    height: 90px;
    text-align: left;
    vertical-align: top;
    border: 1px solid black;
    position: relative;
    margin-left: 10%;
    margin-right: 10%;
}
table
{
    position: fixed;
    left:9px;
    top:8px;
}

#dice
{
   right: 230px;
    position:fixed; 
    margin-left: 10%;
    margin-right: 10%;
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<img id="dice" src="Resources/images/dice_5.png" number="5">
<table oncontextmenu="return false">
  <tbody>
    <tr>
     <td class="" cellnumber="1" row="0" col="0"><span>1</span></td>
     <td class="" cellnumber="2" row="0" col="1"><span>2</span></td>
     <td class="" cellnumber="3" row="0" col="2"><span>3</span></td>
     <td class="" cellnumber="4" row="0" col="3"><span>4</span></td> …
Run Code Online (Sandbox Code Playgroud)

html javascript css webpage resize

5
推荐指数
1
解决办法
286
查看次数

如何获取具有系统托盘图标的进程

我正在尝试创建获取具有systray图标的进程列表的应用程序。
我搜索了很多,发现了一些参考文献:

  1. http://www.raymond.cc/blog/find-out-what-program-are-running-at-windows-system-tray/

  2. https://superuser.com/questions/708674/how-to-find-out-what-process-a-system-tray-icon-corresponds-to

  3. 哪个Windows进程正在显示给定的任务栏系统任务栏图标?

  4. https://social.msdn.microsoft.com/Forums/vstudio/zh-CN/53e27f60-37af-406f-bbdc-45db2bd3dee6/how-to-find-a-system-tray-process

  5. https://social.msdn.microsoft.com/Forums/vstudio/zh-CN/4c4f60ce-3573-433d-994e-9c17f95187f0/finding-which-applications-and-services-are-list-in-the-system-托盘?论坛=一般

  6. http://www.codeproject.com/Articles/10497/A-tool-to-order-the-window-buttons-in-your-taskbar

  7. 从系统任务栏中的图标获取工具提示文本

它们都是很好的资源,但对我来说最有用的是3和4。

1中,有一个我想要的例子。

我想要具有systray图标的进程列表:
在此处输入图片说明 名为“ AnVir任务管理器”的应用程序示例

使用链接6中的代码,我成功遍历了系统托盘按钮并看到每个按钮的文本:
在此处输入图片说明

但是我不确定如何找到与每个纸盘图标相关的过程。

他在代码项目中提到可以帮助识别过程的信息是,dwData但是问题是当我发现Systray中出现的按钮时,它的dwData = 0
在此处输入图片说明

码:

Form1.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace SystrayIcons
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            Engine.findProcessInSystray();
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Engine.findProcessInSystray();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Engine.cs

using System;
using System.Collections.Generic;
using …
Run Code Online (Sandbox Code Playgroud)

c# c++ winapi taskbar

5
推荐指数
1
解决办法
1268
查看次数

如何获取显示隐藏系统托盘图标的窗口的隐藏窗口句柄

我正在尝试用 C# 编写应用程序来捕捉按下按钮时出现的隐藏窗口的句柄(“显示隐藏的图标”)。

当我们不显示所有通知区域时,我们隐藏了系统托盘图标。

当我们按下显示它们的按钮(“显示隐藏的图标”)时,我们有一个新窗口,其中包含所有图标:
在此处输入图片说明
用绿色圆圈标记的隐藏窗口

我怎样才能抓住这个隐藏窗口的句柄?

当我使用 Spy++ 时,我找不到这个窗口,因为当我单击键盘上的任何其他键时,窗口就会消失。

所以我找到了按钮的句柄并使用了日志记录选项:
在此处输入图片说明

在日志结果中,我只看到了常规系统托盘工具栏的窗口句柄:
在此处输入图片说明

那么我怎样才能抓住隐藏窗口的句柄(我在我的问题的乞求中用绿色标记的那个,第一张图片)。

参考资料(我找到但没有帮助我的链接):
如何使用 Microsoft Spy++ 捕获通知图标属性
获取有关 windows7 中隐藏托盘图标的信息

c# c++ winapi spy++

5
推荐指数
1
解决办法
2993
查看次数

如何在第一次匹配时停止管道过滤(Where-Object)

我搜索过但还没有找到如何做。
我正在研究从大文件(~2GB)中过滤数据。
我使用过Where-Object,当它找到匹配时,它会继续搜索其他有意义的匹配。

有可能在第一场比赛就停止吗?

例如(#1)

Get-Process | Where-Object {$_.ProcessName.StartsWith("svchost")}
Run Code Online (Sandbox Code Playgroud)

输出将是:

Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName
-------  ------    -----      ----- -----   ------     -- -----------
    666      38    26928      18672    92             568 svchost
    596      28    11516      16560    92             792 svchost
    425      14     5364       7036    45             832 svchost
    406      17     7032       8416    39            1004 svchost
Run Code Online (Sandbox Code Playgroud)

我想要的是在第一场比赛后返回输出:

Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName
-------  ------    -----      ----- -----   ------     -- -----------
    666      38    26928      18672 …
Run Code Online (Sandbox Code Playgroud)

powershell pipeline break

5
推荐指数
1
解决办法
6840
查看次数

如何验证 Kubernetes 服务帐户令牌 (JWT)

我创建了一个服务帐户并创建了一个与该服务帐户关联的 Pod。
在 Pod 中,我有服务帐户令牌:

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6Im15c2VydmljZS10b2tlbi1xY21jcSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJteXNlcnZpY2UiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJlZmVkM2MwZi02ZTEwLTExZTgtYWEwOC0wMDUwNTY4NTdjYWYiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6ZGVmYXVsdDpteXNlcnZpY2UifQ.Q6evTXCaZ99eBRsOrNnu-UlCJsYu4EKNijxEYyMe8Kq6G9e5likG08DwqMyUOP9uVT7kbOR6VOqIuJ4w0xShG6H2zcXhsF7dViFdo9LaYrs2830XjkiMRAxqJmkcvNseeqwBL1aS5SiNz_xf8RgIZaU1Oik69KVRWncno3dZHEyr2PrwDt4akSorCAC9nyhWKV-oL7FWtQjRKzfr3utbvGMLU6YKVN6cDR4C-GrvVUM1eI0o_-6kovz4VKJKfiOb0c7ttAM_9h4kNOaRxtmTVPTBzBEy6qJUgva0IUlpya8AChRyGncXc6qIJaVOkgUvZm7SpI77Czxz0TrkGezVhA/
Run Code Online (Sandbox Code Playgroud)

我用jwt.io网站解码了 JWT 。

在它下面有一个地方,我可以验证我的令牌,但它要求提供公钥或证书:
在此处输入图片说明

在 Pod 中,我有集群证书 ( ca.crt):
在此处输入图片说明

我输入了它,但它说它无效。
ca.crt 内容:

-----BEGIN CERTIFICATE-----
MIICyDCCAbCgAwIBAgIBADANBgkqhkiG9w0BAQsFADAVMRMwEQYDVQQDEwprdWJl
cm5ldGVzMB4XDTE4MDYxMTA4MzkwM1oXDTI4MDYwODA4MzkwM1owFTETMBEGA1UE
AxMKa3ViZXJuZXRlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANLb
SLZuYZhsLD4eazkGglgcusKD02MMO7hYw02OD5M9G4biC/ZFlWjdayLY9OTKwISW
kdyNHrOvW5+UMf1Kha+aJgRfaf96YpDadADsdA/pXKlxA23TzjCmCLgZiO4h+PNO
nxRTftM/o8hoUNhY6t71m2Pn5gE2+bdFuzBLM4rGIaDlFagn1iYnAys6faz4Q3Xn
n8xpp2Fl+kxf2JpCffgdfHd3M7DAHlFqdyBPa8i9byCPknSt/j8dR62Etxl1xOxl
QwtLXmRKOe134g1yxPMrIbh54JkOMuU0dyVV9WriUj04jskH+zIrQnGOztSvES2N
iLqwIM52IC6EwKAcbXUCAwEAAaMjMCEwDgYDVR0PAQH/BAQDAgKkMA8GA1UdEwEB
/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAMfXDTlaoUFFloE/Ce8TwA32d6fD
tSUBX2xs5pMclacGAFtx505e+fpvkowR3qcJcjawov0bPdMyGNZyXyDWpCsvDVnH
850m+z91+mkqqom9vGmPk5MXoz7trzrKvkvl7CDaWyQlX8SV83c3ijyaeH8/crvC
Z3qeOkjekWnS/lKvQ9a+dFFou0ZsN3UGUpUtI12gwjvHYgTOwdpjX+CBp2TEnzd+
5NSkfv2QNom8cQmnEiSnI5JCxv3Vzi6z9uTGC7ok1EQAwwlYLBeyTpcz5PmCNvZ/
rw3eEneIyKxlSLafkNlEdhol2ZXZe+JS2zTzUVWlFbEtG/odGmn29BSN3nU=
-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)

在哪里可以找到与此服务帐户令牌相关联的公钥或证书?
在 worker 内部有一个位置,/var/lib/kubelet/pki但密钥和证书与 kubelet 相关:
kubelet-client.crt kubelet-client.key kubelet.crt kubelet.key

参考:
kubernetes 上的 CA 证书和 JWT 令牌

authentication jwt kubernetes

5
推荐指数
1
解决办法
3344
查看次数

如何从 REST API 创建 Pod

如何使用 REST API 创建 Pod?

我查看了 Kubernetes API 文档:https ://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/#-strong-write-operations-strong--54

他们正在写需要使用 POST 请求:
POST /api/v1/namespaces/{namespace}/pods

我有这个简单的 nginx pod 的 YAML:

cat > nginx-pod.yaml <<EOF
apiVersion: v1
kind: Pod
metadata:
  name: nginx1
spec:
  containers:
  - name: nginx
    image: nginx:1.7.9
    ports:
    - containerPort: 80
EOF
Run Code Online (Sandbox Code Playgroud)

kubernetes kubernetes-apiserver kubernetes-pod

5
推荐指数
2
解决办法
5394
查看次数

如何运行 docker:dind 以启动 shell

我想跑docker:dind去拿一个shell。
如果我运行docker run --privileged docker:dind sh它就退出。
解决方法是运行:docker run -d --privileged docker:dind
它在后台启动,然后我可以运行docker exec -it <container> sh并获取 shell。

但我希望它能从一个 shell 开始。
我创建了一个 Dockerfile:

FROM docker:dind
ENTRYPOINT sh  
Run Code Online (Sandbox Code Playgroud)

我建造了它:
docker build -t dind2 -f Dockerfile .

当我运行时,docker run --rm -it --privileged dind2我得到一个 shell,但是当我尝试运行简单容器时,docker run busybox echo hi它失败了:

docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.  
Run Code Online (Sandbox Code Playgroud)

知道如何 makedocker:dind从 shell 开始,而不需要在后台运行它然后使用它exec来获取 shell 的解决方法。

docker dockerfile

5
推荐指数
1
解决办法
7232
查看次数

无法导入 RSA 私钥:“提供程序的版本错误”

我有一个随机私钥 ( "C:\tmp\private.key"):

-----BEGIN RSA PRIVATE KEY-----
MIICXgIBAAKBgQDHikastc8+I81zCg/qWW8dMr8mqvXQ3qbPAmu0RjxoZVI47tvs
kYlFAXOf0sPrhO2nUuooJngnHV0639iTTEYG1vckNaW2R6U5QTdQ5Rq5u+uV3pMk
7w7Vs4n3urQ6jnqt2rTXbC1DNa/PFeAZatbf7ffBBy0IGO0zc128IshYcwIDAQAB
AoGBALTNl2JxTvq4SDW/3VH0fZkQXWH1MM10oeMbB2qO5beWb11FGaOO77nGKfWc
bYgfp5Ogrql4yhBvLAXnxH8bcqqwORtFhlyV68U1y4R+8WxDNh0aevxH8hRS/1X5
031DJm1JlU0E+vStiktN0tC3ebH5hE+1OxbIHSZ+WOWLYX7JAkEA5uigRgKp8ScG
auUijvdOLZIhHWq7y5Wz+nOHUuDw8P7wOTKU34QJAoWEe771p9Pf/GTA/kr0BQnP
QvWUDxGzJwJBAN05C6krwPeryFKrKtjOGJIniIoY72wRnoNcdEEs3HDRhf48YWFo
riRbZylzzzNFy/gmzT6XJQTfktGqq+FZD9UCQGIJaGrxHJgfmpDuAhMzGsUsYtTr
iRox0D1Iqa7dhE693t5aBG010OF6MLqdZA1CXrn5SRtuVVaCSLZEL/2J5UcCQQDA
d3MXucNnN4NPuS/L9HMYJWD7lPoosaORcgyK77bSSNgk+u9WSjbH1uYIAIPSffUZ
bti+jc1dUg5wb+aeZlgJAkEAurrpmpqj5vg087ZngKfFGR5rozDiTsK5DceTV97K
a3Y+Nzl+XWTxDBWk4YPh2ZlKv402hZEfWBYxUDn5ZkH/bw==
-----END RSA PRIVATE KEY-----  
Run Code Online (Sandbox Code Playgroud)

我尝试使用RSACryptoServiceProvider.ImportCspBlob导入它,但失败并显示错误:

System.Security.Cryptography.CryptographicException:提供程序的错误版本。

完整的堆栈跟踪:

Failed: System.Security.Cryptography.CryptographicException: Bad Version of provider.

   at System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr)
   at System.Security.Cryptography.Utils._ImportCspBlob(Byte[] keyBlob, SafeProvHandle hProv, CspProviderFlags flags, SafeKeyHandle& hKey)
   at System.Security.Cryptography.Utils.ImportCspBlobHelper(CspAlgorithmType keyType, Byte[] keyBlob, Boolean publicOnly, CspParameters& parameters, Boolean randomKeyContainer, SafeProvHandle& safeProvHandle, SafeKeyHandle& safeKeyHandle)
   at System.Security.Cryptography.RSACryptoServiceProvider.ImportCspBlob(Byte[] keyBlob)
   at ConsoleApplication3.Program.DecodeRSA(Byte[] data, Int32 c_data) in C:\Users\myuser\Documents\Visual Studio 2015\Projects\myproj\ConsoleApplication3\Program.cs:line 28
   at ConsoleApplication3.Program.Main(String[] args) in …
Run Code Online (Sandbox Code Playgroud)

c# rsa

5
推荐指数
2
解决办法
2556
查看次数