Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >基于ubuntu系统的k8s集群安装

基于ubuntu系统的k8s集群安装

作者头像
兜兜转转
发布于 2023-03-06 07:12:01
发布于 2023-03-06 07:12:01
80610
代码可运行
举报
文章被收录于专栏:CodeTimeCodeTime
运行总次数:0
代码可运行

主机准备

主机名

操作系统

CPU

内存

硬盘

master1

ubuntu18.04

1*2核

2G

20G

node1

ubuntu18.04

1*2核

2G

20G

node2

ubuntu18.04

1*2核

2G

20G

集群安装

运行时安装(docker)

切换root账号sudo su -

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common gnupg2

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key --keyring /etc/apt/trusted.gpg.d/docker.gpg add -

sudo add-apt-repository \
  "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) \
  stable"

sudo apt-get update && sudo apt-get install -y \
  containerd.io=1.2.13-2 \
  docker-ce=5:19.03.11~3-0~ubuntu-$(lsb_release -cs) \
  docker-ce-cli=5:19.03.11~3-0~ubuntu-$(lsb_release -cs)

配置docker并设置开机启动

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo mkdir /etc/docker

cat <<EOF | sudo tee /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF

sudo mkdir -p /etc/systemd/system/docker.service.d

sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl enable --now docker

集群工具安装

添加配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system

安装kubeadmkubeletkubectl

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 添加镜像源公钥
curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -

# 添加镜像源
echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" >/etc/apt/sources.list.d/kubernetes.list

# 安装
sudo apt-get update
sudo apt-get install -y apt-transport-https curl
sudo apt-get install -y kubelet=1.20.1-00 kubeadm=1.20.1-00 kubectl=1.20.1-00

sudo apt-mark hold kubelet kubeadm kubectl

初始化集群

每个节点都拉取镜像(选择国内源):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubeadm config images pull \
--image-repository registry.cn-hangzhou.aliyuncs.com/google_containers

关闭swap:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
swapoff -a
vim /etc/fstab
# 注释 /swap.img

Master节点初始化

地址必须是master节点地址:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubeadm init --apiserver-advertise-address 192.168.32.131 --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers

配置kubectl:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

Node节点初始化

加入集群:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubeadm join 192.168.32.131:6443 --token c5brd6.qc9zfje7kpcbk6sv --discovery-token-ca-cert-hash sha256:aaa4365860781c328b2cc363447fff6dc0b61f1b5e96d05e2fa26bce1ad2585d

重置集群(退出集群):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubeadm reset

查看token:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubeadm token list

如果token过期,可创建token并直接打印join命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubeadm token create --print-join-command

插件安装

插件下载地址:百度网盘,提取码:akxk

安装网络插件

安装CNI插件calico

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl create -f calico.yaml

安装MetricsServer:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl create -f metrics-server.yaml

然后将master节点的/etc/kubernetes/pki/front-proxy-ca.crt拷贝到各node节点下。

安装图形化界面

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl create -f dashboard.yaml -f user.yaml

查看图形界面web服务访问端口(kubernetes-dashboard服务对外的端口):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl get svc -n kubernetes-dashboard

查看访问用户:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl get secret -n kube-system

找到用户admin-user-token-xxx,查看它的详细信息:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl describe secret admin-user-token-xxx -n kube-system

显示出访问token,输入到web登录界面中,进入图形化管理界面。

安装Ingress

设置某个节点标签:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl label node cka-node2 ingress=true

创建资源:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl create -f ingress.yaml

查看ingress节点ip:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl get po -n ingress-nginx -owide
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-01-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
nessus的使用教程扫描_kali安装nessus
1.打开浏览器,输入https://localhost:8834/登录Nessus.
全栈程序员站长
2022/11/02
3.7K0
nessus的使用教程扫描_kali安装nessus
玩不转的企业微信侧边栏
如果你不知道 企业微信侧边栏 是什么,那就可以划走这篇文章了。如果你知道这是个啥,那你一定非常苦恼要怎么开始。
写代码的海怪
2022/03/30
4.9K2
玩不转的企业微信侧边栏
浮动工具栏在哪里_设置面板的布局方式为边界布局
使用BCG界面库,工具栏的一些用法就和MFC不一样了,MFC的CFrameWnd 直接有一个设置浮动工具条位置的函数可以调用,而BCG没有,因为其对于TOOLBAR的底层实现和MFC那一套实现流程完全不同。
全栈程序员站长
2022/11/10
5680
可以搜课程设计的网站_课程设计论文格式
展示各种类型的作文。普通用户的登录注册和管理员用户登录。可以精确或模糊按照作文题目搜索。还有分页功能,首页、尾页、上一页、下一页。返回顶部等等很多功能。
全栈程序员站长
2022/11/15
5470
可以搜课程设计的网站_课程设计论文格式
vue开发企业微信_vue全局api
4、用 ticket + 随机字符串 + 时间戳 + 当前网页url 拼接成一串字符,然后进行sha1加密。
全栈程序员站长
2022/11/11
2.1K1
vue开发企业微信_vue全局api
360常用快捷键_10个常用的快捷键
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/17
1.1K0
解决iframe高度自适应
iframe的高度不会随着页面高度的变化而变化,可能会导致页面显示不全,或者页面下方有空白的问题。
全栈程序员站长
2022/11/17
2.6K0
google earth使用方法_国内使用google earth
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/04
2.6K0
google earth使用方法_国内使用google earth
PyCharm配置教程[通俗易懂]
进入 pyCharm 官网:https://www.jetbrains.com/pycharm。根据自己的操作系统选择相应的下载包。其中专业版是要付费的,可以自行购买,也可以 google 搜索激活成功教程教程。下载后根据提示安装即可
全栈程序员站长
2022/09/28
6250
PyCharm配置教程[通俗易懂]
微信服务号开发整体流程图_微信号怎么改第二次
微信开放平台,面向开发人员,为网站、App 提供微信第三方登录功能,为 App 提供支付功能(通过客户端 sdk 拉起微信客户端);
全栈程序员站长
2022/11/11
1.1K0
pycharm如何设置背景图片_python配置pycharm
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/28
6860
pycharm如何设置背景图片_python配置pycharm
微信公众号网页开发,登录授权和微信支付
微信公众号的网页开发基本和H5移动端开发一致,主要是涉及到网页授权获取用户信息和使用js-sdk获取微信原生能力支持。
全栈程序员站长
2022/09/06
4.6K0
微信公众号网页开发,登录授权和微信支付
后台管理系统 – 页面布局设计
vue-element-admin 是 vue 框架的一个优秀的后台管理系统开源项目,目前star数75k。
全栈程序员站长
2022/10/01
7.8K0
后台管理系统 – 页面布局设计
Vue(renren-fast_vue_master)项目目录结构[通俗易懂]
打算做一个请假管理OA项目Demo,后端采用renren-fast框架,后台管理系统采用renren-fast_vue_master项目,打算利用renren-fast-vue-master改造成一个简单的请假管理系统,包含注册、登陆、请假流程查看等等简单的展示即可,由于之前没做过Vue,现简单地介绍下项目目录结构:
全栈程序员站长
2022/11/17
6890
Vue(renren-fast_vue_master)项目目录结构[通俗易懂]
javascript动画效果_js动画效果animate
此案例实现的是侧边栏的滑入与滑出,主要用定时器来实现物体滑动时速度的控制,从而实现滑入滑出效果,下面是效果图:
全栈程序员站长
2022/11/04
18.7K0
javascript动画效果_js动画效果animate
UBUNTU20.04 安装显卡驱动_ubuntu18.04安装教程
仙海寻波原文:https://www.cnblogs.com/wwzone/articles/13662946.html
全栈程序员站长
2022/11/07
1.3K0
复制粘贴网页上的文字有的字粘贴不上_网页无法复制的文字怎么复制
大家好,又见面了,我是你们的朋友全栈君。 当你在浏览一些网站时,是否有遇到过无法复制粘贴的情况。看到一篇好的文章,或者一段好的语句,想要复制下来,却发现无法使用复制粘贴功能,这是该网站进行了加密设
全栈程序员站长
2022/11/08
3K0
复制粘贴网页上的文字有的字粘贴不上_网页无法复制的文字怎么复制
win10 loadrunner11_windows10重装系统步骤
一. 初识LoadRunner ( 点击链接跳转到LoadRunner的安装步骤 )
全栈程序员站长
2022/11/04
9100
win10关闭445端口方法_服务器关闭445端口
445端口是一种TCP端口,有了它我们可以在局域网中轻松访问各种共享文件夹或共享打印机,但也正是因为有了它,黑客们才有了可乘之机,他们能通过该端口偷偷共享你的硬盘,甚至会在悄无声息中将你的硬盘格式化掉。今天小编将为大家分享Win11关闭445端口的方法,一起来看看吧!
全栈程序员站长
2022/11/10
7.1K0
win10关闭445端口方法_服务器关闭445端口
微信自动回复机器人使用手册怎么设置_自动回复机器人手机版
微信也能自动回复啦?没错,微信自动回复机器人正式上线了!今天勤劳的小编就整理了一份微信自动回复机器人的使用手册,希望对小伙伴们有所帮助。
全栈程序员站长
2022/11/10
2.4K0
微信自动回复机器人使用手册怎么设置_自动回复机器人手机版
推荐阅读
相关推荐
nessus的使用教程扫描_kali安装nessus
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验