K8s
k8s是一個(gè)cluster集群,在cluster集群中有多個(gè)Namespace,一個(gè)namespace下又有多個(gè)pods,一個(gè)pod下有多個(gè)container。
這篇文章帶你從頭在docker中部署k8s。
docker下載
docker安裝 docker: https://docs.docker.com/docker-for-mac/install/
在docker中使用k8s: https://docs.docker.com/desktop/kubernetes/
在docker設(shè)置中,點(diǎn)選如下圖的兩個(gè)。
k8s 相關(guān)命令
在這一小節(jié)會(huì)簡(jiǎn)單介紹通過(guò)命令行控制k8s的相關(guān)shell命令。
獲取相關(guān)的namespace信息
kubectl get namespace
獲取default下的相關(guān)的pod信息,如果沒(méi)有–namespace參數(shù)則獲得所有的namespace信息
Kebectl get pod --namespace=default
獲取pod的shell
Kubectl exec -it pod bash
通過(guò)網(wǎng)頁(yè)API顯示
如何在網(wǎng)頁(yè)中直觀的顯示k8s集群的信息。
首選配置代理
Kubectl proxy
這時(shí)打開(kāi)網(wǎng)頁(yè)
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}')
此時(shí),進(jìn)入到k8s的網(wǎng)頁(yè)中,
點(diǎn)開(kāi)相應(yīng)的pods,可以選擇namespace。
點(diǎn)擊pod后面的三個(gè)點(diǎn),點(diǎn)擊執(zhí)行,便可進(jìn)入到當(dāng)前pod的shell中。
此刻,點(diǎn)開(kāi)你會(huì)發(fā)現(xiàn)并不能運(yùn)行相關(guān)的命令。
需要配置相關(guān)的yaml文件。
yaml文件格式
在這一小節(jié)給出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下建立兩個(gè)container,一個(gè)名為front-end,鏡像為ngnix,一個(gè)名為flaskapp-demo,鏡像為jcdemo/flaskapp。
再給出一個(gè)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下建立一個(gè)名為pod-redis的container,鏡像為docker.io/redis.
到此這篇關(guān)于在docker中部署k8s的方法的文章就介紹到這了,更多相關(guān)docker部署k8s內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!