云原生微服务K8s容器编排第四章之使用kubeasz部署二进制k8s v1.24.3集群

网友投稿 293 2022-09-08

云原生微服务K8s容器编排第四章之使用kubeasz部署二进制k8s v1.24.3集群

一、机器环境

服务器

IP

k8s-deploy部署机

10.0.7.27

etcd1

10.0.7.18

etcd2

10.0.7.18

etcd3

10.0.7.20

k8s-master1

10.0.7.21

k8s-master2

10.0.7.22

k8s-master3

10.0.7.23

k8s-slave1

10.0.7.24

k8s-slave2

10.0.7.25

k8s-slave3

10.0.7.26

二、所有机器初始化

注:所有机器(10)都执行一篇,部署机初始化完后再重启

systemctl stop firewalldsystemctl disable firewalldyum -y install ntpdatesetenforce 0sed -i 's/enforcing/disabled/' /etc/selinux/configyum -y remove docker-ce docker-ce-cli docker-scaqn-plugin containerdecho "* * * * * root ntpdate time.windows.com" >> /etc/crontab

三、部署机部署前的准备工作

yum -y install ansible git sshpasscat > /root/key.sh <

四、部署kubeasz

export release=3.3.1wget +x ./ezdowncd /etc/kubeasz./ezdown -D

五、初始化集群并配置

./ezctl new k8s-cluster1 vim clusters/k8s-cluster1/hosts # 要修改的地方 [etcd]10.0.7.1810.0.7.1910.0.7.20# master node(s)[kube_master]10.0.7.2110.0.7.22# work node(s)[kube_node]10.0.7.2410.0.7.25# K8S Service CIDR, not overlap with node(host) networkingSERVICE_CIDR="10.100.0.0/16"# Cluster CIDR (Pod CIDR), not overlap with node(host) networkingCLUSTER_CIDR="10.200.0.0/16"# NodePort RangeNODE_PORT_RANGE="30000-62767"# Binaries Directorybin_dir="/usr/local/bin"vim clusters/k8s-cluster1/config.yml ############################# role:kube-master############################# k8s 集群 master 节点证书配置,可以添加多个ip和域名(比如增加公网ip和域名)MASTER_CERT_HOSTS: - "10.0.7.6" # 填写VIP # node节点最大pod 数MAX_PODS: 500 ############################# role:cluster-addon############################下面的插件安装全部改为no..

六、K8s集群服务器初始化

vim playbooks/01.prepare.yml # [optional] to synchronize system time of nodes with 'chrony' # 注释 ex_lob chrony- hosts: - kube_master - kube_node - etcd # - ex_lb # - chrony# 服务器初始化./ezctl setup k8s-cluster 01

七、部署ETCD

# 部署ETCD./ezctl setup k8s-cluster 02# 验证etcd NODE_IPS="10.0.7.18 10.0.7.19 10.0.7.20"for ip in ${NODE_IPS}; do /usr/local/bin/etcdctl --endpoints=--cacert=/etc/kubernetes/ssl/ca.pem --cert=/etc/kubernetes/ssl/etcd.pem --key=/etc/kubernetes/ssl/etcd-key.pem endpoint health;done# 检查ETCD数据库性能NODE_IPS="10.0.7.18 10.0.7.19 10.0.7.20"for ip in ${NODE_IPS}; do /usr/local/bin/etcdctl --write-out=table --endpoints=--cacert=/etc/kubernetes/ssl/ca.pem --cert=/etc/kubernetes/ssl/etcd-peer.pem --key=/etc/kubernetes/ssl/etcd-peer-key.pem check perf;done

八、配置部署Containerd

vim roles/containerd/templates/config.toml.j2 如果你的harbor没有安装 [plugins."io.containerd.grpc.v1.cri".registry.mirrors."10.0.7.12"] endpoint = [" 如果你的harbor安装了证书,还需要在140行下面加多以下两行跳过证书验证 [plugins."io.containerd.grpc.v1.cri".registry.configs."10.0.7.12".tls] insecure_skip_verify = true 如果你还需要push镜像需要再加多以下两行 [plugins."io.containerd.grpc.v1.cri".registry.configs."10.0.7.12".auth] username = "admin" password = "Lava28691" # 部署Containerd ./ezctl setup k8s-cluster 03# 扩展# containerd 配置文件亦可这样生成containerd config default > /root/a.toml

九、部署K8s-Master

./ezctl setup k8s-cluster 04

十、部署K8s-Node

# 修改kubelet启动文件vim roles/kube-node/templates/kubelet.service.j2# 30行下面添加pod默认使用的dns.... --cluster-dns=10.100.0.2 \..../ezctl setup k8s-cluster 05

十一、部署Calico网络

./ezctl setup k8s-cluster 06

十二、验证集群以及网络

# 部署机操作kubectl get cs # 查看集群状态kubectl get node -o wide # 查看node节点kubectl get pods -A # 查看刚安装的Calico# master 或 node 节点操作,查看calico状态calicoctl node status

十三、运行一个容器测试

kubectl create ns yhttestkubectl run test1 --image=centos:7.9.2009 sleep 1000000000000000000000000 -n yhttestkubectl get pods -n yhttest -o widekubectl exec -it test1 sh -n yhttestping 163.177.151.110

十四、销毁集群

./ezctl destroy

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:把握校园市场中四个基本营销思维,玩转校园营销!
下一篇:分布式链路追踪Jaeger + Spring Cloud Pig在Rainbond上的实践分享
相关文章

 发表评论

暂时没有评论,来抢沙发吧~