真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

kubernetes使用技巧有哪些

這篇文章主要介紹了kubernetes使用技巧有哪些,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

成都創(chuàng)新互聯(lián)公司主營(yíng)金沙網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP開(kāi)發(fā)公司,金沙h5小程序定制開(kāi)發(fā)搭建,金沙網(wǎng)站營(yíng)銷(xiāo)推廣歡迎金沙等地區(qū)企業(yè)咨詢(xún)

一:在容器中獲取 Pod 的IP

  1. apiVersion: v1

  2. kind: ReplicationController

  3. metadata:

  4.   name: world-v2

  5. spec:

  6.   replicas: 3

  7.   selector:

  8.     app: world-v2

  9.   template:

  10.     metadata:

  11.       labels:

  12.         app: world-v2

  13.     spec:

  14.       containers:

  15.       - name: service

  16.         image: test

  17.         env:

  18.         - name: POD_IP

  19.           valueFrom:

  20.             fieldRef:

  21.               fieldPath: status.podIP

  22.         ports:

  23.         - name: service

  24.           containerPort: 777

容器中可以直接使用 POD_IP 環(huán)境變量獲取容器的 IP,通過(guò)環(huán)境變量來(lái)實(shí)現(xiàn),該環(huán)境變量直接引用 resource 的狀態(tài)字段。

二:在Pod中獲取宿主機(jī)的主機(jī)名、namespace等

  1. apiVersion: v1

  2. kind: Pod

  3. metadata:

  4.   name: dapi-test-pod

  5. spec:

  6.   containers:

  7.     - name: test-container

  8.       image: busybox

  9.       command: [ "/bin/sh", "-c", "env" ]

  10.       env:

  11.         - name: MY_NODE_NAME

  12.           valueFrom:

  13.             fieldRef:

  14.               fieldPath: spec.nodeName

  15.         - name: MY_POD_NAME

  16.           valueFrom:

  17.             fieldRef:

  18.               fieldPath: metadata.name

  19.         - name: MY_POD_NAMESPACE

  20.           valueFrom:

  21.             fieldRef:

  22.               fieldPath: metadata.namespace

  23.         - name: MY_POD_IP

  24.           valueFrom:

  25.             fieldRef:

  26.               fieldPath: status.podIP

  27.         - name: HOST_IP

  28.           valueFrom:

  29.            fieldRef:

  30.              fieldPath: status.hostIP

  31.         - name: MY_POD_SERVICE_ACCOUNT

  32.           valueFrom:

  33.             fieldRef:

  34.               fieldPath: spec.serviceAccountName

  35.   restartPolicy: Never

這條技巧補(bǔ)充了第一條獲取 podIP 的內(nèi)容,方法都是一樣的,只不過(guò)列出了更多的引用字段。參考下面的 pod 定義,每個(gè) pod 里都有一個(gè) {.spec.nodeName} 字段,通過(guò) fieldRef 和環(huán)境變量,就可以在Pod中獲取宿主機(jī)的主機(jī)名(訪(fǎng)問(wèn)環(huán)境變量MY_NODE_NAME)。

三:指定容器的啟動(dòng)參數(shù)

我們可以在 Pod 中為容器使用 command 為容器指定啟動(dòng)參數(shù):

  1. command: ["/bin/bash","-c","bootstrap.sh"]

使用數(shù)組的方式定義,所有命令使用跟 Dockerfile 中的 CMD 配置是一樣的,但是有一點(diǎn)不同的是,bootsttap.sh 必須具有可執(zhí)行權(quán)限,否則容器啟動(dòng)時(shí)會(huì)出錯(cuò)。

四:使容器內(nèi)時(shí)間與宿主機(jī)同步

我們下載的很多容器內(nèi)的時(shí)區(qū)都是格林尼治時(shí)間,與北京時(shí)間差8小時(shí),這將導(dǎo)致容器內(nèi)的日志和文件創(chuàng)建時(shí)間與實(shí)際時(shí)區(qū)不符,有兩種方式解決這個(gè)問(wèn)題:
1.修改鏡像中的時(shí)區(qū)配置文件
2.將宿主機(jī)的時(shí)區(qū)配置文件/etc/localtime使用volume方式掛載到容器中
第二種方式比較簡(jiǎn)單,不需要重做鏡像,只要在應(yīng)用的yaml文件中增加如下配置:

  1. volumeMounts:

  2.   - name: host-time

  3.     mountPath: /etc/localtime

  4.     readOnly: true

  5.   volumes:

  6.   - name: host-time

  7.     hostPath:

  8.       path: /etc/localtime

五:kubectl 命令補(bǔ)全

  1. # yum install -y bash-completion

  2. # source /usr/share/bash-completion/bash_completion

  3. # source <(kubectl completion bash)

六:創(chuàng)建一個(gè)CentOS測(cè)試容器

有時(shí)我們可能需要在Kubernetes集群中創(chuàng)建一個(gè)容器來(lái)測(cè)試集群的狀態(tài)或?qū)ζ渌萜鬟M(jìn)行操作,這時(shí)候我們需要一個(gè)操作節(jié)點(diǎn),可以使用一個(gè)普通的CentOS容器來(lái)實(shí)現(xiàn)。即使用一個(gè)while循環(huán)保證容器啟動(dòng)時(shí)擁有一個(gè)前臺(tái)進(jìn)程。

  1. apiVersion: extensions/v1beta1

  2. kind: Deployment

  3. metadata:

  4.   name: test

  5.   labels:

  6.     app: test

  7. spec:

  8.   replicas: 1

  9.   template:

  10.     metadata:

  11.       labels:

  12.         app: test

  13.     spec:

  14.       containers:

  15.       - image: harbor-001.jimmysong.io/library/centos:7.2.1511

  16.         name: test

  17.         command: ["/bin/bash","-c","while true; do sleep 1000; done"]

  18.         imagePullPolicy: IfNotPresent

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“kubernetes使用技巧有哪些”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!


名稱(chēng)欄目:kubernetes使用技巧有哪些
瀏覽地址:http://weahome.cn/article/jgeddc.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部