kubectl cp
用于从 pod 中拷出 hosts 文件到物理机的/tmp 下
kubectl cp mysql-76f8866f79-gbrpp:/etc/hosts /tmp/hosts
发现报错,查看帮助信息来排错
Requires that the 'tar' binary is present in your container 发现想要使用 kubectl cp 你的容器实例中必须有 tar 库
image. If 'tar' is not present, 'kubectl cp' will fail. 如果镜像中 tar 命令不存在,那么 kubectl cp 将失败
在 pod 的容器力安装安装 tar
重新 cp
更改 message.log 并拷贝回 pod
kubectl attach
kubectl attach 用于取得 pod 中容器的实时信息,可以直接查看容器中以 daemon 形式运行的进程输出,可以持续不断实时的取出消息。像 tail -f /var/log/messages 动态查看日志的作用。
kubectl logs 是一次取出所有消息,像 cat /etc/passwd
attach [əˈtætʃ] 贴上、附上
kubectl attach pod/kube-apiserver-k8s-master1 -n kube-system
kubectl 相关命令参数如下:
kubectl edit 编辑服务器侧资源
kubectl replace 替换,使用 yaml 配置文件来替换正在运行中的配置参数
kubectl patch 部分更新资源相关信息
kubectl apply 使用文件或者标准输入更改配置信息
kubectl scale 重新设定 Deployment/ReplicaSet/RC/Job 的 size
kubectl autoscale Deployment/ReplicaSet/RC 的自动扩展设定
kubectl cordon 设定 node 不可使用
kubectl uncordon 设定 node 可以使用
kubectl drain 设定 node 进入维护模式
vim nginx-deployment.yaml
vim nginx-svc.yaml
注:
nodePort: 31001 指定是 node 物理机上监控听的端口,后期公网上的机器,可以访问此端口。
targetPort: 80 nginx pod 的端口号,也就是真正 docker 监听的端口号
port: 3000 service 服务端口号 、service 集群 IP 监听的端口,K8S 内部各个 service 服务,
使用这个端口号进行通信
需要用到的镜像
注:发现 nginx 容器中的 80 端口已经映射到 node 物理机节点的 31001 端口上了。可以查看到 nginx 服务已经运行在 k8s-01 和 k8s-02 上了。
http://192.168.2.30:31001/ ,http://192.168.2.40:31001/ http://192.168.2.41:31001/都可以访问到。
分别查看
echo "I am gf 192.168.2.40" > index.html && kubectl cp index.html nginx-54d66fc654-s6kgs:/usr/share/nginx/html/index.html
发现不支持 PHP,开始打补丁
kubectl patch pod nginx-54d66fc654-ddp2l -p '{"spec":{"containers":[{"name":"nginx","image":"richarvey/nginx-php-fpm:latest"}]}}'
kubectl patch pod nginx-54d66fc654-s6kgs -p '{"spec":{"containers":[{"name":"nginx","image":"richarvey/nginx-php-fpm:latest"}]}}'
kubectl scale
scale [skeɪl] 规模
scale 命令用于横向扩展,是 kubernetes 或者 swarm 这类容器编辑平台的重要功能之一
执行 scale 命令,使用 scale 命令进行横向扩展,将原本为 2 的副本提高到 3。相当于开 3 台 nginx 服务,来处理数据,瞬间提升 3 倍的处理数据的能力。
kubectl scale --current-replicas=2 --replicas=3 deployment/nginx
前后对比
执行 scale 命令,再次执行横向扩展命令,看是否会有 pod 漂到 k8s-02 这台机器上
kubectl scale --replicas=8 deployment/nginx
解除限制后成功调度,恢复正常
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
加入交流群
请使用微信扫一扫!