久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

kubernetes使用技巧有哪些

165次閱讀
沒有評論

共計 2263 個字符,預計需要花費 6 分鐘才能閱讀完成。

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

一:在容器中獲取 Pod 的 IP

apiVersion: v1

kind: ReplicationController

metadata:

 name: world-v2

spec:

 replicas: 3

 selector:

 app: world-v2

 template:

 metadata:

 labels:

 app: world-v2

 spec:

 containers:

 – name: service

 image: test

 env:

 – name: POD_IP

 valueFrom:

 fieldRef:

 fieldPath: status.podIP

 ports:

 – name: service

 containerPort: 777

容器中可以直接使用 POD_IP 環境變量獲取容器的 IP,通過環境變量來實現,該環境變量直接引用 resource 的狀態字段。

二:在 Pod 中獲取宿主機的主機名、namespace 等

apiVersion: v1

kind: Pod

metadata:

 name: dapi-test-pod

spec:

 containers:

 – name: test-container

 image: busybox

 command: [/bin/sh , -c , env]

 env:

 – name: MY_NODE_NAME

 valueFrom:

 fieldRef:

 fieldPath: spec.nodeName

 – name: MY_POD_NAME

 valueFrom:

 fieldRef:

 fieldPath: metadata.name

 – name: MY_POD_NAMESPACE

 valueFrom:

 fieldRef:

 fieldPath: metadata.namespace

 – name: MY_POD_IP

 valueFrom:

 fieldRef:

 fieldPath: status.podIP

 – name: HOST_IP

 valueFrom:

 fieldRef:

 fieldPath: status.hostIP

 – name: MY_POD_SERVICE_ACCOUNT

 valueFrom:

 fieldRef:

 fieldPath: spec.serviceAccountName

 restartPolicy: Never

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

三:指定容器的啟動參數

我們可以在 Pod 中為容器使用 command 為容器指定啟動參數:

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

使用數組的方式定義,所有命令使用跟 Dockerfile 中的 CMD 配置是一樣的,但是有一點不同的是,bootsttap.sh 必須具有可執行權限,否則容器啟動時會出錯。

四:使容器內時間與宿主機同步

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

volumeMounts:

 – name: host-time

 mountPath: /etc/localtime

 readOnly: true

 volumes:

 – name: host-time

 hostPath:

 path: /etc/localtime

五:kubectl 命令補全

# yum install -y bash-completion

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

# source (kubectl completion bash)

六:創建一個 CentOS 測試容器

有時我們可能需要在 Kubernetes 集群中創建一個容器來測試集群的狀態或對其它容器進行操作,這時候我們需要一個操作節點,可以使用一個普通的 CentOS 容器來實現。即使用一個 while 循環保證容器啟動時擁有一個前臺進程。

apiVersion: extensions/v1beta1

kind: Deployment

metadata:

 name: test

 labels:

 app: test

spec:

 replicas: 1

 template:

 metadata:

 labels:

 app: test

 spec:

 containers:

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

 name: test

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

 imagePullPolicy: IfNotPresent

感謝你能夠認真閱讀完這篇文章,希望丸趣 TV 小編分享的“kubernetes 使用技巧有哪些”這篇文章對大家有幫助,同時也希望大家多多支持丸趣 TV,關注丸趣 TV 行業資訊頻道,更多相關知識等著你來學習!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-16發表,共計2263字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 临漳县| 辽源市| 遵义县| 宁南县| 长治市| 雅安市| 高密市| 富裕县| 陇川县| 天全县| 嵩明县| 祁东县| 吴江市| 喀喇沁旗| 南宫市| 霍邱县| 手游| 望江县| 临猗县| 枞阳县| 饶平县| 安顺市| 马关县| 浑源县| 宁海县| 威海市| 浮梁县| 长葛市| 元阳县| 湖南省| 南川市| 和田县| 西吉县| 大渡口区| 遂溪县| 保康县| 射阳县| 武山县| 加查县| 大城县| 禹州市|