kubernetes部署

2018-09-22  本文已影响0人  渡尘2017

1. 环境搭建前期准备

组件版本

etcd 集群 && k8s master 机器 && k8s node 机器

集群环境变量

后续部署将会使用到的全局变量,定义如下(根据自己的机器、网络修改):

建议使用未用的网段来定义服务网段和Pod 网段

服务网段(Service CIDR),部署前路由不可达,部署后集群内部使用IP:Port可达

$ export SERVICE_CIDR="10.254.0.0/16"

Pod 网段(Cluster CIDR),部署前路由不可达,部署后路由可达(flanneld 保证)

$ export CLUSTER_CIDR="172.30.0.0/16"

服务端口范围(NodePort Range)

$ export NODE_PORT_RANGE="30000-32766"

etcd集群服务地址列表

$ export ETCD_ENDPOINTS="https://ip1:2379,https://ip2:2379,https://ip3:2379"

flanneld 网络配置前缀

$ export FLANNEL_ETCD_PREFIX="/kubernetes/network"

kubernetes 服务IP(预先分配,一般为SERVICE_CIDR中的第一个IP)

$ export CLUSTER_KUBERNETES_SVC_IP="10.254.0.1"

集群 DNS 服务IP(从SERVICE_CIDR 中预先分配)

$ export CLUSTER_DNS_SVC_IP="10.254.0.2"

集群 DNS 域名

$ export CLUSTER_DNS_DOMAIN="cluster.local."

MASTER API Server 地址

$ export MASTER_URL="k8s-api.virtual.local"</pre>

2. 创建CA 证书和密钥

kubernetes 系统各个组件需要使用TLS证书对通信进行加密,这里我们使用CloudFlare的PKI 工具集cfssl 来生成Certificate Authority(CA) 证书和密钥文件, CA 是自签名的证书,用来签名后续创建的其他TLS 证书。

安装 CFSSL

<pre spellcheck="false" class="md-fences md-end-block ty-contain-cm modeLoaded" lang="shell" contenteditable="true" cid="n2710" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: var(--monospace); font-size: 0.9em; display: block; break-inside: avoid; text-align: left; white-space: normal; background-image: inherit; background-position: inherit; background-size: inherit; background-repeat: inherit; background-attachment: inherit; background-origin: inherit; background-clip: inherit; background-color: rgb(248, 248, 248); position: relative !important; border: 1px solid rgb(231, 234, 237); border-radius: 3px; padding: 8px 1em 6px; margin-bottom: 15px; margin-top: 15px; width: inherit; color: rgb(51, 51, 51); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 chmod +x cfssl_linux-amd64
sudo mv cfssl_linux-amd64 /usr/k8s/bin/cfssl ​ wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
chmod +x cfssljson_linux-amd64 sudo mv cfssljson_linux-amd64 /usr/k8s/bin/cfssljson

wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 chmod +x cfssl-certinfo_linux-amd64
sudo mv cfssl-certinfo_linux-amd64 /usr/k8s/bin/cfssl-certinfo ​ export PATH=/usr/k8s/bin:PATH mkdir ssl && cd ssl
cfssl print-defaults config > config.json cfssl print-defaults csr > csr.json</pre>

借鉴于https://blog.qikqiak.com/post/manual-install-high-available-kubernetes-cluster

上一篇下一篇

猜你喜欢

热点阅读