docker部署k8s 在docker中部署k8s的方法

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

docker部署k8s 在docker中部署k8s的方法

一名路过的小码农啊   2021-07-28 我要评论
想了解在docker中部署k8s的方法的相关内容吗,一名路过的小码农啊在本文为您仔细讲解docker部署k8s的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:docker部署k8s,docker,k8s,下面大家一起来学习吧。

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设置中,点选如下图的两个。

docker中配置k8s

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

k8s网页端显示

提示需要输入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.

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们