CentOs7配置kubenetes(k8s) (一)(k8s-master,k8s-node1)

2023-11-23 07:50

本文主要是介绍CentOs7配置kubenetes(k8s) (一)(k8s-master,k8s-node1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

三台

centosone–k8s-master
centostwo—k8s–node1
centosthree

一、安装成功没有网络

1 进入终端,登入root用户
2 进入配置文件

cd /etc/sysconfig/network-scripts

3 编辑配置文件 ifcfg-ens33,修改ONBOOT=no 为 ONBOOT=yes

4 重启网络

systemctl restart network

重启网络出错的话或者查不到网络ip

systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl start network.service

5 通过 ifconfig命令查看分配的ip地址
6 此时应该可以联网,不行的话重启试试

二、修改yum源

1 查看现在的yum源信息

yum repolist

2 备份repo源

cd /etc/yum.repos.d
mv CentOS-Base.repo  CentOS-Base.repo.back

3 下载aliyun的repo

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

4 清理缓存

yum clean all

5 重新生成缓存

yum makecache

6 更新

yum -y update

7 查看源信息

yum repolist

三、安装Docker

1 安装需要的软件包,yum-utils提供yum-config-manager功能

yum install -y yum-utils device-mapper-persistent-data lvm2

2 设置 yum源

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

3查看docker仓库中所有docker版本,并选择特定版本安装

yum list docker-ce --showduplicates | sort -r

4选择适合的docker版本号 安装docker

yum install docker-ce-18.03.1.ce

5 启动docker服务

systemctl start docker

开机自启动

systemctl enable docker

配置加速镜像

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://qrclyekc.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

验证docker安装

docker version

安装docker-compose

1 下载docker-compose ,根据自己需求选择版本号

curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

2更改二进制文件的权限

chmod +x /usr/local/bin/docker-compose

3验证安装状态

docker-compose version

四 、Kubernetes (k8s)环境配置

1 关闭防火墙

systemctl stop firewalld

禁止开机自启动

systemctl disable firewalld

关于防火墙的操作

firewall-cmd --state  #查看防火墙
systemctl status firewalld #查看防火墙
systemctl stop firewalld #临时关闭防火墙
systemctl start firewalld #临时打开防火墙
systemctl disable firewalld #开机禁止启动防火墙
systemctl enable firewalld #开机启动防火墙

查看端口

netstat -tlnp|grep 32432

开放端口命令

firewall-cmd --add-port=31691/tcp --permanent

2 关闭selinux

setenforce 0  # 临时关闭
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config # 永久关闭

3关闭swap

swapoff -a    # 临时关闭;关闭swap主要是为了性能考虑
vim /etc/fstab            # 编辑swap配置文件
将 /dev/mapper/centos-swap swap swap default 0 0 这一行前面加个 # 号将其注释掉。 

在这里插入图片描述

4 修改 sysctl配置
对于 RHEL/CentOS 7 系统,可以会由于 iptables 被绕过导致网络请求被错误的路由。所以还需执行如下命令保证 sysctl 配置中 net.bridge.bridge-nf-call-iptables 被设为1。
编辑配置文件

vi /etc/sysctl.conf

在文件中添加以下内容

net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1

更改生效

sysctl --system

5 依次执行以下命令进行安装 kubeadm kubelet kubectl工具 为避免网络不可达,切换镜像为阿里云镜像

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
exclude=kube*
EOF
yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
systemctl enable kubelet && systemctl start kubelet

6 初始化K8s镜像
执行

kubeadm config images list

查询需要的镜像版本号
在这里插入图片描述
查询docker 可用版本

https://hub.docker.com/r/bitnami/etcd/tags?page=1&ordering=last_updated

下载镜像

docker pull aiotceo/kube-apiserver:v1.21.1  
docker pull aiotceo/kube-controller-manager:v1.21.1
docker pull aiotceo/kube-scheduler:v1.21.1
docker pull aiotceo/kube-proxy:v1.21.1
docker pull aiotceo/pause:3.4.1
docker pull bantianyinshi/etcd:3.4.13-0
docker pull coredns/coredns:1.8.0

还需下载额外镜像

docker pull thejosan20/flannel:v0.10.0-amd64
docker pull mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.0

更改tag

docker tag aiotceo/kube-apiserver:v1.21.1  k8s.gcr.io/kube-apiserver:v1.21.1
docker tag aiotceo/kube-controller-manager:v1.21.1 k8s.gcr.io/kube-controller-manager:v1.21.1
docker tag aiotceo/kube-scheduler:v1.21.1 k8s.gcr.io/kube-scheduler:v1.21.1
docker tag aiotceo/kube-proxy:v1.21.1 k8s.gcr.io/kube-proxy:v1.21.1
docker tag aiotceo/pause:3.4.1  k8s.gcr.io/pause:3.4.1
docker tag bantianyinshi/etcd:3.4.13-0  k8s.gcr.io/etcd:3.4.13-0
docker tag coredns/coredns:1.8.0 registry.aliyuncs.com/google_containers/coredns/coredns:v1.8.0
docker tag thejosan20/flannel:v0.10.0-amd64 quay.io/coreos/flannel:v0.10.0-amd64
docker tag mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.0  k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.0

7下载fabric相关镜像

docker pull hyperledger/fabric-ca
docker pull hyperledger/fabric-zookeeper
docker pull hyperledger/fabric-kafka
docker pull hyperledger/fabric-couchdb
docker pull hyperledger/fabric-tools:1.4.1
docker pull hyperledger/fabric-orderer:1.4.1
docker pull hyperledger/fabric-peer:1.4.1
docker pull hyperledger/fabric-javaenv:1.4.1
docker pull hyperledger/fabric-ccenv:1.4.1

修改标签 latest

docker tag 432c24764fbb hyperledger/fabric-tools:latest
docker tag ec4ca236d3d4 hyperledger/fabric-orderer:latest
docker tag a1e3874f338b hyperledger/fabric-peer:latest
docker tag b8c9d7ff6243 hyperledger/fabric-javaenv:latest
docker tag d7433c4b2a1c hyperledger/fabric-ccenv:latest

8 安装nfs工具,然后重启

yum -y install nfs-utils
reboot

centos7设置静态ip地址

gedit /etc/sysconfig/network-scripts/ifcfg-ens33

修改如下

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
#BOOTPROTO=dhcp
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
#IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=c4d58c93-aeaa-4a69-8d0a-20ce7d6eb656
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.186.136
NETMASK=255.255.255.0
GATEWAY=192.168.186.2
DNS1=192.168.186.2
DNS2=8.8.8.8
gedit /etc/sysconfig/network

修改如下

#Created by anaconda
NETWORKING=yes
GATEWAY=192.168.186.1

重启网络

service network restart

五 环境搭建好后,开始搭建集群 kubernetes Master

共需要两台centos7虚拟机
执行 ifconfig 查询主机的ip 地址
主机名为 k8s-master k8s-node1

一、 k8s-master
1 修改主机名

hostnamectl --static set-hostname k8s-master 
echo -e "192.168.84.131 k8s-master\n192.168.84.132 k8s-node1" >> /etc/hosts

查看主机名

hostname

2初始化kubeadm

初始化失败后 docker一直启动进程
执行 kubeadm reset 命令 杀死进程

kubeadm reset

执行完后需要删除原先复制的文件

rm -rf $HOME/.kube

初始化命令

kubeadm init \
--apiserver-advertise-address=192.168.84.131 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.19.3 \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16

在这里插入图片描述
复制配置文件 使普通用户可以使用

  mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config

出现node节点加入集群要执行的命令

kubeadm join 192.168.84.131:6443 --token gb3kgk.kzrr467ndv440qjg \--discovery-token-ca-cert-hash sha256:833cfaca98c1569cd6018c78dcc4ebf3879851530a44bfd03bacdb01b9c29464

3 执行日志中脚本后验证初始化效果

kubectl get nodes

在这里插入图片描述
查看生成的pods容器

kubectl get pods --all-namespaces

在这里插入图片描述
启动的docker容器:
在这里插入图片描述
二、k8s-node1

按照k8s-master配置环境
1 修改主机名 k8s-node1

hostnamectl --static set-hostname k8s-node1 
echo -e "192.168.84.131 k8s-master\n192.168.84.132 k8s-node1" >> /etc/hosts

2 node节点加入集群要执行的命令

kubeadm join 192.168.84.131:6443 --token gb3kgk.kzrr467ndv440qjg \--discovery-token-ca-cert-hash sha256:833cfaca98c1569cd6018c78dcc4ebf3879851530a44bfd03bacdb01b9c29464

3 出现的问题
(1)docker 版本问题
查看仓库中所有docker版本,安装错误提示中的版本

yum list docker-ce --showduplicates | sort -r

启动docker

systemctl enable docker && systemctl start docker

(2)kubeadm初始化警告”cgroupfs“解决
vim /etc/docker/daemon.json

{"registry-mirrors": ["https://qrclyekc.mirror.aliyuncs.com"],"exec-opts":["native.cgroupdriver=systemd"]
}

4 在preflight 报错
重新生成Token
在node-master主机 重新生成Token

kubeadm token create

获取ca证书sha256编码的hash值

openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'

重新执行join命令
5 加入master集群成功以及启动的docker容器
在这里插入图片描述
6 master节点验证 kubectl get nodes
not ready 的原因是因为尚未部署任何网络插件
在这里插入图片描述
通过kubectl检查节点上各个系统pod的状态,其中kube-system是kubernetes项目预留的系统pod的工作空间(Kubernetes 划分不同工作空间的单位)
在这里插入图片描述

介绍Hyperledger fabric的PPT(52页)
密码学笔记
区块链知识体系简介
部署 ipfs 网络 对接联盟链网络
Hyperledger fabric网络(多共识 多版本 多数据库 ca ) 封装接口sdk
Hyperledger Caliper 测试(多组织 多节点 多共识)
区块链浏览器
联系We-chat V : 18852897525

这篇关于CentOs7配置kubenetes(k8s) (一)(k8s-master,k8s-node1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/416450

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

90、k8s之secret+configMap

一、secret配置管理 配置管理: 加密配置:保存密码,token,其他敏感信息的k8s资源 应用配置:我们需要定制化的给应用进行配置,我们需要把定制好的配置文件同步到pod当中容器 1.1、加密配置: secret: [root@master01 ~]# kubectl get secrets ##查看加密配置[root@master01 ~]# kubectl get se

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP