kubernetes(k8s)单节点部署

本文详细介绍了如何进行Kubernetes的单节点部署,包括master节点的初始化设置,赋予bootstrap角色权限,以及node节点的配置和加入集群的过程。重点涉及了master节点的操作,如证书管理、配置文件修改以及节点的加入和验证。
摘要由CSDN通过智能技术生成

一、master节点部署

[root@master1 ~]# cd k8s/
[root@master1 ~/k8s]# mkdir k8s-cert
[root@master1 ~/k8s]# cd k8s-cert/
[root@master1 ~/k8s/k8s-cert]# vim k8s-cert.sh

cat > ca-config.json <<EOF
{
  "signing": {
    "default": {
      "expiry": "87600h"
    },
    "profiles": {
      "kubernetes": {
         "expiry": "87600h",
         "usages": [
            "signing",
            "key encipherment",
            "server auth",
            "client auth"
        ]
      }
    }
  }
}
EOF

cat > ca-csr.json <<EOF
{
    "CN": "kubernetes",
    "key": {
        "algo": "rsa",
        "size": 2048
    },
    "names": [
        {
            "C": "CN",
            "L": "Beijing",
            "ST": "Beijing",
      	    "O": "k8s",
            "OU": "System"
        }
    ]
}
EOF

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

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

cat > server-csr.json <<EOF
{
    "CN": "kubernetes",
    "hosts": [
      "10.0.0.1",
      "127.0.0.1",
      "192.168.153.10",           #master1IP
      "192.168.153.20",           #master2IP
      "192.168.153.188",          #虚拟IP,nginx主机做keepalived使用
      "192.168.153.50",           #nginx1IP
      "192.168.153.60",           #nginx2IP
      "kubernetes",
      "kubernetes.default",
      "kubernetes.default.svc",
      "kubernetes.default.svc.cluster",
      "kubernetes.default.svc.cluster.local"
    ],
    "key": {
        "algo": "rsa",
        "size": 2048
    },
    "names": [
        {
            "C": "CN",
            "L": "BeiJing",
            "ST": "BeiJing",
            "O": "k8s",
            "OU": "System"
        }
    ]
}
EOF

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

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

cat > admin-csr.json <<EOF
{
  "CN": "admin",
  "hosts": [],
  "key": {
    "algo": "rsa",
    "size": 2048
  },
  "names": [
    {
      "C": "CN",
      "L": "BeiJing",
      "ST": "BeiJing",
      "O": "system:masters",
      "OU": "System"
    }
  ]
}
EOF

cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes admin-csr.json | cfssljson -bare admin

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

cat > kube-proxy-csr.json <<EOF
{
  "CN": "system:kube-proxy",
  "hosts": [],
  "key": {
    "algo": "rsa",
    "size": 2048
  },
  "names": [
    {
      "C": "CN",
      "L": "BeiJing",
      "ST": "BeiJing",
      "O": "k8s",
      "OU": "System"
    }
  ]
}
EOF

cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes kube-proxy-csr.json | cfssljson -bare kube-proxy

[root@master1 ~/k8s/k8s-cert]# bash k8s-cert.sh

在这里插入图片描述

[root@master1 ~/k8s/k8s-cert]# ls *.pem

在这里插入图片描述

[root@master1 ~/k8s/k8s-cert]# cp ca*pem server*pem /opt/kubernetes/ssl/
[root@master1 ~/k8s/k8s-cert]# cd ..
#拉入软件包kubernetes-server-linux-amd64.tar.gz
[root@master1 ~/k8s]# tar zxvf kubernetes-server-linux-amd64.tar.gz
[root@master1 ~/k8s]# chmod +x controller-manager.sh
[root@master1 ~/k8s]# cd kubernetes/server/bin/
[root@master1 ~/k8s/kubernetes/server/bin]# cp kube-apiserver kubectl kube-controller-manager kube-scheduler /opt/kubernetes/bin/
[root@master1 ~/k8s/kubernetes/server/bin]# cd ~/k8s/
[root@master1 ~/k8s]<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值