手动搭建kubernetes集群(四)

开始改造我们之前搭建的基础集群,加上安全机制。

准备工作

1. 停止master节点的所有服务

查看已有的service

kubectl get services

删除service(例如有一个叫xxx的service)

kubectl delete service xxx

查看已有的deployments

kubectl get deploy

删除deployments

kubectl delete deploy xxx

停止master的服务

service kube-calico stop
service kube-scheduler stop
service kube-controller-manager stop
service kube-apiserver stop
service etcd stop && rm -fr /var/lib/etcd/*

2. 停止worker节点的所有服务

service kubelet stop 
rm -fr /var/lib/kubelet/*
service kube-proxy stop 
rm -fr /var/lib/kube-proxy/*
service kube-calico stop

3. 安装需要的工具

在所有节点上安装cfssl:

CFSSL是CloudFlare开源的一款PKI/TLS工具。 CFSSL 包含一个命令行工具 和一个用于 签名,验证并且捆绑TLS证书的 HTTP API 服务。 用Go写的。具体相关信息自行google。
下载

wget -q --show-progress --https-only --timestamping \
  https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 \
  https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64

修改权限

chmod +x cfssl_linux-amd64 cfssljson_linux-amd64

放到可执行目录

mv cfssl_linux-amd64 /usr/local/bin/cfssl
mv cfssljson_linux-amd64 /usr/local/bin/cfssljson  

在worker节点上安装conntrack

apt install conntrack

4.在master上生成根证书

mkdir -p /etc/kubernetes/ca
cd /etc/kubernetes/ca

编辑ca-config.json文件,内容如下:

{
  "signing": {
    "default": {
      "expiry": "87600h"
    },
    "profiles": {
      "kubernetes": {
        "usages": [
            "signing",
            "key encipherment",
            "server auth",
            "client auth"
        ],
        "expiry": "87600h"
      }
    }
  }
}

编辑ca-csr.json文件,内容如下:

{
  "CN": "kubernetes",
  "key": {
    "algo": "rsa",
    "size": 2048
  },
  "names": [
    {
      "C": "CN",
      "ST": "Beijing",
      "L": "XS",
      "O": "k8s",
      "OU": "System"
    }
  ]
}

执行生成证书的命令:

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

OK。

master节点设置

1. etcd设置

编辑/lib/systemd/system/etcd.service,内容如下:

[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target
Documentation=https://github.com/coreos

[Service]
Type=notify
WorkingDirectory=/var/lib/etcd/
ExecStart=/home/anakin/bin/etcd \
  --name=192.168.32.131 \
  --listen-client-urls=https://192.168.32.131:2379,http://127.0.0.1:2379 \
  --advertise-client-urls=https://192.168.32.131:2379 \
  --data-dir=/var/lib/etcd \
  --listen-peer-urls=https://192.168.32.131:2380 \
  --initial-advertise-peer-urls=https://192.168.32.131:2380 \
  --cert-file=/etc/kubernetes/ca/etcd/etcd.pem \
  --key-file=/etc/kubernetes/ca/etcd/etcd-key.pem \
  --peer-cert-file=/etc/kubernetes/ca/etcd/etcd.pem \
  --peer-key-file=/etc/kubernetes/ca/etcd/etcd-key.pem \
  --trusted-ca-file=/etc/kubernetes/ca/ca.pem \
  --peer-trusted-ca-file=/et
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值