【云原生4】K8s多节点在Pod内部署本地镜像
名称空间操作kubectl get namespace# 获取名称空间kubectl get pods# 获取默认名称空间podskubectl get pods -A# 获取全部名称空间podskubectl get pods -n [namespace]# 查看指定名称空间podkubectl creat ns hello# 创建名称空间也可以通过yaml文件创建ns:apiVersion:
·
参考笔记:https://www.yuque.com/leifengyang/oncloud/ctiwgo
名称空间操作
kubectl get namespace # 获取名称空间
kubectl get pods # 获取默认名称空间pods
kubectl get pods -A # 获取全部名称空间pods
kubectl get pods -n [namespace] # 查看指定名称空间pod
kubectl creat ns hello # 创建名称空间
也可以通过yaml文件创建ns:
apiVersion: v1
kind: Namespace
metadata:
name: hello
vi hello.yaml
kubectl apply -f hello.yaml
# 描述
kubectl describe pod 你自己的Pod名字
# 删除
kubectl delete pod Pod名字 # 会删除该名称空间的所有资源
kubectl delete -f hello.yaml # 用配置文件创建的ns用这种方式删,删的干净
# 查看Pod的运行日志
kubectl logs Pod名字
# 每个Pod - k8s都会分配一个ip
kubectl get pod -owide
# 使用Pod的ip+pod里面运行容器的端口
curl 192.168.169.136
# 集群中的任意一个机器以及任意的应用都能通过Pod分配的ip来访问这个Pod
Pod操作
# 启动一个pod:给个名字mynginx,启动一个镜像nginx
kubectl run mynginx --image=nginx
# 查看default名称空间的Pod
kubectl get pod # 所有集群范围内,其他node的也可以看到
# 描述
kubectl describe pod 你自己的Pod名字 # 查看默认名称空间pod
kubectl describe -n [ns] pod 你自己的Pod名字 #
# 删除
kubectl delete pod Pod名字
# 查看Pod的运行日志
kubectl logs Pod名字
#查找指定的运行中的容器
docker ps|grep mynginx
#删除镜像
kubectl delete -f pytest.yaml
# 每个Pod - k8s都会分配一个ip
kubectl get pod -owide # 可以查看pod运行的node和ip地址,打印详细信息
# 使用Pod的ip+pod里面运行容器的端口
curl xxx.xxx.xxx.xxx # 不写端口默认就是80端口
# 进入pod
kubectl exec -it myngix -- /bin/bash
# 集群中的任意一个机器以及任意的应用都能通过Pod分配的ip来访问这个Pod
也可以通过yaml文件创建pod:
apiVersion: v1 # 固定写法
kind: Pod # 指定类型
metadata: # 源数据,不用管
labels:
run: myapp
name: myapp
namespace:default
spec: # 配置信息
containers:
- image: nginx
name: nginx # 给容器起的名字
- image: tomcat:8.5.68
name: tomcat
imagePullPolicy: Never # 使用本地镜像
删除pod,会删除里面的容器和资源:
kubectl delete -f myapp.yaml
pod的ip范围一般是192.168.0.0,如何将pod的ip端口暴露?使得在主机外也能访问到,以后会讲到。
watch -n 1 kubectl get pod # 每隔一秒运行一次get pod命令
打包镜像为tar
docker save -o pythonml1.0.tar pythonml:1.0 # 镜像打包
docker load -i pythonml1.0.tar # 将打包后的镜像传到node,并在node解压镜像
如果想在其他node使用已有的镜像,需要将tar包传过去并且load解压。
将Pod部署到指定node
用nodename指定node的名称
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
nodeName: k8s-node1
containers:
- name: nginx
image: nginx
imagePullPolicy: IfNotPresent或者Never
更多推荐
已为社区贡献2条内容
所有评论(0)