k8s安装配置

原创
2019/03/28 13:57
阅读数 2.2K

1.  安装docker

操作系统CentOS 7.x版本,Linux内核版本必须是3.10以上
yum -y update
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
开机启动docker
systemctl enable docker


2. 配置docker国内镜像加速

修改 /etc/docker/daemon.json 文件,如果没有就创建,可以自己去阿里云申请自己的加速地址

文件内容如下:

{

"registry-mirrors": ["https://dockerhub.azk8s.cn"],

"log-driver":"json-file",

"log-opts":{"max-size":"10m"}

}

3.禁用防火墙

systemctl stop firewalld

systemctl disable firewalld

4.禁用SELINUX

#vi /etc/selinux/config

SELINUX=disabled

5.修改网络参数配置

#vi /etc/sysctl.conf

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

net.ipv4.ip_forward=1

6.禁用swap

###k8s 1.8开始要求必须禁用Swap,如果不关闭,默认配置下kubelet将无法启动.###

vi /etc/fstab

###删除swap交换分区###

#/swap.img none swap sw 0 0

###然后运行###

sudo swapoff -a

7.增加k8s阿里云仓库

#vi /etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=kubernetes

baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/

enabled=1

gpgcheck=1

repo_gpgcheck=1

gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

8.安装kubelet kubeadm kubectl

yum clean all

yum install -y kubelet kubeadm kubectl

systemctl enable kubelet

9.安装k8s

kubeadm init --image-repository gcr.azk8s.cn/google_containers --kubernetes-version v1.17.4 --pod-network-cidr=192.168.0.0/16

10.安装calico网络插件

wget https://docs.projectcalico.org/v3.10/manifests/calico.yaml

###可以修改文件中的 192.168.0.0/16,和kubeadm init中的 --pod-network-cidr=192.168.0.0/16 保持一致###

kubectl apply -f calico.yaml

11.master也作为node节点

默认情况下,由于安全原因,集群并不会将pods部署在Master节点上,一般也建议这样做,如果服务器较少做集群时,可以开启.在开发环境下,可能只有一个Master节点,命令来解除这个限制:

kubectl taint nodes --all node-role.kubernetes.io/master-

###输出###

node/master untainted

 

###初始化root环境变量,如果发现无法访问APIServer(8080端口),就设置一下####

export KUBECONFIG=/etc/kubernetes/admin.conf

###使环境变量生效###

source /root/.bash_profile

 

12.加入node节点

在node节点上安装 kubelet kubeadm kubectl

yum clean all

yum install -y kubelet kubeadm kubectl

systemctl enable kubelet

要为群集添加工作节点,需要在每台node工作节点执行以下操作:

kubeadm join <master-ip>:<master-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>

master安装完成之后,会输出类似的加入命令:

kubeadm join 10.0.8.63:6443 --token upwdcc.j90bhmkkwdklpm2f --discovery-token-ca-cert-hash sha256:7e79e6d0a6cda249479baf03103ebfa71398b69084537327f1a02a1a12d94481

如果忘记了Master节点的加入token,可以使用如下命令来查看:

kubeadm token list

##默认token有效期是24小时,如果token已经过期,以下命令重新生成:##

kubeadm token create

###生成--discovery-token-ca-cert-hash的值:###

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

展开阅读全文
打赏
1
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
1
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部