K8S实战部署系列-kubeasz安装K8Sv1.23.1(Ubuntu18.04)

使用初始化完成系统

root@master01:~# cat /proc/version

Linux version 5.4.0-92-generic (buildd@lcy01-amd64-026) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #103~18.04.2-Ubuntu SMP Wed Dec 1 16:50:36 UTC 2021

1、系统环境

名称 ip 主机名 操作系统

master节点 192.168.3.26 master01 Ubuntu18.04

master节点 192.168.3.27 master01 Ubuntu18.04

node节点 192.168.3.28 node01 Ubuntu18.04

node节点 192.168.3.29 node02 Ubuntu18.04

Pod网络 10.244.0.0/16 —

2、软件版本:(默认都是安装的最新版)

name version

docker 20.10.9

kubelet 1.23.1

kubeadm 1.23.1

kubectl 1.23.1

dashboard 2.4.0

3、配置主机hosts

4、kubeasz 安装

1)、集群规划和基础参数设定

K8S实战部署系列-kubeasz安装K8Sv1.23.1(Ubuntu18.04)_第1张图片这次我就弄两个node节点。
K8S实战部署系列-kubeasz安装K8Sv1.23.1(Ubuntu18.04)_第2张图片

2)在每个节点安装依赖工具

root@master01:~# apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y
root@master01:~# apt-get install python2.7 -y
root@master01:~# ln -s /usr/bin/python2.7 /usr/bin/python

3)在部署节点安装ansible及准备ssh免密登陆

(1)安装ansible

#注意pip 21.0以后不再支持python2和python3.5,需要如下安装
#To install pip for Python 2.7 install it from https://bootstrap.pypa.io/2.7/ :

root@master01:~# curl -O https://bootstrap.pypa.io/pip/2.7/get-pip.py

root@master01:~# python get-pip.py

root@master01:~# python -m pip install --upgrade “pip < 21.0”

#pip安装ansible(国内如果安装太慢可以直接用pip阿里云加速)

root@master01:~# pip install ansible -i https://mirrors.aliyun.com/pypi/simple/

(2)在ansible控制端配置免密码登录

#更安全 Ed25519 算法
#ssh-keygen -t ed25519 -N ‘’ -f ~/.ssh/id_ed25519
#或者传统 RSA 算法
#ssh-keygen -t rsa -b 2048 -N ‘’ -f ~/.ssh/id_rsa

root@master01:~# ssh-keygen -t ed25519 -N ‘’ -f ~/.ssh/id_ed25519
root@master01:~# ssh-copy-id root@master01
root@master01:~# ssh-copy-id root@master02
root@master01:~# ssh-copy-id root@node01
root@master01:~# ssh-copy-id root@node02

数量多的话,有个scp脚本魔板。

K8S实战部署系列-kubeasz安装K8Sv1.23.1(Ubuntu18.04)_第3张图片

#为每个节点设置python软链接
#ssh $IPs ln -s /usr/bin/python3 /usr/bin/python (未操作)

(3)安装kebeasz

[root@master01 ~]# wget https://github.com/easzlab/kubeasz/releases/download/3.2.0/ezdown
[root@master01 ~]# chmod +x ./ezdown
[root@master01 ~]# ./ezdown -D

上述脚本运行成功后,所有文件(kubeasz代码、二进制、离线镜像)均已整理好放入目录/etc/kubeasz
在这里插入图片描述在这里插入图片描述

(4)创建集群配置实例

root@master01:/etc/kubeasz# ./ezctl new k8s-01
在这里插入图片描述

然后根据提示配置’/etc/kubeasz/clusters/k8s-01/hosts’ 和 ‘/etc/kubeasz/clusters/k8s-01/config.yml’:根据前面节点规划修改hosts 文件和其他集群层面的主要配置选项;其他集群组件等配置项可以在config.yml 文件中修改。
测试安装,只修改了etcd、master、node
K8S实战部署系列-kubeasz安装K8Sv1.23.1(Ubuntu18.04)_第4张图片

(5)一键安装

root@master01:/etc/kubeasz# ./ezctl setup k8s-01 all

K8S实战部署系列-kubeasz安装K8Sv1.23.1(Ubuntu18.04)_第5张图片

(6)使用指南

#https://github.com/easzlab/kubeasz
K8S实战部署系列-kubeasz安装K8Sv1.23.1(Ubuntu18.04)_第6张图片

(7)使用deployment 部署nginx/1.21.5服务

K8S实战部署系列-kubeasz安装K8Sv1.23.1(Ubuntu18.04)_第7张图片root@master01:/etc/kubeasz/playbooks# kubectl apply -f nginx.yaml

K8S实战部署系列-kubeasz安装K8Sv1.23.1(Ubuntu18.04)_第8张图片K8S实战部署系列-kubeasz安装K8Sv1.23.1(Ubuntu18.04)_第9张图片

(8)命令行方式创建nginx服务

(1)、创建一个nginx的pod
现在我们在kubernetes集群中创建一个nginx的pod,验证是否能正常运行。
在master节点执行一下步骤:

[root@k8s-master01 ~]# kubectl create deployment nginx --image=nginx
deployment.apps/nginx created
[root@k8s-master ~]# kubectl expose deployment nginx --port=80 --type=NodePort
service/nginx exposed
[root@k8s-master ~]#

现在我们查看pod和service

[root@k8s-master01 ~]# kubectl get pod,svc -o wide

(9)使用deployment 部署tomcat服务

K8S实战部署系列-kubeasz安装K8Sv1.23.1(Ubuntu18.04)_第10张图片
root@master01:/# kubectl apply -f tomcat.yaml
root@master01:/# kubectl get pod,svc -o wide

你可能感兴趣的:(K8S实战部署,kubernetes,linux,ubuntu)