记一次 openSUSE Tumbleweed 下安装 k8s
出现的问题
因为没有K8s基础的而踩了不少坑。
kubeadm kubelet 最好指定版本安装,因为kubelet的版本需要小于等于kubeadm的版本,否则就会报错。
运行 kubeadm init,不用手动 systemctl start kubelet,因为会报错不满足某某条件。
openSUSE的官方的kubernetes-kubelet包安装后,/usr/bin/kubelet只是一个shell脚本而非k8s官方的可执行文件。
而/usr/bin/kubelet1.22才是可执行文件,因为kubeadm init会默认引用/usr/bin/kubelet,所以要ln -sf /usr/bin/kubelet1.22 /usr/bin/kubelet来使用。
安装不指定版本就会出现报错:
this version of kubeadm only supports deploying clusters with the control plane version >= 1.26.0. Current version: v1.23.4
很奇怪的是,/usr/bin/kubelet、/usr/bin/kubeadm、/usr/local/bin/kubectl的版本分别为v1.27.3、v1.26.6、v1.26.5;
为什么会出现 Current version: v1.23.4 呢?可能是附带其他组件版本的问题?
安装流程
操作时间在2023年7月。
禁用 swap、编辑 /etc/hosts 这些参考别的文章。
安装 K8s 相关包
安装kubernetes1.23-kubeadm,就会附带安装:
The following 12 NEW packages are going to be installed:
conntrack-tools cri-o cri-o-kubeadm-criconfig cri-tools ebtables kubernetes1.22-kubelet kubernetes1.23-kubeadm kubernetes1.27-kubelet kubernetes1.27-kubelet-common
libebtc0 libnetfilter_cthelper0 libnetfilter_cttimeout1
链接 kubelet 特定版本二进制文件
cd /usr/bin
ln -sf kubelet1.22 kubelet
kubeadm 初始化
kubeadm init --apiserver-advertise-address=0.0.0.0 \
--image-repository registry.aliyuncs.com/google_containers \
--service-cidr=10.10.0.0/16 --pod-network-cidr=10.244.0.0/16 \
--cri-socket=/var/run/dockershim.sock
后续
在 kubeadm init 输出中的:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
参考
https://blog.csdn.net/lisongyue123/article/details/109985316
安装Kubernetes(k8s)保姆级教程---无坑版
opensuse 15.2 安装Kubernetes
记一次 openSUSE Tumbleweed 下安装 k8s的更多相关文章
- OpenSuSE Linux下安装Oracle10g的步骤
OpenSuSE Linux下安装Oracle10g的步骤: --root用户 --1.vi etc/profile 添加脚本: if [ \$USER = "oracle" ]; ...
- opensuse tumbleweed中安装code
在opensuse上启用snaps并安装visual studio code snaps是一个应用程序,运行在很多流行linux发行版上, 其所有依赖项都打包在一个构建中,并且会自动更新并能优雅地回滚 ...
- Linux下安装java的jdk和配置环境变量
每次感觉配这个超级简单 但是每次都要查下 记一下好了 Linux下安装jdk,步骤如下 1:下载jdk包:本章使用的为后缀为tar.gz的文件(不需要安装),如jdk-8u111-linux-x64. ...
- 记Windows10下安装Docker的步骤
本文主要是记录吾八哥本人在Windows10下安装Docker的过程,当然这些步骤也是在网上搜索查阅资料得知而来的!具体步骤如下: 一.启用Hyper-V 打开控制面板 - 程序和功能 - 启用或关闭 ...
- 记ubuntu下安装Anaconda
晚上尝试在ubuntu 16.04版本下安装python的Anaconda3发行版. 从清华源下载的Anaconda3-Linux 64位版本安装包,然后顺利的下一步,下一步.....一切顺利!结果到 ...
- openSUSE Tumbleweed 安装原生微信
优麒麟网站上有提供下载. 之前用 Ubuntu的时候,直接安装就可以使用. ...
- CentOS7安装k8s
借鉴博客:https://www.cnblogs.com/xkops/p/6169034.html 此博客里面有每个k8s配置文件的注释:https://blog.csdn.net/qq_359048 ...
- linux下安装jdk+tomcat+eclipse+mysql
我的环境:主机是win7的,虚拟机是VWare Workstation 6.0 ,linux系统为Red Hat Enterprise Linux 5 64位 各软件版本:jdk是jdk-6u ...
- linux 下安装开发组件包
最初安装redhat 时, 系统自己装的,只安装了base 包,在开发过程中,需要不停的安装某个需求包, 图省事,安装光盘下的开发组件包: 在安装光盘下,,,用命令: yum grouplist ...
- ubuntu下安装jdk
参考:http://blog.csdn.net/gobitan/article/details/24322561 Ubuntu Linux下安装Oracle JDK Dennis Hu 2014-4- ...
随机推荐
- VSCode设置第三方字体
最近需要写C,所以下了一个VSCode IDE嘛 当然是美观最重要了(不是 个人比较喜欢JetBrains家的字体 在IDEA中主要使用的是 JetBrains Mono 想着把VSCode的字体也设 ...
- EF命令行工具 migrate.exe 进行Code First更新数据库,6.3+使用ef6.exe
EF命令行工具 migrate.exe 进行Code First更新数据库,6.3+使用ef6.exe 使用EF的Code First迁移可以用于从Visual Studio内部更新数据库,但也可通过 ...
- iptables防火墙调试,想打印个日志就这么难
背景 怎么会讲这个话题,这个说来真的长了.但是,长话短说,也是可以的. 我前面的文章提到,线上的服务用了c3p0数据库连接池,会偶发连接泄露问题,而分析到最后,又怀疑是db侧主动关闭连接,或者是服务所 ...
- 加密算法解析:MD5、DES和RAS的工作原理与特点
一.MD5不可逆加密 1.1-理解MD5 MD5公开的算法,任何语言实现后其实都是一样的.通用的 不可逆加密:原文--加密--密文,密文无法解密出原文 1.2-MD5封装 using System.I ...
- OpenApi(Swagger)快速转换成 TypeScript 代码 - STC
在现代的 Web 开发中,使用 OpenAPI(以前称为 Swagger)规范来描述和定义 API 已经成为一种常见的做法.OpenAPI 规范提供了一种统一的方式来描述API的结构.请求和响应,使得 ...
- [ansible]常用内置模块
前言 ansible内置了很多模块,常用的并不多,可以通过ansible -l命令列出所有模块,使用 ansible-doc module-name 查看指定模块的帮助文档,例如:ansible-do ...
- Java应用堆外内存泄露问题排查
问题是怎么发现的 最近有个java应用在做压力测试 压测环境配置: CentOS系统 4核CPU 8g内存 jdk1.6.0_25,jvm配置-server -Xms2048m -Xmx2048m 出 ...
- 音视频FAQ(一):视频直播卡顿
一.摘要 本文介绍了视频直播卡顿的四个主要原因,用户网络问题.用户设备性能问题.技术路线的选择和实现问题.因本文主要阐述视频直播的卡顿,故技术路线的实现指的是:CDN供应商的实现问题,包含CDN性能不 ...
- CF1787E The Harmonization of XOR 题解
CF1787E The Harmonization of XOR 题目大意 给定 \(n\) 个数 \([1, 2, 3, \cdots, n]\) 和两个正整数 \(k\) 和 \(x\). 将这些 ...
- api接口怎么使用
API接口的使用在当今的软件开发中非常普遍,它允许不同的应用程序或服务之间进行数据交换和功能交互.API接口使得开发人员能够将不同的系统或平台集成在一起,以实现更复杂的功能和应用.本文将详细介绍API ...