1.部署一个redis
kubectl create deployment isee-redis --image=redis
– 命令解析:
kubectl create deployment 固定写法,创建一个部署
isee-redis 容器名称
–image=redis 指定镜像
1.获取k8s里面所有资源
kubectl get all
可以看到,已经有一个名称为isee-redis-xxx的pod,status是Running状态;
replicaset:复制,即我们的应用要复制几份,这里我们只有一份
3.查看部署情况
-- 查看所有的部署情况(包括service、replicaset等)
kubectl get all -o wide
-- 查看pod的部署情况
kubectl get pods -o wide
可以看到刚才部署的redis是在k8s-node2节点上,
在k8s-node2节点执行docker images可以查看到已经下载的镜像,
docker ps 可以看到刚才部署的redis已经在运行了。
4.获取默认命名空间的pod
kubectl get pods
5.获取所有命名空间的pod
kubectl get pods --all-namespaces
我们部署的pod都是在默认的命名空间中
6.暴露服务访问
expose deployment isee-redis --port=6379 --target-port=6379 --type=NodePort
–port=6379 pod的6379映射redis容器的6379,service会代理pod的6379
–target-port=6379 redis容器的端口
–port的端口可以不是6379,因为这是pod的端口
7.查看service
kubectl get svc
30243:服务的端口,通过这个端口来访问容器资源
简而言之,若想要连接redis,在客户端填写端口时就填写30243,service会代理我们的端口
8.应用扩容
kubectl scale --replicas=3 deployment isee-redis
–replicas=3 扩容几份
isee-redis 哪一次部署
查看pod部署情况:kubectl get pods -o wide
k8s-node2节点部署了2个,k8s-node1节点部署了1个
查看service端口:kubectl get svc
使用30243端口在node1、node2节点都可以访问到,因为我们在两个节点都部署了
缩容只需要将–replicas指定为1即可:
kubectl scale --replicas=1 deployment isee-redis
9.删除部署
-- 查看部署信息
kubectl get all
-- 删除这次部署
kubectl delete deployment.apps/isee-redis
-- 删除service暴露
kubectl delete service/isee-redis![在这里插入图片描述](https://img-blog.csdnimg.cn/8bdde438e7ce4e1faa92d5297a7e7434.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1Jvb2tpZXhpYW9NdV9h,size_16,color_FFFFFF,t_70)
10.查看yaml部署的yaml内容
kubectl create deployment isee-redis --image=redis --dry-run -o yaml
11.转存yaml文件
kubectl create deployment isee-redis --image=redis --dry-run -o yaml > isee-redis.yaml
应用刚才转存的配置文件:
kubectl apply -f isee-redis.yaml