杨梅冲
每天在想什么呢?
官方文档:将pod分配给节点
题目1
:调度pod到指定节点 设置配置环境kubectl config use-context k8s 按如下要求创建并调度一个pod: - 名称:nginx-kusc00401 - image: nginx - Node selector: disk=ssd
解答:
# 1. 切换配置环境
kubectl config use-context k8s

# 2.查看是否有节点有标签disk=ssd
kubectl get nodes --show-labels
# 如果没有就加上
kubectl label nodes node1 disk=ssd

# 3.编辑yaml文件
[root@master2 nodeselector]# cat pod-selector.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: nginx-kusc00401
spec:
  containers:
  - name: nginx
    image: docker.io/janakiramm/myapp:v1
    imagePullPolicy: IfNotPresent
  nodeSelector:
    disk: ssd

查看:
kubectl get pods -o wide
题目2:
题目:创建多容器的pod
设置配置环境kubectl config use-context k8s

创建一个名字为kucc4的pod,在pod里面分别为以下每个images单独运行一个app container
(可能会有1-4 个images):nginx+redis+memcached+consul

解答2:
# 1.切换环境
kubectl config use-context k8s

#2.编写yaml
[root@master2 nodeselector]# cat many-2-pod.yaml 
apiVersion: v1
kind: Pod
metadata:
 name: kucc4
spec:
  containers:
  - name: nginx
    image: nginx
  - redis: redis
    image: redis
  - name: memcached
    image: memcached
  - name: consul
    image: consul

# 3.执行
kubectl apply -f many-2-pod.yaml
# 查看
kubectl get pods
题目3:监控pod的日志
设置配置环境kubectl config use-context k8s

监控pod foo的日志并:
- 提取与错误unable-to-access-website 相对应的日志行
- 将这些日志行写入到/opt/KUTR00101/foo

解答:
kubectl logs foo | grep  unable-to-access-website >/opt/KUTR00101/foo

 

题目4:排查集群中故障节点
设置配置环境kubectl config use-context ek8s

名为wk8s-node-0的kubernetes worker node处于Not Ready状态。检查发生这种情况的原因,并采取相应措施将node 恢复为Ready 状态,确保所做的任何更改永久生效。
可使用以下命令通过ssh 连接到故障node:
ssh wk8s-node-0
可使用一下命令在该node上获取更高权限:
sudo -i


解答4:
实际就是node节点,kublet服务没启动,远程连接过去启动服务就行

 

posted on 2024-01-11 17:16  杨梅冲  阅读(241)  评论(0编辑  收藏  举报