K8s
k8s是一個cluster集群,在cluster集群中有多個Namespace,一個namespace下又有多個pods,一個pod下有多個container。
這篇文章帶你從頭在docker中部署k8s。
docker下載
docker安裝 docker: https://docs.docker.com/docker-for-mac/install/
在docker中使用k8s: https://docs.docker.com/desktop/kubernetes/
在docker設置中,點選如下圖的兩個。

k8s 相關命令
在這一小節會簡單介紹通過命令行控制k8s的相關shell命令。
獲取相關的namespace信息
kubectl get namespace
獲取default下的相關的pod信息,如果沒有–namespace參數則獲得所有的namespace信息
Kebectl get pod --namespace=default
獲取pod的shell
Kubectl exec -it pod bash
通過網頁API顯示
如何在網頁中直觀的顯示k8s集群的信息。
首選配置代理
Kubectl proxy
這時打開網頁
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login

提示需要輸入token,輸入命令,并將得到的token粘貼到token中。
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
此時,進入到k8s的網頁中,

點開相應的pods,可以選擇namespace。

點擊pod后面的三個點,點擊執行,便可進入到當前pod的shell中。
此刻,點開你會發現并不能運行相關的命令。
需要配置相關的yaml文件。
yaml文件格式
在這一小節給出yaml的文件格式。
apiVersion: v1
kind: Pod
metadata:
name: pod1
labels:
app: web
namespace: yournamespace
spec:
containers:
- name: front-end
image: ngnix
ports:
- containerPort: 80
- name: flaskapp-demo
image: jcdemo/flaskapp
ports:
- containerPort: 5000
這代表在yournamespace的pod1下建立兩個container,一個名為front-end,鏡像為ngnix,一個名為flaskapp-demo,鏡像為jcdemo/flaskapp。
再給出一個yaml的例子
apiVersion: v1
kind: Pod
metadata:
name: pod3
labels:
app: web
namespace: yournamespace
spec:
containers:
- name: pod-redis
image: docker.io/redis
ports:
- containerPort: 5000
這代表在yournamespace的pod3下建立一個名為pod-redis的container,鏡像為docker.io/redis.
到此這篇關于在docker中部署k8s的方法的文章就介紹到這了,更多相關docker部署k8s內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!