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

news/2024/9/18 4:16:01/ 标签: kubernetes, docker, 容器

一、环境准备及测试

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/news/1524759.html

相关文章

mysql学习教程,从入门到精通,SQL AND OR 运算符(12)

1、SQL AND & OR 运算符 在本教程中&#xff0c;您将学习如何在子句中使用ASELECT column1_name, column2_name, columnN_nameFROM table_nameWHERE condition1 AND condition2;ND&#xff06;OR运算符&#xff0c;WHERE以根据多个条件过滤记录。 1.1、根据条件选择记录 …

专注LabVIEW 做好一件事

在一次LabVIEW的系统改造项目中&#xff0c;遇到一个设备&#xff0c;操作手册居然还是基于DOS系统的。不难看出&#xff0c;这套设备虽然年代久远&#xff0c;但背后的技术积淀极为深厚。事实证明&#xff0c;这套系统在业内享有很高的认可度&#xff0c;由国外团队开发&#…

asio中的异步accept分析

简介 主要分析linux平台下的&#xff0c;即reactive_socket_service_base和reactive_socket_service 发起 由basic_socket_acceptor调用async_accept&#xff0c;前提是需要调用open创建socket添加到reactor中。其定义为 template <typename SocketService, typename Ac…

高级 ECharts 技巧:自定义图表主题与样式

ECharts 是一个强大的数据可视化库&#xff0c;提供了多种内置主题和样式&#xff0c;但你也可以根据项目的设计需求&#xff0c;自定义图表的主题与样式。本文将介绍如何使用 ECharts 自定义图表主题&#xff0c;以提升数据可视化的吸引力和一致性。 1. 什么是 ECharts 主题&…

开源免费的工贸一体行业ERP管理系统

引言 在当今数字化浪潮汹涌澎湃的时代&#xff0c;中小企业面临着前所未有的挑战与机遇。如何实现数字化转型发展&#xff0c;成为了众多中小企业主心头的大事。 据相关数据显示&#xff0c;目前我国中小企业数量已经超过了 4000 万户&#xff0c;然而成功实现数字化转型的比例…

B2064 斐波那契数列

题目描述 斐波那契数列是指这样的数列&#xff1a;数列的第一个和第二个数都为 11&#xff0c;接下来每个数都等于前面 22 个数之和。 给出一个正整数 aa&#xff0c;要求斐波那契数列中第 aa 个数是多少。 输入格式 第 11 行是测试数据的组数 nn&#xff0c;后面跟着 nn 行…

C++20 协程:异步编程的新纪元

C20 引入了协程&#xff08;coroutines&#xff09;&#xff0c;这是一种全新的异步编程模型&#xff0c;使得编写异步代码变得更加简洁和直观。本文将详细介绍 C20 协程的概念、功能演变及其在实际项目中的应用。通过本文&#xff0c;你将了解到协程的基本原理、语法和如何利用…

阿里巴巴1688中国站商品搜索API返回值深度解析与实战应用

在电商数据分析和市场调研中&#xff0c;阿里巴巴中国站&#xff08;现常指1688.com&#xff09;的商品搜索API扮演着至关重要的角色。这些API提供了丰富的商品信息&#xff0c;为商家和开发者在商品定价、营销策略制定、市场调研等方面提供了强有力的数据支持。本文将深入探讨…

有关WSL和docker的介绍

目录标题 如何利用在windows上配置docker实现linux和windows容器修改WSL默认安装&#xff08;也就是linux子系统&#xff09;目录到其他盘 如何利用在windows上配置docker实现linux和windows容器 wsl的基本命令&#xff1a;参考网页 docker入门到实践&#xff1a;参考网页 官方…

PDF扫描版文字识别OCR

PDF扫描版文字识别OCR 最近需要有对PDF扫描版进行文字可识别的需求&#xff0c;这里介绍一款工具挺好用的 这是一款开源的OCR工具 github地址 https://github.com/hiroi-sora/Umi-OCR 主要功能及特点 免费&#xff1a;本项目所有代码开源&#xff0c;完全免费。方便&#…

前端封装组件可视化库

在 Vue 项目中&#xff0c;如果你希望封装的组件库能够可视化并调整默认参数&#xff0c;你可以考虑使用以下工具和库&#xff1a; Storybook: Storybook 是一个非常流行的工具&#xff0c;用于构建和展示 UI 组件。它允许你以独立的方式开发组件&#xff0c;并能够直观地调整组…

发送成绩的app或小程序推荐

老师们&#xff0c;新学期的第一次月考马上开始&#xff0c;是不是还在为如何高效、便捷地发布成绩而头疼呢&#xff1f;别担心&#xff0c;都2024年了&#xff0c;我们有更智能的方式来解决这个问题&#xff01; 给大家安利一个超级实用的工具——易查分小程序。这个小程序简…

数据结构之数组矩阵存储

目录 一、数组存储 1. 一维数组 2. 二维数组 二、特殊矩阵存储 1. 对称矩阵 2. 三角矩阵 3. 三对角矩阵 三、总结 一、数组存储 1. 一维数组 2. 二维数组 二维数组按列优先存储的下标对应关系&#xff08;A _m*_n&#xff09; 二、特殊矩阵存储 1. 对称矩阵 上、下三…

MySQL--库的操作

文章目录 1.创建数据库2.创建数据库案例3.字符集和校验规则3.1默认字符集3.2默认校验规则3.3查看系统默认字符集以及校验规则3.4查看数据库支持的字符3.5查看数据库支持的字符集校验规则3.6校验规则对数据库的影响不区分大小写查询&#xff1a;排序结果&#xff1a;区分大小写查…

HTML5( HTML5 、CSS3) 第一天

HTML5 第一天 HTML5 第一天一、什么是 HTML5二、HTML5 新增标签三、多媒体音频标签四、多媒体视频标签五、新增 input 标签六、新增表单属性七、CSS3 新特性八、CSS3 属性选择器九、结构伪类选择器十、nth-child 参数详解十一、nth-child 和 nt-of-type 的区别十二、伪元素选…

苹果账号登录后端验证两种方式 python2

import time import jwt import requests import json import base64def decode_jwt(jwt_token):try:h,p,s jwt_token.split(.)except:return {},{},{},"","",""header json.loads(base64.urlsafe_b64decode(h )) # 可能需要调整填充pa…

Golang | Leetcode Golang题解之第401题二进制手表

题目&#xff1a; 题解&#xff1a; func readBinaryWatch(turnedOn int) (ans []string) {for i : 0; i < 1024; i {h, m : i>>6, i&63 // 用位运算取出高 4 位和低 6 位if h < 12 && m < 60 && bits.OnesCount(uint(i)) turnedOn {ans …

LabVIEW中EPICS客户端/服务端的测试

概念 EPICS利用基于TCP/IP的信道接入&#xff08;CA&#xff09;网络协议。信道接入协议是建立在TCP/IP之上的应用层。 EPICS是客户端/服务器架构。通道访问服务器&#xff08;CA服务器&#xff09;可以通过使用输入/输出控制器&#xff08;IOC&#xff09;充当现实世界的I/O…

MongoDB事务机制

事务机制 1.事务概念 在对数据的操作的过程中&#xff0c;涉及到一连串的操作&#xff0c;这些操作如果失败&#xff0c;会导致我们的数据部分变化了&#xff0c;部分没变化。这个过程就好比如你去吃早餐&#xff0c;你点完餐了&#xff0c;并且吃完早餐了&#xff0c;没付钱你…

如何在 Fork 的 GitHub 项目中保留自己的修改并同步上游更新?github_fork_update

如何在 Fork 的 GitHub 项目中保留自己的修改并同步上游更新&#xff1f; 在 GitHub 上 Fork 了一个项目后&#xff0c;你可能会对项目进行一些修改&#xff0c;同时原作者也在不断更新。如果想要在保留自己修改的基础上&#xff0c;同步原作者的最新更新&#xff0c;很多人会…