0 声望

这家伙太懒,什么都没留下

个人动态

回复 半兽人 Kubernetes containerd失败的pull镜像从私有仓库harbor 中 :

感谢,可以用,我在对应的namespace中创建了secret之后成功了。

20天前
半兽人 Kubernetes containerd失败的pull镜像从私有仓库harbor 发表评论:

pod/deployment中设置imagePullSecrets

apiVersion: v1
kind: Pod
metadata:
  name: private-reg
spec:
  containers:
  - name: private-reg-container
    image: <your-private-image>
  imagePullSecrets:
  - name: registry
20天前
半兽人 kubernetes(k8s)数据没有在各个容器之间共享 发表评论:

将以下代码块添加到你的init容器部分。

command: ["/bin/sh","-c"]
args: ["wget -O /jdbc-jar/ojdbc8-19.3.0.0.jar https://repo1.maven.org/maven2/com/oracle/ojdbc/ojdbc8/19.3.0.0/ojdbc8-19.3.0.0.jar"]

命令[["/bin/sh", "-c"]意思是 "运行一个shell,并执行以下指令"。然后将args作为命令传递给shell。在shell脚本中,命令之间用分号隔开。在wget命令中,我添加了-O标志,从指定的url下载jar,并将其保存为/jdbc-jar/ojdbc8-19.3.0.0.jar。要检查jar是否在容器中持久化。只需执行命令。

$ kubectl exec -it web-service-test -- /bin/bash

然后进入文件夹/jdbc-jar (cd jdbc-jar )并列出其中的文件(ls -al)。你应该可以在那里看到你的jar。

26天前
半兽人 kubernetes(k8s)如何部署secret资源? 发表评论:

使用stringData可以使用纯文本值创建一个secret。

apiVersion: v1
kind: Secret
metadata:
  name: big-secrets
type: Opaque
stringData:
  secret-password: "secretMeow"
  secret-key: "angryWoof"
  database-password: "happyWhale"

但是,值得注意的是,它为方便起见提供了更多信息,并且文档说:
它是作为一种只写的方便方法提供的。所有key和value在写入时都会被合并到数据字段中(覆盖现有的值)。当从API读取时,它不会被输出。

对于如何读取secret的问题,如果您希望以编程方式进行使用,可以使用jq之类的工具来解析Kubernetes的输出并进行base64解码:

kubectl get secret big-secrets -o json | jq -r '.data["secret-password"] | @base64d'

这将以JSON形式获取创建的secret(-o yaml也可以选择),读取给定secret的数据字段(在这种情况下为secret-password),然后对它进行base64解码。

1月前
半兽人 kubernetes(k8s)如何使用kubectl run在进入终端(命令行)之前预先执行一些其他的命令? 发表评论:

你可以使用shell的exec将控制权从你最初的"外层"bash(负责完成你想要的初始化步骤)移交给一个新的bash(新的意思是它没有-c,可以选择是一个登录的shell),它在你的预步骤之后运行,如下。

kubectl run sample -it --image=ubuntu:20.04 -- \
    bash -c "apt update; apt install -y zip; exec bash -il"
1月前
订阅了 kafka 主题! · 1月前
订阅了 kubernetes 主题! · 1月前
赞了 kafka中文教程 · 1年前