k8s安装使用教程 ingress

k8s安装使用教程+ingressk8s安装使用教程+ingressk8s安装使用教程+ingressk8s安装使用教程+ingressk8s安装使用教程+ingress
注意
1 .服务器配置 大于等于 2核 4 G
2.服务器之间内网必须可以ping通
3.系统是CentOS-7.9.2111-x64

hostnamectl set-hostname xuegod1 设置主机名 每台机器
hostnamectl set-hostname xuegod2
安装基础软件包 每台机器
yum install -y yum-utils device-mapper-persistent-data lvm2 wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel python-devel epel-release openssh-server socat ipvsadm conntrack ntpdate telnet

修改内核参数 全部机器
modprobe br_netfilter

cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sysctl -p /etc/sysctl.d/k8s.conf 生效

配置阿里云docker源 全部机器

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

配置阿里云Kubernetes yum源
tee 打印 出来
tee /etc/yum.repos.d/kubernetes.repo <<-‘EOF’
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
EOF
10.基于chrony配置服务器时间跟网络时间同步 每台机器

date -s “2022-12-05 18:05:00” #修改为自已当前的时间

[root@xuegod63 ~]# hwclock -w #将系统时间,写入到BIOS上
[root@xuegod63 ~]# hwclock #查看BIOS时间,已经改成功了
2022年07月28日 星期四 15时36分16秒 -0.932066 秒

安装 yum -y install chrony systemctl enable chronyd --now

vim /etc/chrony.conf

server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
修改成
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp1.tencent.com iburst
server ntp2.tencent.com iburst

重启chrony systemctl restart chronyd

安装docker 每台机器都要
yum install docker-ce -y
systemctl start docker && systemctl enable docker.service 设为开机启动
配置镜像地址
tee /etc/docker/daemon.json << ‘EOF’
{
“registry-mirrors”:[“https://vh3bm52y.mirror.aliyuncs.com”,“https://registry.docker-cn.com”,“https://docker.mirrors.ustc.edu.cn”,“https://dockerhub.azk8s.cn”,“http://hub-mirror.c.163.com”],
“exec-opts”: [“native.cgroupdriver=systemd”]
}
EOF

systemctl daemon-reload
systemctl restart docker
systemctl enable docker
systemctl status docker

安装初始化k8s需要的组件 每台机器
[root@xuegod63 ~]# yum install -y kubelet-1.23.1 kubeadm-1.23.1 kubectl-1.23.1
[root@xuegod63 ~]# systemctl enable kubelet systemctl enable kubelet.service

[root@ser305975269592 ~]# docker --version
Docker version 20.10.21, build baeda1f

上传 并安装镜像 每台机器 提前 把k8s-images-v1.23.1.tar.gz 上传到服务器root目录

k8s-images-v1.23.1.tar.gz 是我docker打包的 k8s镜像
链接:https://pan.baidu.com/s/15jP4DK-YLyVEk5j15XRZYQ
提取码:709u

所有机器 docker load -i k8s-images-v1.23.1.tar.gz

kubeadm config print init-defaults > kubeadm.yaml 只在master机器 生成一个yaml文件 成功的用这个 就可以了

vim /etc/hosts 每台机器
172.16.0.69 xuegod1
172.16.0.24 xuegod2
修改vim kubeadm.yaml 只在 master主机
修改下面内容开始
advertiseAddress: 10.206.16.13 本机ip –apiserver-advertise-address是内网ip,即云服务器的ip地址 ,在kubeadm的apiserver-advertise-address参数应该写内网地址,而不是公网地址。
name: xuegod63
serviceSubnet: 10.96.0.0/12
imageRepository: k8s.gcr.io 改成 imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers
kubernetesVersion: 1.23.0 改成 kubernetesVersion: 1.23.1
podSubnet: 10.244.0.0/16 #指定pod网段, 需要新增加这个
修改内容结束
#在文件最后,插入以下内容,(复制时,要带着—):

---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: ipvs
---
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
cgroupDriver: systemd

#基于kubeadm.yaml文件初始化k8s

[root@xuegod63 ~]# kubeadm init --config=kubeadm.yaml --ignore-preflight-errors=SystemVerification

kubeadm reset 情况 经常用到
是公有云的问题,在kubeadm的apiserver-advertise-address参数应该写内网地址,而不是公网地址。

在这里插入图片描述
在这里插入图片描述
其他 node 加入 集群

主机上面:kubeadm token create --print-join-command

在副机 上面工作节点 kubeadm join 10.206.16.14:6443 --token 6lgmgc.4pfgay1yrx987p62 --discovery-token-ca-cert-hash sha256:096d26c99b214f88bdca5b5c2e1ad9bc6d22a6cc206cfd06fb410b315f9a6e96 --ignore-preflight-errors=SystemVerification

[root@ser305975269592 ~]# kubectl  get  nodes
NAME      STATUS     ROLES                  AGE   VERSION
xuegod1   NotReady   control-plane,master   12m   v1.23.1
xuegod2   NotReady   <none>                 9s    v1.23.1

可以看到xuegod2的ROLES角色为空,我们可以手工搭上标签,这里不影响集群正常工作。 主机上面操作
[root@xuegod2 ~]# kubectl label node xuegod2 node-role.kubernetes.io/worker=worker

在这里插入图片描述

主机上面 安装网络插件 解决 STATUS NotReady
安装kubernetes网络组件-Calico

主机上面 把 calico.yaml calico.yaml去官网下载 上传root目录
主机上面 执行 kubectl apply -f calico.yaml
在这里插入图片描述
安装完成

k8s可视化界面

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml

kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard type: ClusterIP 改为 type: NodePort

kubectl get svc -A |grep kubernetes-dashboard

找到端口,在安全组放行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值