摘要:訪問資源以下代表特定的獲取當(dāng)前下所有的獲取當(dāng)前下所有的獲取當(dāng)前下所有的獲取特定的狀態(tài)進(jìn)入某個(gè)容器里邊的命令行查看某個(gè)的日志
隨著容器技術(shù)的發(fā)展,k8s 也越來越火熱。在網(wǎng)絡(luò)上有許多關(guān)于 k8s 的文章,但大部分都是關(guān)于集群部署相關(guān)的,
而這篇文章主要講作為應(yīng)用開發(fā)者如何使用 k8s 。
github
準(zhǔn)備 預(yù)備知識(shí)Docker,學(xué)習(xí) k8s 之前了解 Docker 是毋庸置疑的。
工具brew install kubectl
kubectl 是 k8s 的命令行工具,用于管理 k8s 集群。以上是 Mac 下的安裝方法,其它操作系統(tǒng)參考官方文檔。當(dāng)然,你也可以使用 Dashboard 管理容器。
Clusterk8s 集群,一般生產(chǎn)環(huán)境有一個(gè) Cluster 集群,測(cè)試環(huán)境有一個(gè) Cluster 集群。
Namespace在一個(gè) Cluster 會(huì)有不同的 Namespace,可以區(qū)分不同的業(yè)務(wù)團(tuán)隊(duì)。
PodPod 是 k8s 中最小的可部署單元。一般一個(gè) Pod 運(yùn)行一個(gè) Container,但是有時(shí)也會(huì)運(yùn)行多個(gè) Container。類似 docker-compose。
DeploymentDeployment 用來控制 Pod,比如控制一個(gè)應(yīng)用起幾個(gè) Pod。
配置文件關(guān)于 k8s 的配置文件位置在 ~/.kube/config。另外也可以使用命令 kubectl config 查看以及更改配置,使用命令更改配置的同時(shí),配置文件也會(huì)改變。
配置文件可以指定 Cluster,Namespace,User 的配置,并設(shè)置 Context。以下是一個(gè)簡(jiǎn)版的配置文件。
# 該配置文件配置了一個(gè)用戶 shanyue,一個(gè)集群 dev,并且設(shè)置了 dev 的 context apiVersion: v1 clusters: - cluster: certificate-authority: /Users/shanyue/.minikube/ca.crt server: https://192.168.99.100:8443 name: dev contexts: - context: cluster: dev namespace: Business user: shanyue name: dev current-context: dev kind: Config preferences: {} users: - name: shanyue user: client-certificate: /Users/shanyue/.minikube/client.crt client-key: /Users/shanyue/.minikube/client.key
其中 current-context 代表當(dāng)前上下文,也可以通過以下命令來設(shè)置上下文。
# 查看配置 kubectl config view # 查看集群列表 kubectl config get-clusters # 查看 Context 列表 kubectl config get-contexts # 設(shè)置當(dāng)前 Context kubectl config use-context dev創(chuàng)建資源
kubectl create 代表根據(jù)文件創(chuàng)建資源,可以是 Deployment,也可以是 Pod。
kubectl run 代表根據(jù)鏡像創(chuàng)建資源。
kubectl create -f app.yaml kubectl run --image=k8s.gcr.io/echoserver:1.10 --port=8080
一般在 CI 中作 deploy 時(shí)會(huì)使用 kubectl apply 命令,根據(jù)配置文件更新資源。
配置文件中可以寫多份配置,也可以寫 Deployment,Service 各種 Kind 配置。以下是以 node 作為服務(wù)器語言樣例的配置。
apiVersion: v1 kind: Service metadata: name: app namespace: dev labels: name: app spec: ports: - port: 8080 targetPort: 8080 protocol: TCP selector: name: app --- apiVersion: extensions/v1beta1 kind: Deployment metadata: name: app namespace: dev labels: name: app spec: template: metadata: labels: name: app spec: containers: - name: app image: node imagePullPolicy: Always env: - name: PORT value: "8080" ports: - containerPort: 8080訪問資源
以下 $app 代表特定 Pod 的 Name
# 獲取當(dāng)前 Context 下所有的 Deployment kubectl get deployments # 獲取當(dāng)前 Context 下所有的 Pod kubectl get pods # 獲取當(dāng)前 Cluster 下所有的 Pod kubectl get pods --all-namespaces # 獲取特定 Pod 的狀態(tài) kubectl describe pod $app # 進(jìn)入某個(gè) Pod 容器里邊的命令行 kubectl exec -it $app bash # 查看某個(gè) Pod 的日志 kubectl logs $app
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/33068.html
摘要:訪問資源以下代表特定的獲取當(dāng)前下所有的獲取當(dāng)前下所有的獲取當(dāng)前下所有的獲取特定的狀態(tài)進(jìn)入某個(gè)容器里邊的命令行查看某個(gè)的日志 隨著容器技術(shù)的發(fā)展,k8s 也越來越火熱。在網(wǎng)絡(luò)上有許多關(guān)于 k8s 的文章,但大部分都是關(guān)于集群部署相關(guān)的, 而這篇文章主要講作為應(yīng)用開發(fā)者如何使用 k8s 。 github 準(zhǔn)備 預(yù)備知識(shí) Docker,學(xué)習(xí) k8s 之前了解 Docker 是毋庸置疑的。 工...
摘要:訪問資源以下代表特定的獲取當(dāng)前下所有的獲取當(dāng)前下所有的獲取當(dāng)前下所有的獲取特定的狀態(tài)進(jìn)入某個(gè)容器里邊的命令行查看某個(gè)的日志 隨著容器技術(shù)的發(fā)展,k8s 也越來越火熱。在網(wǎng)絡(luò)上有許多關(guān)于 k8s 的文章,但大部分都是關(guān)于集群部署相關(guān)的, 而這篇文章主要講作為應(yīng)用開發(fā)者如何使用 k8s 。 github 準(zhǔn)備 預(yù)備知識(shí) Docker,學(xué)習(xí) k8s 之前了解 Docker 是毋庸置疑的。 工...
摘要:將用戶命令通過接口傳送給,從而進(jìn)行資源的增刪改等操作。要使用編寫應(yīng)用程序,當(dāng)下大多語言都可以很方便地去實(shí)現(xiàn)請(qǐng)求來操作的接口從而控制和查詢資源,但本文主要是利用已有的客戶端來更加優(yōu)雅地實(shí)現(xiàn)的資源控制。 showImg(https://segmentfault.com/img/remote/1460000013517345); 【利用K8S技術(shù)棧打造個(gè)人私有云系列文章目錄】 利用K8S...
摘要:將用戶命令通過接口傳送給,從而進(jìn)行資源的增刪改等操作。要使用編寫應(yīng)用程序,當(dāng)下大多語言都可以很方便地去實(shí)現(xiàn)請(qǐng)求來操作的接口從而控制和查詢資源,但本文主要是利用已有的客戶端來更加優(yōu)雅地實(shí)現(xiàn)的資源控制。 showImg(https://segmentfault.com/img/remote/1460000013517345); 【利用K8S技術(shù)棧打造個(gè)人私有云系列文章目錄】 利用K8S...
摘要:本文是網(wǎng)易容器云平臺(tái)的微服務(wù)化實(shí)踐系列文章的第一篇。網(wǎng)易容器云平臺(tái)的前身是網(wǎng)易應(yīng)用自動(dòng)部署平臺(tái),它能夠利用云提供的基礎(chǔ)設(shè)施,實(shí)現(xiàn)包括構(gòu)建和部署一體化在內(nèi)的整個(gè)應(yīng)用生命周期管理。目前網(wǎng)易云容器服務(wù)團(tuán)隊(duì)以的方式管理著微服務(wù),每周構(gòu)建部署次數(shù)。 此文已由作者馮常健授權(quán)網(wǎng)易云社區(qū)發(fā)布。 歡迎訪問網(wǎng)易云社區(qū),了解更多網(wǎng)易技術(shù)產(chǎn)品運(yùn)營(yíng)經(jīng)驗(yàn)。 摘要:網(wǎng)易云容器平臺(tái)期望能給實(shí)施了微服務(wù)架構(gòu)的團(tuán)隊(duì)提供完...
閱讀 1334·2021-09-01 11:40
閱讀 3941·2021-08-05 10:03
閱讀 974·2019-08-30 15:54
閱讀 2816·2019-08-29 12:53
閱讀 3179·2019-08-29 12:23
閱讀 940·2019-08-26 13:45
閱讀 2277·2019-08-26 10:41
閱讀 2535·2019-08-23 16:44