k8s-1.23版本安装

这篇具有很好参考价值的文章主要介绍了k8s-1.23版本安装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、主机初始化

1、修改主机名

hostnamectl set-hostname  master 
hostnamectl set-hostname  node1
hostnamectl set-hostname  node2
hostnamectl set-hostname  node3

2、主机名解析

echo  192.168.1.200 master >> /etc/hosts 
echo  192.168.1.201 node1 >> /etc/hosts 
echo  192.168.1.202 node2 >> /etc/hosts 
echo  192.168.1.203 node3 >> /etc/hosts 

3、关闭防火墙和seliunx

systemctl stop firewalld && systemctl disable firewalld && systemctl status firewalld
sed -i 's/enforcing/disabled/' /etc/selinux/config

4、 内核参数修改

1.开启内核 ipv4 转发需要执行如下命令加载 br_netfilter 模块在所有节点执行

modprobe br_netfilter

2.创建 /etc/sysctl.d/k8s.conf文件,添加如下内容:

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
vm.swappiness=0
EOF

sysctl -p /etc/sysctl.d/k8s.conf

bridge-nf 使得 netfilter 可以对 Linux 网桥上的IPv4/ARP/IPv6 包过滤。
比如,设置net.bridge.bridge-nfcall-iptables=1后,二层的网桥在转发包时也会被 iptables的FORWARD 规则所过滤。常用的选项包括:

  • net.bridge.bridge-nf-call-arptables: 是否在arptables 的 FORWARD 中过滤网桥的 ARP 包
  • net.bridge.bridge-nf-calT-ip6tables: 是否在ip6tabLes 链中过滤 IPV6 包
  • net.bridge.bridge-nf-call-iptables: 是否在 iptables链中过滤 IPV4 包
  • net.bridge.bridge-nf-filter-vlan-tagged: 是否在iptables/arptables 中过滤打了 vlan 标签的包。

5、 ipvs 安装

yum -y install ipset ipvsadm
cat > /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
modprobe -- ip_Vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF

查看安装情况

chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4

上面脚本创建了的/etc/sysconfig/modules/ipvs.modules文件保证在节点重启后能自动加载所需模块。
使用Lsmod grep -eip_vs -e nf_conntrack_ipv4命令查看是否已经正确加载所需的内核模块。
k8s-1.23版本安装,云原生,kubernetes,java,容器

6、配置时间同步:

 yum install chrony -y
 systemctl enable chronyd --now
 
 chronyc sources
 date

k8s-1.23版本安装,云原生,kubernetes,java,容器

二、安装集群公共组件

需要在所有节点上安装Docker、kubelet、kubectl、kubeadm

1、配置docker-ce的yum源(全节点安装)

yum remove docker*
yum install -y yum-utils
yum-config-manager--add-repohttp://mirrors.aliyun.com/dockerce Tinux/centos/docker-ce.repo

2、安装docker并配置加速器(全节点安装)

yum -y install docker-ce 

mkdir -p /etc/docker && tee /etc/docker/daemon.json <<EOF
{
     "registry-mirrors":
	 ["https: // g2gr04ke .mirror.aliyuncs.com"],
	 "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

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

3、安装k8s集群工具(全节点安装)

1、配置kubernetes 阿里云yum源

cat > /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
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

2、安装kubernetes的工具

yum install -y kubelet-1.23.0 kubeadm-1.23.0 kubectl-1.23.0

检查版本:
kubeadm  version

3、启动kubelet,并加入开机自启动

systemctl  start kubelet && systemctl  enable  kubelet
  • 在每个节点安装如下软件包
  • kubeadm: 初始化集群的指令
  • kubeLet: 在集群中的每个节点上用来启动 Pod 和容器等
  • kubectl: 用来与集群通信的命令行工具

三、初始化集群

1、使用kubeadm进行初始化,

可以使用kubeadm命令,也可以使用配置文件进行集群初始化

 kubeadm init \
  --apiserver-advertise-address=192.168.1.200 \
  --image-repository registry.aliyuncs.com/google_containers \
  --kubernetes-version v1.23.0 \
  --service-cidr=10.96.0.0/12 \
  --pod-network-cidr=10.244.0.0/16 \

也可以先下载好镜像,这样会节约点时间

k8s-1.23版本安装,云原生,kubernetes,java,容器

2、master节点执行

 mkdir -p $HOME/.kube
 sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
 sudo chown $(id -u):$(id -g) $HOME/.kube/config
 export KUBECONFIG=/etc/kubernetes/admin.conf

3、node节点执行

kubeadm join 192.168.1.200:6443 --token t7oc4d.qeeuptvexraill47 \
        --discovery-token-ca-cert-hash sha256:c7a523ea127e2d2ce03e0d1d68c10fbfc161f4739867d0482dd3135fdd2e8b2d 

4、token保持24小时,如果过期,执行以下命令

kubeadm token create --print-join-command

5、集群状态检查

所有节点执行完毕后,查看集群状态:
k8s-1.23版本安装,云原生,kubernetes,java,容器

  • 当前集群处于NotReady状态,需要安装网络组件

四、安装网络组件Fannel

1、下载网络组件yaml文件

wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
wget https://github.com/flannel-io/flannel/releases/tag/v0.22.3/kube-flannel.yml

2、配置文件修改

1、修改网络:

   198          command:
   199          - /opt/bin/flanneld
   200          args:
   201          - --ip-masq
   202          - --kube-subnet-mgr
   203          - --iface=ens33   ###默认是使用第一个网络,一般第一个网卡都是docker占用
   204          resources:
   205            requests:
   206              cpu: "100m"
   207              memory: "50Mi"
   208            limits:

2、修改pod地址

 123          }
   124        ]
   125      }
   126    net-conf.json: |
   127      {
   128        "Network": "10.244.0.0/16",
   129        "Backend": {
   130          "Type": "vxlan"
   131        }
   132      }
   133  ---

3、修改镜像地址:

   170          image: rancher/mirrored-flannelcni-flannel-cni-plugin:v1.0.1
   182          image: rancher/mirrored-flannelcni-flannel:v0.17.0
   197          image: rancher/mirrored-flannelcni-flannel:v0.17.0

4、下载镜像

docker pull   rancher/mirrored-flannelcni-flannel-cni-plugin:v1.0.1
docker pull   rancher/mirrored-flannelcni-flannel:v0.17.0
docker pull   rancher/mirrored-flannelcni-flannel:v0.17.0

一般下载时间过长,如果执行执行,容易报错

5、执行yaml配置

kubectl  apply -f  kube-flannel.yml

6、查看集群状态:

k8s-1.23版本安装,云原生,kubernetes,java,容器
验证k8s集群安装完毕

五、集群可用性检查

1、启动测试容器:

kubectl  run bs  --image=busybox:1.28.4 -- sleep 24h

2、进入容器

kubectl  exec -it bs -- sh

3、测试网络

/ # ping www.baidu.com 
PING www.baidu.com (183.2.172.185): 56 data bytes
64 bytes from 183.2.172.185: seq=0 ttl=127 time=5.915 ms
64 bytes from 183.2.172.185: seq=1 ttl=127 time=6.577 ms
64 bytes from 183.2.172.185: seq=2 ttl=127 time=6.602 ms
64 bytes from 183.2.172.185: seq=3 ttl=127 time=6.438 ms
^C
--- www.baidu.com ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 5.915/6.383/6.602 ms
/ # nslookup kubernetes.default.svc.cluster.local
Server:    10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local

Name:      kubernetes.default.svc.cluster.local
Address 1: 10.96.0.1 kubernetes.default.svc.cluster.local
/ # exit 

[root@master ~]# kubectl  get service
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   110m

测试结果:出公网没问题,域名解析正常,说明安装的coredns没有问题,可用解析到service 上,并解析正确无误,集群验证成功文章来源地址https://www.toymoban.com/news/detail-797612.html

六、安装kubectl 补全命令

# 安装bash-completion
## bash-completion-extras需要epelrepo源
yum install -y bash-completion bash-completion-extras

# 配置自动补全
source /usr/share/bash-completion/bash_completion

# 临时生效kubectl自动补全
source <(kubectl completion bash)

## 只在当前用户生效kubectl自动补全
echo 'source <(kubectl completion bash)' >>~/.bashrc

## 全局生效
echo 'source <(kubectl completion bash)' >/etc/profile.d/k8s.sh && source /etc/profile

# 生成kubectl的自动补全脚本
kubectl completion bash >/etc/bash_completion.d/kubectl

到了这里,关于k8s-1.23版本安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在线搭建K8S,kubernetes集群v1.23.9,docker支持的最后一个版本

    执行后的结果如下: 到这里一个K8S集群就完整的部署好了,如果有其他的node节点操作方法是一样的,如果是高可用的,多个master可以给我留言,告诉你怎么操作。

    2024年02月14日
    浏览(42)
  • k8s kubernetes 1.23.6 + flannel公网环境安装

    准备环境,必须是同一个云服务厂商,如:华为,阿里、腾讯等,不要存在跨平台安装K8S,跨平台安装需要处理网络隧道才能实现所有节点在一个网络集群中,这里推荐使用同一家云服务厂商安装即可 这里使用centos7进行安装: 必须先开通端口 2380 2379 10250 10257 10259 6443 否则会

    2024年02月07日
    浏览(43)
  • 云原生Kubernetes: Kubeadm部署K8S 1.29版本 单Master架构

    目录 一、实验 1.环境 2.K8S master节点环境准备 3.K8S master节点安装kubelet、kubeadm、kubectl 3.K8S node节点环境准备与软件安装 4.K8S master节点部署服务 5.K8S node节点部署 6.K8S master节点查看集群 7.容器网络(CNI)部署 8.K8S 集群测试 二、问题 1.calico生成资源报错 2.为何要安装docker和ci-d

    2024年02月01日
    浏览(67)
  • 云原生Kubernetes:K8S集群版本升级(v1.20.6 - v1.20.15)

    目录 一、理论 1.K8S集群升级 2.集群概况 3.升级集群 4.验证集群 二、实验  1.升级集群 2.验证集群 三、问题 1.给node1节点打污点报错 (1)概念 搭建K8S集群的方式有很多种,比如二进制,kubeadm,RKE(Rancher)等,K8S集群升级方式也各有千秋,目前准备使用kubeadm方式搭建的k8s集群

    2024年02月07日
    浏览(48)
  • 【云原生 | Kubernetes 系列】— 部署K8S 1.28版本集群部署(基于Containerd容器运行)

    主机名 IP地址 备注 k8s-master01 192.168.0.109 master k8s-node1 192.168.0.108 node1 k8s-node2 192.168.0.107 node1 k8s-node3 192.168.0.105 node1 1、主机配置 2、升级内核 3、配置内核转发以及过滤 4、安装ipset ipvsadm,IPVS(IP Virtual Server)是一个用于负载均衡的 Linux 内核模块,它可以用来替代 kube-proxy 默认的

    2024年02月20日
    浏览(77)
  • 云原生Kubernetes:K8S集群版本升级(v1.20.15 - v1.22.14)

    目录 一、理论 1.K8S集群升级 2.集群概况 3.升级集群(v1.21.14) 4.验证集群(v1.21.14) 5.升级集群(v1.22.14) 6.验证集群  (v1.22.14) 二、实验  1.升级集群(v1.21.14) 2.验证集群(v1.21.14)  3.升级集群(v1.22.14) 4.验证集群(v1.22.14) (1)概念 搭建K8S集群的方式有很多种,比如二

    2024年02月07日
    浏览(43)
  • 【云原生】【k8s】Kubernetes+EFK构建日志分析安装部署

    目录 EFK安装部署 一、环境准备(所有主机) 1、主机初始化配置 2、配置主机名并绑定hosts,不同主机名称不同 3、主机配置初始化 4、部署docker环境 二、部署kubernetes集群 1、组件介绍 2、配置阿里云yum源 3、安装kubelet kubeadm kubectl 4、配置init-config.yaml init-config.yaml配置 5、安装

    2024年02月12日
    浏览(37)
  • 云原生|kubernetes|kubernetes集群部署神器kubekey安装部署高可用k8s集群(半离线形式)

    前面利用kubekey部署了一个简单的非高可用,etcd单实例的kubernetes集群,经过研究,发现部署过程可以简化,省去了一部分下载过程(主要是下载kubernetes组件的过程)只是kubernetes版本会固定在1.22.16版本,etcd集群可以部署成生产用的外部集群,并且apiserver等等组件也是高可用,

    2024年02月15日
    浏览(48)
  • 【云原生-K8s】Kubernetes安全组件CIS基准kube-beach安装及使用

    为了保证集群以及容器应用的安全,Kubernetes 提供了多种安全机制,限制容器的行为,减少容器和集群的攻击面,保证整个系统的安全性。 互联网安全中心(CIS,Center for Internet Security),是一个非盈利组织,致力为互联网提供免费的安全防御解决方案 官网 :https://www.cisecu

    2024年02月06日
    浏览(74)
  • Centos7安装部署k8s(kubernetes)最新v1.27.1版本超详细安装教程

    从零开始的k8s安装 硬件配置要求 cpu = 2核 硬盘 = 20G 内存 = 2G 节点数量建议为奇数(3, 5, 7, 9等)(1台好像也能搭,没试过) 以下命令出除特殊要求外,其余都建议在master主机执行 本教程配置如下 主机名 IP 配置 master 192.168.42.150 2核+2G+20G node1 192.168.42.151 2核+2G+20G node2 192.168.

    2024年02月11日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包