分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

kubernetes实践之一:kubernetes二进制包安装

发布时间:2023-09-06 02:35责任编辑:傅花花关键词:kubernetes

kubernetes二进制部署

1、环境规划

软件

版本

Linux操作系统

CentOS Linux release 7.6.1810 (Core)

Kubernetes

1.9

Docker

18.09.3

etcd

3.3.10

角色

IP

组件

推荐配置

k8s_master

etcd01

192.168.1.153

kube-apiserver

kube-controller-manager

kube-scheduler

etcd

CPU 2核+ 2G内存+

k8s_node01

etcd02

192.168.1.154

kubelet

kube-proxy

docker

flannel

etcd

k8s_node02

etcd03

192.168.1.155

kubelet

kube-proxy

docker

flannel

etcd

2、 单Master集群架构

          

3、 系统常规参数配置

3.1 关闭selinux

sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config

setenforce 0

3.2 文件数调整

      sed -i ‘/* soft nproc 4096/d‘ /etc/security/limits.d/20-nproc.conf

      echo ‘* - nofile 65536‘ >> /etc/security/limits.conf

      echo ‘* soft nofile 65535‘ >> /etc/security/limits.conf

      echo ‘* hard nofile 65535‘ >> /etc/security/limits.conf

      echo ‘fs.file-max = 65536‘ >> /etc/sysctl.conf

3.3 防火墙关闭

systemctl disable firewalld.service

systemctl stop firewalld.service

3.4 常用工具安装及时间同步

yum -y install vim telnet iotop openssh-clients openssh-server ntp net-tools.x86_64 wget

ntpdate time.windows.com

3.5 hosts文件配置(3个节点)

vim /etc/hosts

192.168.1.153 k8s_master

       192.168.1.154 k8s_node01

       192.168.1.155 k8s_node02

3.6 服务器之间免密钥登录

ssh-keygen

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.154

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.155

4、 自签ssl证书

                                  

4.1 etcd生成证书

cfssl.sh

etcd-cert.sh

etcd.sh

4.1.1 安装cfssl工具(cfssl.sh)

      cd /home/k8s_install/ssl_etcd

      chmod +x cfssl.sh

      ./cfssl.sh

内容如下:

curl -L https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 -o /usr/local/bin/cfssl

      curl -L https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 -o /usr/local/bin/cfssljson

      curl -L https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 -o /usr/local/bin/cfssl-certinfo

      chmod +x /usr/local/bin/cfssl /usr/local/bin/cfssljson /usr/local/bin/cfssl-certinfo

4.1.2 生成etcd 自签ca证书(etcd-cert.sh)

      chmod +x etcd-cert.sh

      ./etcd-cert.sh

内容如下:

cat > ca-config.json <<EOF

{

"signing": {

"default": {

"expiry": "87600h"

},

"profiles": {

"www": {

"expiry": "87600h",

"usages": [

"signing",

"key encipherment",

"server auth",

"client auth"

]

}

}

}

}

EOF

cat > ca-csr.json <<EOF

{

"CN": "etcd CA",

"key": {

"algo": "rsa",

"size": 2048

},

"names": [

{

"C": "CN",

"L": "Beijing",

"ST": "Beijing"

}

]

}

EOF

cfssl gencert -initca ca-csr.json | cfssljson -bare ca –

#-----------------------

cat > server-csr.json <<EOF

{

"CN": "etcd",

"hosts": [

"192.168.1.153",

"192.168.1.154",

"192.168.1.155",

"192.168.1.156",

"192.168.1.157"

],

"key": {

"algo": "rsa",

"size": 2048

},

"names": [

{

"C": "CN",

"L": "BeiJing",

"ST": "BeiJing"

}

]

}

EOF

cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=www server-csr.json | cfssljson -bare server

注意:hosts一定要包含所有节点,可以多部署几个预留节点以便后续扩容,否则还需要重新生成

4.1.3 etcd二进制包安装

#存放配置文件,可执行文件,证书文件

mkdir /opt/etcd/{cfg,bin,ssl} -p

#ssl 证书切记复制到/opt/etcd/ssl/

cp {ca,server-key,server}.pem /opt/etcd/ssl/

#部署etcd以及增加etcd服务(etcd.sh)

cd /home/k8s_install/soft/

tar -zxvf etcd-v3.3.10-linux-amd64.tar.gz

cd etcd-v3.3.10-linux-amd64

mv etcd etcdctl /opt/etcd/bin/

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved