ubuntu安装Kubernetes1.20.0
一、概述
由于业务需求,需要安装版本比较高的k8s,比如:1.20.0
二、环境介绍
操作系统:ubuntu-18.04.6-server-amd64
配置:2核3g
ip地址:192.168.1.12
主机名:k8smaster
操作系统:ubuntu-18.04.6-server-amd64
配置:2核4g
ip地址:192.168.1.13
主机名:k8snode1
基础环境配置
安装docker
apt-get install docker.io
如果需要配置为开机启动,可执行以下命令
systemcd enable docker
systemcd start docker
配置 Docker 镜像加速,编辑配置文件
vi /etc/docker/daemon.json
内容如下:
{"registry-mirrors": ["https://registry.docker-cn.com"]
}
重启 Docker,使配置生效
sudo systemctl daemon-reload
sudo systemctl restart docker
修改主机名
比如修改master节点的,注意主机名不要带有特殊字符。
hostnamectl set-hostname k8smaster
添加hosts文件
192.168.1.12 k8smaster
192.168.1.13 k8snode1
关闭swap
临时关闭
swapoff -a
永久关闭
修改 /etc/fstab 文件,注释掉 SWAP 的自动挂载(永久关闭swap,重启后生效)
# 注释掉以下带有swap字段的一行
/dev/mapper/cl-swap swap swap defaults 0 0
三、安装kubeadm,kubelet,kubectl
添加更新源,修改文件
vi /etc/apt/sources.list
最后一行增加
deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main
安装 https 工具以及 k8s
apt-get update && apt-get install -y apt-transport-https curl
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add
apt-get install -y kubelet kubeadm kubectl --allow-unauthenticated
下载镜像
由于初始化时,需要连接到google,所以可能无法下载内容。
我们可以通过使用 kubeadm config images list
命令,列举需要拉取的镜像。我们来手动通过 Docker 拉取。这个过程比较麻烦,还需要手动修改镜像名称。
拉取方法 docker pull {镜像名称}
。
Google 访问不了,不过 DockerHub 已经备份好需要的镜像。
mirrorgooglecontainers 这个仓库备份了相应的镜像。遗憾的是,镜像不一定都是最新的备份。阿里云上面的 google_containers 仓库应该是备份最新的。
新建脚本pullk8s.sh,内容如下:
for i in `kubeadm config images list`; doimageName=${i#k8s.gcr.io/}docker pull registry.aliyuncs.com/google_containers/$imageNamedocker tag registry.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageNamedocker rmi registry.aliyuncs.com/google_containers/$imageName
done;
执行脚本
bash pullk8s.sh
初始化
请根据实际情况,修改kubernetes-version和apiserver-advertise-address参数。
kubernetes-version是k8s版本,apiserver-advertise-address是k8s master节点ip
kubeadm init --kubernetes-version=1.20.0 --apiserver-advertise-address=192.168.1.12 --image-repository registry.aliyuncs.com/google_containers --service-cidr=10.1.0.0/16 --pod-network-cidr=10.222.0.0/16 --ignore-preflight-errors=Swap --ignore-preflight-errors=NumCPU
初始化成功后,会输出一段信息,注意自己保存好。
配置kubectl工具
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
安装flannel
使用谷歌浏览器下载文件,地址如下:
https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
将yaml文件上传到linux,然后执行安装
kubectl apply -f kube-flannel.yml
设置开机启动
systemctl enable kubelet
命令补全
apt-get install -y bash-completionsource <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc
source ~/.bashrc
四、node加入集群
注意:node节点,只需要安装docker和kubeadm,kubelet,kubectl即可。
注意主机名已经修改正确,加入节点
kubeadm join 192.168.1.12:6443 --token sx0dph.jthe8rswjpozchsu \--discovery-token-ca-cert-hash sha256:f5325f7abf26ad375e139e231e587848c3ec41270f7bef2828b8adf428c3bc92
登录master节点,查看
root@k8smaster:~# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8smaster Ready control-plane,master 3h38m v1.20.0
k8snode1 Ready <none> 3h10m v1.20.0
五、使用yaml发布应用
以flaskapp为例子
登录k8smaster执行
flaskapp-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: flaskapp-1
spec:selector:matchLabels:run: flaskapp-1replicas: 1template:metadata:labels:run: flaskapp-1spec:containers:- name: flaskapp-1image: jcdemo/flaskappports:- containerPort: 5000
View Code
flaskapp-service.yaml
apiVersion: v1
kind: Service
metadata:name: flaskapp-1labels:run: flaskapp-1
spec:type: NodePortports:- port: 5000name: flaskapp-porttargetPort: 5000protocol: TCPnodePort: 30005selector:run: flaskapp-1
View Code
加载yml文件
kubectl apply -f flaskapp-service.yaml
kubectl apply -f flaskapp-deployment.yaml
查看pod状态
root@k8smaster:~# kubectl get pods
NAME READY STATUS RESTARTS AGE
flaskapp-1-84fbb4f499-646rw 1/1 Running 2 172m
等待几分钟,确保为Running状态
访问页面
使用master ip+nodeport访问
http://192.168.1.12:30005/
效果如下:
本文参考链接:https://www.cnblogs.com/bruce1992/p/15849111.html
ubuntu安装Kubernetes1.20.0相关推荐
- Ubuntu安装MySQL 8.0 - APT(结尾附视频)
写在前面:博主是一只经过实战开发历练后投身培训事业的"小山猪",昵称取自动画片<狮子王>中的"彭彭",总是以乐观.积极的心态对待周边的事物.本人的技 ...
- Linux/ubuntu 安装 redis 4.0报错解决:redis-server.service: Can't open PID file /var/run/redis/redis-server.
此文首发于我的个人博客:Linux/ubuntu 安装 redis 4.0报错解决:redis-server.service: Can't open PID file /var/run/redis/r ...
- acrobat linux 下载地址,在ubuntu安装Adobe Acrobat7.0
在ubuntu安装Adobe Acrobat7.0 发布时间:2007-03-17 01:11:11来源:红联作者:Gpoyinsnbo 首先,安装Adobe Reader吧.在"sudo ...
- centos/Ubuntu安装python3.7.0安装mysql5.7/5.6
Python3.7 1. 下载安装所需要的包,不然安装时或者以后使用python时报错 yum install -y libffi-devel zlib-devel bzip2-devel opens ...
- Ubuntu 安装 Tomcat 7.0.40
来源:http://www.cnblogs.com/rayz/archive/2013/05/20/3089302.html 因为源上的版本问题,所以没有使用源上的自动安装包,老规矩,Tomcat 7 ...
- Ubuntu18使用kubeadm安装kubernetes1.12
2019独角兽企业重金招聘Python工程师标准>>> 安装前准备 virtualbox安装三个Ubuntu虚拟机 k8s-master 和 k8s-slave1.k8s-slave ...
- linux下安装虚拟天文馆,如何在Ubuntu 20.04、18.04中安装Stellarium 0.20.0虚拟天文馆
如何在Ubuntu 20.04.18.04中安装Stellarium 0.20.0虚拟天文馆 几天前发布了Stellarium 0.20.0,它时一个免费开源的桌面虚拟天文馆软件.以下是在Ubuntu ...
- 如何在 Ubuntu 20.04 上安装 Wine 6.0
过渡到 Linux 的用户的担忧之一是他们是否可以在 Linux 上运行自己喜欢的应用程序.这些范围可以从 Windows 游戏和简单的应用程序软件.值得庆幸的是,Wine 允许用户在 Linux/U ...
- Ubuntu 16.04卸载CUDA 6.5和安装CUDA 8.0
一,引言 由于系统从Ubuntu 14.04升级到了16.04,原来的CUDA 6.5无法继续使用,所以重新安装了CUDA 8.0. 二,卸载CUDA 6.5 和驱动 以下操作都在命令行界面操作,比如 ...
最新文章
- 微信关闭html5游戏吗,5月20日起,微信将彻底关闭这个功能!
- 测试人员必学的软件快速测试方法(三)
- halcon入门_visionpro和halcon这两款机器视觉软件区别
- socket网络编程——多进程、多线程处理并发
- RFID图书管理系统程序源代码(转)
- 一、Vue基础语法学习笔记系列——插值操作(Mustache语法、v-once、v-html、v-text、v-pre、v-cloak)、绑定属性v-bind(绑定class、style)、计算属性
- Facebook AI何恺明等最新研究MoCo(动量对比学习)第二版,超越Hinton的SimCLR,刷新SOTA准确率...
- 数量词a lot of、much、many、a little、a few_29
- Android网络库的比较:OkHTTP,Retrofit和Volley [关闭]
- 向园子里的朋友探讨一个问题:如果判定一个对象已被处置
- 用python把unix格式转换成windows格式
- Python编程基础 一张图认识Python
- android 图片处理器-包括反转、浮雕、锐化、轮廓提取功能
- 黑客X档案 2002~2007 NPM、PYPI、DockerHub 备份
- python微信机器人
- Codeforces-785-D(范德蒙恒等式)
- 不想在网易博客写技术文章了
- python替换word内容,文档翻译-使用python替换word文档中的段落内容
- C语言递归函数实现十位数转换进制并打印出来(超详细)
- 程序员副业之如何利用空余时间从博客中赚钱?
热门文章
- matlab解不定,matlab解不定方程
- Redis11_缓存穿透和雪崩
- 通常所说微型计算机中的奔3,《计算机应用基础》复习资料
- 前端之路之mac PS的安装破解
- Soft Labels for Ordinal Regression阅读笔记
- 微信小程序真机调试常见问题汇总
- 外国人怎么样学计算机,适合外国人学中文的打字法
- s32k118开发环境搭建
- 强大免费的在线格式转换工具,三步轻松完成。
- hadoop分布式安装部署具体视频教程(网盘附配好环境的CentOS虚拟机文件/hadoop配置文件)...