初创公司网站设计苏州,2345浏览器网站,可以做自己的单机网站,硬件开发与软件开发前景哪个好无数次想放弃#xff0c;最后选择了坚持
监控pod日志
监控名为 foobar 的 Pod 的日志#xff0c;并过滤出具有 unable-access-website 信息的行#xff0c;然后将 写入到 /opt/KUTR00101/foobar
# 解析
监控pod的日志#xff0c;使用kubectl logs pod-name
kubectl logs…无数次想放弃最后选择了坚持
监控pod日志
监控名为 foobar 的 Pod 的日志并过滤出具有 unable-access-website 信息的行然后将 写入到 /opt/KUTR00101/foobar
# 解析
监控pod的日志使用kubectl logs pod-name
kubectl logs foobar | grep unable-access-website /opt/KUTR00101/foobar监控pod度量指标
找出具有 namecpu-user 的 Pod并过滤出使用 CPU 最高的 Pod然后把它的名字写在已 经存在的/opt/KUTR00401/KUTR00401.txt 文件里注意他没有说指定 namespace。所以需要使 用-A 指定所以 namespace
# 解析
过滤cpu最高使用top命令
kubectl top pod -A -l namecpu-user
echo x /opt/KUTR00401/KUTR00401.txtdeployment扩缩容
扩容名字为 loadbalancer 的 deployment 的副本数为 6
# 解析
kubectl scale --replicas6 deployment loadbancer检查Node节点的健康状态
检查集群中有多少节点为 Ready 状态并且去除包含 NoSchedule 污点的节点。之后将数字 写到/opt/KUSC00402/kusc00402.txt
# 解析
查看节点ready状态只需要get直接查就行
而要查调度就要使用describe来查
kubectl get node | grep -i Ready
kubectl describe node | grep Taint | grep NoSchedule
echo x /opt/KUSC00402/kusc00402.txt 节点维护
将 ek8s-node-1 节点设置为不可用然后重新调度该节点上的所有 Pod
设置不可用就是将节点设置不可调度使用cordon
kubectl cordon ek8s-node-1
重新调度指定节点部署
创建一个 Pod名字为 nginx-kusc00401镜像地址是 nginx调度到具有 diskspinning 标 签 的 节 点 上
# 解析
vim pod-ns.yaml
apiVersion: v1
kind: Pod
metadata:name: nginx-kusc00401labels:role: nginx-kusc00401
spec:nodeSelector:disk: spinningcontainers:- name: nginximage: nginx一个pod多个容器
创建一个 Pod 名 字 为 kucc1 这个 Pod 可能包含 1-4 容 器 该 题 为 四 个 nginxredismemcachedconsul
apiVersion: v1
kind: Pod
metadata:name: kucc1
spec:containers:- image: nginxname: nginx- image: redisname: redis- image: memcachedname: memcached- image: consulname: consul单题目
监控pod日志
监控名为 foobar 的 Pod 的日志并过滤出具有 unable-access-website 信息的行然后将 写入到 /opt/KUTR00101/foobar
监控pod度量指标
找出具有 namecpu-user 的 Pod并过滤出使用 CPU 最高的 Pod然后把它的名字写在已 经存在的/opt/KUTR00401/KUTR00401.txt 文件里注意他没有说指定 namespace。所以需要使 用-A 指定所以 namespace
deployment扩缩容
扩容名字为 loadbalancer 的 deployment 的副本数为 6
检查node节点的健康状态
检查集群中有多少节点为 Ready 状态并且去除包含 NoSchedule 污点的节点。之后将数字 写到/opt/KUSC00402/kusc00402.txt
节点维护
将 ek8s-node-1 节点设置为不可用然后重新调度该节点上的所有 Pod
指定节点部署
创建一个 Pod名字为 nginx-kusc00401镜像地址是 nginx调度到具有 diskspinning 标 签 的 节 点 上
一个pod多个容器
创建一个 Pod 名 字 为 kucc1 这个 Pod 可能包含 1-4 容 器 该 题 为 四 个 nginxredismemcachedconsul
kubectl练习
logs
打印pod或指定资源中容器的日志 如果pod只有一个容器则容器名称是可选的
# 仅使用一个容器从pod nginx返回快照日志
kubectl logs nginx
# 使用多容器从pod nginx 返回快照日志
kubectl logs nginx --all-containerstrue
# 从标签appnginx定义的pod中的所有pod容器返回快照日志
kubectl logs -l appnginx --all-containerstrue
# 从pod web-1返回以前终止的ruby容器日志的快照
kubectl logs -p -c ruby web-1
# 开始从标签appnginx定义的pod中的所有容器流式传输日志
kubectl logs -f -l appnginx --all-containerstrue
# 在pod nginx中显示最近的20行
kubectl logs --tail20 nginx
# 显示过去一小时内写入的pod nginx中的所有日志
kubectl logs --since1h nginx
# 显示服务证书已过期的kubelet中的日志
kubectl logs --insecure-skip-tls-verify-backend nginx
# 从名为hello的作业的第一个容器返回快照日志
kubectl logs job/hello
# 从名为nginx的部署的容器nginx-1返回快照日志
kubectl logs deployment/nginx -c nginx-1top
显示资源使用情况 运行查看node或pod的资源情况 前置条件需要正确配置metrics server在服务器上工作
node
# 获取所有node
kubectl top node
# 查看指定节点指标
kubectl top node node-namepod
# 显示默认命名空间的pod指标
kubectl top pod
# 显示指定命名空间的所有pod指标
kubectl top pod --namespacenamespacename
# 显示更定pod及其容器的指标
kubectl top pod pod-name --containers
# 显示namemylabel定义的pod的指标
kubectl top pod -l namemylabelscale
部署 deployment,replicaset replication controller,statefulset 如果指定了 --current-replicas或 --resource-version则在尝试缩放之前对其进行验证并保证在将缩放发送到服务器时条件成立
# 将replicaset缩放3
kubectl scale --replicas3 rs/foo
# 将foo.yaml中缩放为3
kubectl scale --replicas3 -f foo.yaml
# 如果名为Mysql的当前为2变为3
kubectl scale --current-replicas2 --replicas3 deployment/mysql
# 扩展多个rc
kubectl scale --replicas5 rc/foo rc/bar rc/baz
# 扩展statefulset为3
kubectl scale --replicas3 statefulset/webcordon
将节点标记为不可调度node级别 kubectl cordon foo
drain
排空节点准备维护
容忍taint和污点toleration
taint和toleration taint在一类服务器上打上污点让不能容忍这个污点的pod不能部署在打了污点的服务器上 toleration是让pod容忍节点上配置的污点可以让一些需要特殊配置的pod能够调用到具有污点和特殊配置的节点上 污点像锁node级别容忍像钥匙pod级别
taint配置解析
创建一个污点 kubectl taint nodes node-name taint_keytaint_value:effect kubectl taint nodes k8s-node01 ssdtrue:prefernoschedule NoSchedule禁止调度到该节点已经在该节点上的pod不受影响 NoExecute禁止调度到该节点如果不符合这个污点会立马被驱逐(或在一段时间后) PreferNoSchedule尽量避免将pod调度到指定的节点上如果没有更合适的节点可以部署到该节点
将pod指派给节点
与节点标签匹配的nodeSelector 亲和性和反亲和性 nodeName字段 Pod拓扑分布约束