-
首先写dockerfile,然后docker build -t 新镜像名 .(dockerfile所在的目录)构建了镜像。可利用docker images 查看本地镜像,利用docker run 新建运行容器,docker exec进入容器。在K8S的配置文件中调用相应的镜像并启动为容器运行。K8S的helm安装中配置文件一般有镜像的库和tag以及拉取动作。
image: repository: docker-elasticsearch-curator tag: 5.5.4 pullPolicy: IfNotPresent
-
helm删除chart
利用helm delete命令删除一个chart:
$ helm delete mysql
release “mysql” deleted
确认chart是否删除:
$ helm ls -a mysql: 查看全部的release
NAME REVISION UPDATED STATUS CHART NAMESPACE
mysql 3 Tue Sep 12 08:50:48 2017 DELETED mysql-0.2.8 default
即使删除的chart,其发布的历史信息还是继续被保存。
$ helm hist mysql:查看指定release的历史部署版本信息:
REVISION UPDATED STATUS CHART DESCRIPTION
1 Tue Sep 12 07:31:49 2017 SUPERSEDED mysql-0.2.8 Install complete
2 Tue Sep 12 07:44:00 2017 SUPERSEDED mysql-0.2.8 Upgrade complete
3 Tue Sep 12 08:50:48 2017 DELETED mysql-0.2.8 Deletion complete
可以恢复一个已经删除的release:
$ helm rollback --debug mysql 2
[debug] Created tunnel using local port: ‘37413’
[debug] SERVER: “localhost:37413”
Rollback was a success! Happy Helming!
如果希望彻底删除一个release,可以用如下命令:
$ helm delete --purge mysql
release “mysql” deleted
再次查看刚被删除的mysql release,提示已经无法找到,符合预期:
$ helm hist mysql
Error: release: “mysql” not found -
pod的扩缩容:kubectl Scale 资源
扩展pod下容器数量
$ kubectl scale --replicas=3 rs/foo #将名为foo中的pod副本数设置为3,是否使用rs取决于yaml中的编写
例如yaml中kind: Deployment ,则应通过下面方法扩展
$ kubectl scale --replicas=3 deployment/foo
或者直接通过创建资源的yaml文件扩展
$ kubectl scale --replicas=3 -f foo.yaml #将由“foo.yaml”配置文件中指定的资源对象和名称标识的Pod资源副本设为3
执行扩容缩容Pod的操作
kubectl scale deployment nginx-deployment --replicas=3
我们需要确认的是在deployment配置文件中定义的replicas数量,当我们执行上述命令的结果大于replicas的数量时,则我们执行的命令相当于扩容操作,反之相反,可以理解为我们填写的数量是我们需要的Pod数量。需要注意的是,当我们需要进行永久性扩容时,不要忘记修改deployment配置文件中的replicas数量。