溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

k8s args和command

發(fā)布時(shí)間:2020-02-25 21:00:43 來(lái)源:網(wǎng)絡(luò) 閱讀:1367 作者:wx5a98a78793203 欄目:系統(tǒng)運(yùn)維

1.介紹

Docker 與 Kubernetes 中對(duì)應(yīng)的字段名稱(chēng)。
k8s args和command
如果在容器配置中沒(méi)有設(shè)置 command 或者 args,那么將使用 Docker 鏡像自帶的命令及其入?yún)ⅰ?br/>如果在容器配置中只設(shè)置了 command 但是沒(méi)有設(shè)置 args,那么容器啟動(dòng)時(shí)只會(huì)執(zhí)行該命令,Docker 鏡像中自帶的命令及其入?yún)?huì)被忽略。
如果在容器配置中只設(shè)置了 args,那么 Docker 鏡像中自帶的命令會(huì)使用該新入?yún)⒆鳛槠鋱?zhí)行時(shí)的入?yún)ⅰ?br/>如果在容器配置中同時(shí)設(shè)置了 command 與 args,那么 Docker 鏡像中自帶的命令及其入?yún)?huì)被忽略。容器啟動(dòng)時(shí)只會(huì)執(zhí)行配置中設(shè)置的命令,并使用配置中設(shè)置的入?yún)⒆鳛槊畹娜雲(yún)ⅰ?/p>

下表涵蓋了各類(lèi)設(shè)置場(chǎng)景:
k8s args和command
#第一個(gè)表示容器沒(méi)有定義任何的命令和參數(shù),使用默認(rèn)的鏡像命令和參數(shù)
#第二個(gè)表示容器只定義了命令,最后就使用容器的命令但是不帶參數(shù)
#第三個(gè)表示容器定義了參數(shù),最后使用鏡像的命令,容器的參數(shù)
#第四個(gè)表示容器定義了命令和參數(shù),最后就使用容器的命令和參數(shù)

2.實(shí)例

apiVersion: v1
kind: Pod
metadata:
  name: ng1
  namespace: default
spec:
  nodeName: cs25
  containers:
    - name: ng1
      image: ng1
      command: [ "/bin/sh","-c" ]
      #運(yùn)行的命令
      args: [ "echo '222'>/222.txt;sleep 30" ]
      #命令的參數(shù)
      imagePullPolicy: Never

k8s args和command
#登錄進(jìn)去能看到在/ 目錄生成了一個(gè)222.txt 文件

apiVersion: v1
kind: Pod
metadata:
  name: ng5
  namespace: default
spec:
  nodeName: cs25
  containers:
    - name: ng1
      image: ng1
      command: [ "/bin/sh","-c" ]
      #運(yùn)行的命令
      args: [ "echo '555'>/555.txt;sleep 30" ]
      #命令的參數(shù)
      imagePullPolicy: Never

k8s args和command
#修改了args的參數(shù),里面生成的文件也不一樣了

3.實(shí)例運(yùn)行兩個(gè)命令運(yùn)行

apiVersion: v1
kind: Pod
metadata:
  name: ng5
  namespace: default
spec:
  nodeName: cs25
  containers:
    - name: ng1
      image: ng1
      #自定義鏡像
      command: [ "/bin/sh","-c"]
      #運(yùn)行的命令
      args: [ "echo '555'>/usr/share/nginx/html/index.html; /usr/sbin/nginx -g 'daemon off;'" ]
      #先把"555" 傳遞給index文件,在在前臺(tái)啟動(dòng)nginx
      imagePullPolicy: Never
      #由于是自定義鏡像,網(wǎng)上沒(méi)有文件,設(shè)置只能使用本地鏡像

k8s args和command
#注意這個(gè)運(yùn)行參數(shù)的最后一個(gè)一定是不能關(guān)閉的,因?yàn)閎ash腳本做為pid1如果退出了,docker就不會(huì)認(rèn)為該pod已經(jīng)無(wú)法正常工作了會(huì)執(zhí)行重啟策略。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI