2024年9月12日(k8s环境及测试 常用命令)

一、环境准备及测试

1、报错处理:
复制代码
kube-system   calico-node-5wvln                          0/1     Init:0/3            0               16h
kube-system   calico-node-d7xfb                          0/1     Init:0/3            0               16h
kube-system   calico-node-k84tc                          0/1     Init:0/3            0               16h

执行以下命令:更新内核版本

yum list kernel

yum update kernel

reboot

如果是cni报错,需要上传下面两个文件,然后重启

一直不成功挂起状态

再/etc/cni/net.d/中上传文件

复制代码
kube-system   calico-node-5wvln                          0/1     Init:0/3            0             16h
kube-system   calico-node-d7xfb                          0/1     Init:0/3            0             16h
kube-system   calico-node-k84tc                          1/1     Running             0             16h

[root@k8s-master ~]# kubectl get nodes
NAME         STATUS   ROLES           AGE   VERSION
k8s-master   Ready    control-plane   16h   v1.28.2
k8s-node1    Ready    <none>          16h   v1.28.2
k8s-node2    Ready    <none>          16h   v1.28.2

现在就合适了

kubectl 无法补全报错ku-bash: _get_comp_words_by_ref: command not found

root@k8s-master \~\]# yum -y install bash-completion \[root@k8s-master \~\]# bash /usr/share/bash-completion/bash_completion \[root@k8s-master \~\]# bash

2、测试:

创建nginx镜像名称为nginx0

root@k8s-master \~\]# kubectl run nginx0 --image=nginx:latest pod/nginx0 created \[root@k8s-master \~\]# kubectl get po -Aowide default nginx0 0/1 ContainerCreating 0 29s k8s-node2 **查看日志** \[root@k8s-master \~\]# kubectl logs nginx0 Error from server (BadRequest): container "nginx0" in pod "nginx0" is waiting to start: ContainerCreating \[root@k8s-master \~\]# kubectl run nginx --image=nginx **不指定版本** \[root@k8s-master \~\]# kubectl delete pod nginx **删除pod** [root@k8s-master ~]# kubectl get po -Aowide|grep nginx default nginx 0/1 ContainerCreating 0 5s k8s-node2 default nginx0 0/1 ContainerCreating 0 6m59s k8s-node2

(1)复制密钥文件到node1和node2

root@k8s-master \~\]# scp /etc/kubernetes/pki/front-proxy-ca.crt k8s-node1:/etc/kubernetes/pki/front-proxy-ca.crt \[root@k8s-master \~\]# scp /etc/kubernetes/pki/front-proxy-ca.crt k8s-node2:/etc/kubernetes/pki/front-proxy-ca.crt

(2)上传文件

将components.yaml文件上传到家目录

root@k8s-master \~\]# mkdir pods \[root@k8s-master \~\]# mv components.yaml pods/

(3)根据yaml文件创建pod

root@k8s-master pods\]# kubectl create -f components.yaml \[root@k8s-master pods\]# kubectl top nodes

(4)查看pod列表状态

root@k8s-master pods\]# kubectl get pods -Aowide\|grep metrics kube-system metrics-server-79776b6d54-xfv8d 1/1 Running 0 5m58s 172.16.169.129 k8s-node2

(5)查看节点资源监控

root@k8s-master pods\]# kubectl top nodes **查看节点** NAME CPU(cores) CPU% MEMORY(bytes) MEMORY% k8s-master 80m 4% 1087Mi 63% k8s-node1 34m 1% 859Mi 49% k8s-node2 32m 1% 825Mi 48% \[root@k8s-master pods\]# kubectl top pods -n kube-system **查看kube-system命名空间的所有节点** NAME CPU(cores) MEMORY(bytes) calico-kube-controllers-6d48795585-pfwrj 2m 13Mi calico-node-5wvln 15m 93Mi calico-node-d7xfb 15m 90Mi calico-node-k84tc 16m 94Mi coredns-6554b8b87f-bbnh7 1m 11Mi coredns-6554b8b87f-z9rvq 1m 12Mi etcd-k8s-master 10m 79Mi kube-apiserver-k8s-master 24m 313Mi kube-controller-manager-k8s-master 7m 87Mi kube-proxy-644jq 1m 27Mi kube-proxy-65xl7 1m 25Mi kube-proxy-7thhh 1m 35Mi kube-scheduler-k8s-master 2m 49Mi metrics-server-79776b6d54-xfv8d 2m 17Mi

4、Dashboard部署

root@k8s-master \~\]# cd k8s-ha-install/ \[root@k8s-master k8s-ha-install\]# ls ![](https://i-blog.csdnimg.cn/direct/3fe43186bdd641b6b1bf856a885deecf.png) \[root@k8s-master k8s-ha-install\]# cd dashboard/ \[root@k8s-master dashboard\]# ls dashboard-user.yaml dashboard.yaml \[root@k8s-master dashboard\]# kubectl create -f . .表示用当前目录 \[root@k8s-master dashboard\]# kubectl get po -A\|grep dashboard [root@k8s-master dashboard]# kubectl get po -A|grep dashboard kubernetes-dashboard dashboard-metrics-scraper-7b554c884f-xnch2 1/1 Running 0 10m kubernetes-dashboard kubernetes-dashboard-54b699784c-z7444 1/1 Running 0 10m

5、更改svc模式

root@k8s-master dashboard\]# kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard ![](https://i-blog.csdnimg.cn/direct/fdcb0088e5774a959c1ebeb7117b6f73.png) \[root@k8s-master dashboard\]# kubectl get svc kubernetes-dashboard -n kubernetes-dashboard NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes-dashboard NodePort 10.96.160.87 443:30965/TCP 8m42s ![](https://i-blog.csdnimg.cn/direct/d83c7a4ba3d5450ca9551484783e556f.png)

6、创建登录token

root@k8s-master dashboard\]# kubectl create token admin-user -n kube-system eyJhbGciOiJSUzI1NiIsImtpZCI6IkpfZklrNGlnY0JGWTB2Zmdxbm40N0JtMkdnQWR6RkphZ25KVEdUTnkxNWMifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzI2MTE1NTQ2LCJpYXQiOjE3MjYxMTE5NDYsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJhZG1pbi11c2VyIiwidWlkIjoiYTVlNDQ3OWYtNzFiOS00YWQyLTkxMTYtOWI5NTNlYmE3ODk1In19LCJuYmYiOjE3MjYxMTE5NDYsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlLXN5c3RlbTphZG1pbi11c2VyIn0.Xo98HIHqp_jSUhbkjyGDeCM0rzeleSi7HXDW-FRTS8DcqeY2Azgwxjjm_nEA9koxrJRtkr2F5Cv2IYTQYHVrsEbtnHk8aG_KXICeLdcKVcYEIzI7MMrKatinfLHwgrIvFM6xNgPEZleA7X0g49FRlZ7ZCHGLghIWpzyHn78ZDxuXWfsE-yaTxvVc4AbrsUR2c1xMGskXXIjmCj8yZ3HkUbDsuLhOFBinMi_BgWXTHh63wiveKpHmfClsKwhBb7Q3QjFqzdYr9veTxgbUbA95-eKZ4XLYZim1TEpvFgi4zDhkW8OFzaFfGlhxvP7DTmax7qp-46mRq_VBdDUiCdoQdw

7、更新 Kube-Proxy 的 Pod

root@k8s-master \~\]# kubectl edit cm kube-proxy -n kube-system configmap/kube-proxy edited ![](https://i-blog.csdnimg.cn/direct/5a354a4b47704849a3c65134a6d217b8.png) \[root@k8s-master \~\]# kubectl patch daemonset kube-proxy -p "{\\"spec\\":{\\"template\\":{\\"metadata\\":{\\"annotations\\":{\\"date\\":\\"\`date +'%s'\`\\"}}}}}" -n kube-system \[root@k8s-master \~\]# curl 127.0.0.1:10249/proxyMode ipvs **查看service pod 宿主机的网段** \[root@k8s-master \~\]# kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 443/TCP 21h

8、验证是否可正常创建参数

root@k8s-master \~\]# kubectl create deploy cluster-test1 --image=registry.cn-beijing.aliyuncs.com/dotbalo/debug-tools -- sleep 3600 \[root@k8s-master \~\]# kubectl get po cluster-test1-54575cf56c-9xwb5 1/1 Running 0 3m34s \[root@k8s-master \~\]# kubectl get po -owide cluster-test1-54575cf56c-9xwb5 1/1 Running 0 10m 172.16.36.72 k8s-node1

9、Pod 必须能够解析 Service
(1)nslookup kubernetes

root@k8s-master \~\]# kubectl exec -it cluster-test1-54575cf56c-9xwb5 -- bash (07:39 cluster-test1-54575cf56c-9xwb5:/) nslookup kubernetes Server: 10.96.0.10 Address: 10.96.0.10#53 Name: kubernetes.default.svc.cluster.local Address: 10.96.0.1

(2)nslookup kube-dns.kube-system
复制代码
(07:39 cluster-test1-54575cf56c-9xwb5:/) nslookup kube-dns.kube-system
Server:		10.96.0.10
Address:	10.96.0.10#53

Name:	kube-dns.kube-system.svc.cluster.local
Address: 10.96.0.10

[root@k8s-master ~]# ping 172.16.36.72 -c 3
PING 172.16.36.72 (172.16.36.72) 56(84) bytes of data.
64 bytes from 172.16.36.72: icmp_seq=1 ttl=63 time=0.435 ms
64 bytes from 172.16.36.72: icmp_seq=2 ttl=63 time=0.295 ms
64 bytes from 172.16.36.72: icmp_seq=3 ttl=63 time=0.357 ms

--- 172.16.36.72 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.295/0.362/0.435/0.059 ms

二、常用指令

1、Kubernetes 自动补齐

root@k8s-master \~\]# yum -y install bash-completion \[root@k8s-master \~\]# source \<(kubectl completion bash) 临时开启自动补齐功能 \[root@k8s-master \~\]# echo "source \<(kubectl completion bash)" \>\> \~/.bashrc 永久开启自动补齐功能

2、常用命令

创建

root@k8s-master \~\]# kubectl create namespace pes \[root@k8s-master \~\]# kubectl get namespace **删除** \[root@k8s-master \~\]# kubectl delete deployment clustertest \[root@k8s-master \~\]# kubectl delete deployment cluster-test

3、编写yaml文件

root@k8s-master \~\]# vim pods/abc.yaml ```javascript apiVersion: v1 kind: Pod metadata: name: busybox-sleep spec: containers: - name: busybox image: busybox:1.28 args: - sleep - "1000" ``` ##### 4、创建 > \[root@k8s-master pods\]# kubectl create -f abc.yaml > > \[root@k8s-master pods\]# kubectl get po -A\|grep bus > \[root@k8s-master pods\]# kubectl delete pod busybox-sleep >

相关推荐
放情5 分钟前
关于k8s的部署
java·docker·kubernetes
~卷心菜~13 分钟前
【Kubernetes基础--Service深入理解】--查阅笔记4
笔记·容器·kubernetes
❀͜͡傀儡师1 小时前
Docker部署禅道21.6开源版本
运维·docker·容器
卷不动的打工仔2 小时前
Ubuntu利用docker搭建Java相关环境记录(二)
java·ubuntu·docker
wqq10272 小时前
docker Windows 存放位置
运维·docker·容器
卷不动的打工仔3 小时前
Ubuntu利用docker搭建Java相关环境问题记录
java·ubuntu·docker
掉头发的王富贵5 小时前
Dockerfile不会写?于是我花十分钟看了这篇文章
后端·docker·容器
IT闫6 小时前
【AI】——结合Ollama、Open WebUI和Docker本地部署可视化AI大语言模型
docker·语言模型·容器
梁萌6 小时前
06-DevOps-自动构建Docker镜像
运维·docker·devops
RedCong7 小时前
使用sealos部署kubernetes集群并实现集群管理
云原生·容器·kubernetes