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

server/2024/11/15 2:09:47/

一、环境准备及测试

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   <none>          k8s-node2    <none>           <none>

查看日志

[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      <none>          k8s-node2    <none>           <none>
default       nginx0                                     0/1     ContainerCreating   0             6m59s   <none>          k8s-node2    <none>           <none>
3、部署资源监控metries-server
(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    <none>           <none>
(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


[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

[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   <none>        443:30965/TCP   8m42s

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

[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    <none>        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   <none>           <none>
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#53Name:    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#53Name:	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

apiVersion: v1
kind: Pod
metadata:name: busybox-sleep
spec:containers:- name: busyboximage: busybox:1.28args:- 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

 


http://www.ppmy.cn/server/119621.html

相关文章

Zookeeper安装使用教程

# 安装 官网下载安装包 #配置文件 端口默认8080&#xff0c;可能需要更改一下 #启动 cd /Users/lisongsong/software/apache-zookeeper-3.7.2-bin/bin ./zkServer.sh start #查看运行状态 ./zkServer.sh status #停止 ./zkServer.sh stop #启动客户端 ./zkCli.sh ls /

【Gateway】网关服务快速上手

微服务的接口都是直接对外暴露的,可以直接通过外部访问,为了保证对外服务的安全性服务端实现的微服务接口通常都带有一定的权限校验机制,由于使用了微服务,原本一个应用的的多个模块拆分成了多个应用,我们不得不实现多次校验逻辑,当这套逻辑需要修改时,我们需要修改多个应用,加…

【Verilog学习日常】—牛客网刷题—Verilog快速入门—VL21

根据状态转移表实现时序电路 描述 某同步时序电路转换表如下&#xff0c;请使用D触发器和必要的逻辑门实现此同步时序电路&#xff0c;用Verilog语言描述。 电路的接口如下图所示。 输入描述&#xff1a; input A , input clk , …

【系统架构设计师-2009年真题】案例分析-答案及详解

更多内容请见: 备考系统架构设计师-核心总结索引 文章目录 【材料1】【问题 1】(9 分)【问题 2】(16 分)【材料2】【问题 1】(11 分)【问题 2】(8 分)【问题 3】(6 分)【材料3】【问题 1】(8 分)【问题 2】(10 分)【问题 3】(7 分)【材料4】【问题 1】(5 分)【问题 2】(12 分)…

手动部署并测试内网穿透(ssh 和 nginx)

原理回顾 首先需要一台连接了公网的云服务器&#xff0c;然后我们要访问的内网穿透对象最好是Linux服务器&#xff0c;比如虚拟机&#xff0c;然后我们通过向云服务器发送指令&#xff0c;云服务器再将指定发送给指定对象&#xff0c;让其能够执行命令。 总结就是&#xff1a…

Qt/C++事件过滤器与控件响应重写的使用、场景的不同

在Qt/C中&#xff0c;事件过滤器和控件响应重写是两种用于捕获和处理鼠标、键盘等事件的机制&#xff0c;它们的用途和使用场景不同&#xff0c;各有优劣。下面详细介绍它们的区别、各自适用的场景、以及混合使用的场景和注意事项。 1. 事件过滤器&#xff08;Event Filter&…

开源ERP系统odoo的安装与配置

开源ERP系统odoo的安装与配置 安装下载源码安装PostgreSQL安装Python3下载odoo依赖 配置启动 安装 安装方式有两种: 分发包安装: https://www.odoo.com/documentation/16.0/administration/install/packages.html源码安装: https://www.odoo.com/documentation/16.0/administ…

【计算机网络】应用层序列化

目录 一、序列化和反序列化二、重新理解 read、write、recv、send 和 tcp 为什么支持全双工三、Jsoncpp 一、序列化和反序列化 如果我们要实现一个网络版的加法器&#xff0c;需要把客户端的数据发给服务端&#xff0c;由服务端处理数据&#xff0c;再把处理结果发给客户端。 …