docker导出日志到本地的方法是什么
294
2022-09-12
k8s常用命令整理
kubectl describe node k8s-node1 获取节点的详细信息 kubectl run --help 根据镜像创建POD副本 kubectl run nginx-deploy --image=nginx --port=80 --replicas=1 kubectl get pods -o wide [root@k8s-master ~]# kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx-deploy-5b66f76f68-hcmb5 1/1 Running 0 43s 10.244.2.2 k8s-node1 kubectl describe pod nginx-deploy-5b66f76f68-hcmb5 查看详细的信息 删除创建的POD kubectl delete pods nginx-deploy-5b66f76f68-hcmb5 创建server [root@k8s-master ~]# kubectl expose deployment nginx-deploy --name=nginx --port 80 --target-port 80 --protocol=TCP service/nginx exposed [root@k8s-master ~]# kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 443/TCP 3d6h nginx ClusterIP 10.109.2.190 80/TCP 12s 然后在节点上访问 [root@k8s-node1 ~]# curl 10.109.2.190 Welcome to nginx!验证dnsroot@k8s-master ~]# kubectl get svc -n kube-system -o wide NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR kube-dns ClusterIP 10.96.0.10 53/UDP,53/TCP 37d k8s-app=kube-dns [root@k8s-master ~]# dig -t A nginx.default.svc.cluster.local @10.96.0.10 ; <<>> DiG 9.9.4-RedHat-9.9.4-73.el7_6 <<>> -t A nginx.default.svc.cluster.local @10.96.0.10 ;; global options: +cmd;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29269 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;nginx.default.svc.cluster.local. IN A ;; ANSWER SECTION: nginx.default.svc.cluster.local. 5 IN A 10.105.255.114 ;; Query time: 1 msec ;; SERVER: 10.96.0.10#53(10.96.0.10) ;; WHEN: 一 4月 22 14:58:41 CST 2019 ;; MSG SIZE rcvd: 96 用POD 测试,下面是几种测试方法: kubectl run client --image=busybox -it --restart=Never If you don’t see a command prompt, try pressing enter. / # cat /etc/resolv.conf nameserver 10.96.0.10 search default.svc.cluster.local svc.cluster.local cluster.local localdomain options ndots:5 /#wget -O - -q kubectl exec -it pod-client – nslookup nginx或者 kubectl exec -it pod-client nslookup nginx Server: 10.96.0.10 Address: 10.96.0.10:53 Name: nginx.default.svc.cluster.local Address: 10.96.174.96 *** Can’t find nginx.svc.cluster.local: No answer *** Can’t find nginx.cluster.local: No answer *** Can’t find nginx.localdomain: No answer *** Can’t find nginx.default.svc.cluster.local: No answer *** Can’t find nginx.svc.cluster.local: No answer *** Can’t find nginx.cluster.local: No answer *** Can’t find nginx.localdomain: No answer kubectl exec -it pod-client – /bin/sh扩展POD [root@k8s-master ~]# kubectl scale --replicas=5 deployment myapp deployment.extensions/myapp scaled [root@k8s-master ~]# kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 443/TCP 37d nginx ClusterIP 10.110.209.132 80/TCP 11m [root@k8s-master ~]# kubectl get pods NAME READY STATUS RESTARTS AGE client 1/1 Running 0 2m26s myapp-9b4987d5-2fb8c 1/1 Running 0 8s myapp-9b4987d5-2h8gm 1/1 Running 0 8s myapp-9b4987d5-gth7v 1/1 Running 0 8s myapp-9b4987d5-tn2q4 1/1 Running 0 4m22s myapp-9b4987d5-vsq6h 1/1 Running 0 4m22s nginx-deploy-5b66f76f68-lv66h 1/1 Running 2 33d 升级POD程序 [root@k8s-master ~]# kubectl set image deployment myapp myapp=ikubernetes/myapp:v2 deployment.extensions/myapp image updated [root@k8s-master ~]# kubectl rollout status deployment myapp deployment “myapp” successfully rolled out root@k8s-master ~]# kubectl get pods NAME READY STATUS RESTARTS AGE client 1/1 Running 0 7m38s myapp-65899575cd-g4jpv 1/1 Running 0 98s myapp-65899575cd-jcsqh 1/1 Running 0 104s myapp-65899575cd-p6zww 1/1 Running 0 104s myapp-65899575cd-rq6lk 1/1 Running 0 99s myapp-65899575cd-td87v 1/1 Running 0 104s nginx-deploy-5b66f76f68-lv66h 1/1 Running 2 33d pod-client 0/1 Error 0 18m[root@k8s-master ~]# kubectl describe pods myapp-65899575cd-g4jpvName: myapp-65899575cd-g4jpvNamespace: default Priority: 0 PriorityClassName: Node: k8s-node1/10.211.55.12 Start Time: Mon, 22 Apr 2019 16:30:52 +0800 Labels: pod-template-hash=65899575cd run=myapp Annotations: Status: Running IP: 10.244.2.14 Controlled By: ReplicaSet/myapp-65899575cd Containers: myapp: Container ID: docker://e728c453b29e44bfb4e88c0285cd870f00c8d5bc4bc20daef916a98a7418e8ef Image: ikubernetes/myapp:v2 Image ID: docker-pullable://ikubernetes/myapp@sha256:85a2b81a62f09a414ea33b74fb8aa686ed9b168294b26b4c819df0be0712d358 Port: Host Port: State: Running Started: Mon, 22 Apr 2019 16:30:53 +0800 Ready: True Restart Count: 0 Environment: Mounts: /var/run/secrets/kubernetes.io/serviceaccount from default-token-zzm2j (ro) Conditions: Type Status Initialized True Ready True ContainersReady True PodScheduled True Volumes: default-token-zzm2j: Type: Secret (a volume populated by a Secret) SecretName: default-token-zzm2j Optional: false QoS Class: BestEffort Node-Selectors: Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s node.kubernetes.io/unreachable:NoExecute for 300s Events: Type Reason Age From MessageNormal Pulled 2m53s kubelet, k8s-node1 Container image “ikubernetes/myapp:v2” already present on machine Normal Created 2m52s kubelet, k8s-node1 Created container Normal Started 2m52s kubelet, k8s-node1 Started container Normal Scheduled 2m52s default-scheduler Successfully assigned default/myapp-65899575cd-g4jpv to k8s-node1 回滚之前的版本 [root@k8s-master ~]# kubectl rollout undo deployment myapp deployment.extensions/myapp rolled back删除部署的资源:[root@k8s-master ~]# kubectl get deploy -o wide NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR myapp 5/5 5 5 28h myapp ikubernetes/myapp:v1 run=myapp nginx-deploy 1/1 1 1 35d nginx-deploy nginx run=nginx-deploy [root@k8s-master ~]# kubectl delete deploy myapp deployment.extensions “myapp” deleted [root@k8s-master ~]# kubectl delete deploy nginx-deploy deployment.extensions “nginx-deploy” deleted [root@k8s-master ~]# kubectl get deploy -o wide No resources found.遇到的问题1各节点上配置防火墙 iptables -I INPUT -p tcp -m tcp --dport 10250 -j ACCEPT -L -vn|more会看到INPUT的reject-with icmp-host-prohibited计数一直在增加。 10250是kubectl exec使用的,不加会报“Error from server: error dialing backend: dial tcp 192.168.128.164:10250: getsockopt: no route to host”。 遇到的问题2 解决flannel下pod及容器无法跨主机互通问题 flaaner 网络默认采用vxlan 类型,这种类型默认用的是UDP 协议发包,所以要看防火墙里面是否DROP 了UDP 协议,最简单的方法是 iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -F iptables -L -n 然后重启各节点服务,或者直接重启各节点的系统
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~