k8s内网安装部署(二)

续上篇

https://www.cnblogs.com/wangql/p/13397034.html

一、kubeadm安装

1.kube-proxy开启ipvs的前置条件

modprobe br_netfilter//加载net filter模块

cat > /etc/sysconfig/modules/ipvs.modules <

#!/bin/bash

modprobe -- ip_vs

modprobe -- ip_vs_rr

modprobe -- ip_vs_wrr

modprobe -- ip_vs_sh

modprobe -- nf_conntrack_ipv4

EOF

chmod 755/etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules &&  lsmod | grep -e ip_vs -e nf_conntrack_ipv4

2.安装docker软件

下载地址:https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/test/Packages/

docker-ce-17.03.3.ce-1.el7.x86_64.rpm

docker-ce-selinux-17.03.3.ce-1.el7.noarch.rpm

yum install -y yum-utils device-mapper-persistent-data lvm2  bind-utils

yum -y install docker-ce

## 创建 /etc/docker 目录

mkdir /etc/docker

# 配置 daemon. 加速(内网可以不配置,只配置自己私有仓库)

cat > /etc/docker/daemon.json <

{"insecure-registries":["192.168.4.88:5000"]  #这里我用的是内网的仓库

}

EOF

mkdir -p /etc/systemd/system/docker.service.d

# 重启docker服务

systemctl daemon-reload && systemctl restart docker && systemctl enable docker

重启一下系统看看内核有没有变

3.安装 Kubeadm (主从配置)

把包做成yum源

yum -y install kubeadm-1.15.1kubectl-1.15.1kubelet-1.15.1systemctl enable kubelet.service

解压镜像

tar -xvf kubeadm-basic.images.tar.gz    #需要安装包的话可在我的公众号【大隆爱分享】获取

4.初始化主节点

注:集群初始化如果遇到问题,可以使用下面的命令进行清理:

kubeadm reset 

1】配置私有仓库地址

[root@k8s-master01 flannel]# cat /etc/docker/daemon.json

{

"exec-opts": ["native.cgroupdriver=systemd"],

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

"log-opts": {

"max-size":"100m"

},

"insecure-registries":["192.168.4.88:5000"]        //加自己的私有仓库地址}

初始化主机点(只需要主做)

kubeadm config print init-defaults > kubeadm-config.yaml

vim kubeadm-config.yaml

12advertiseAddress:192.168.4.10//当前服务器节点地址32imageRepository:192.168.4.88:5000//自己私有仓库地址34kubernetesVersion: v1.15.1//版本号36  dnsDomain: cluster.local37podSubnet:"10.244.0.0/16"//添加这一行pod的网段38serviceSubnet:10.96.0.0/12//默认即可---//添加下面的,默认把调度方式改为IP VSapiVersion: kubeproxy.config.k8s.io/v1alpha1

kind: KubeProxyConfiguration

featureGates:

SupportIPVSProxyMode: truemode: ipvs


kubeadm init --config=kubeadm-config.yaml --experimental-upload-certs | tee kubeadm-init.log//指定yaml文件以及颁发证书  把所有信息都写到kubeadm-init.log中............

...........

Your Kubernetes control-plane has initialized successfully!//代表初始化成功

To start usingyour cluster, you need to run the followingas a regular user:

  mkdir -p $HOME/.kube

  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

  sudo chown $(id -u):$(id -g) $HOME/.kube/config

You should now deploy a pod network to the cluster.

Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:

  https://kubernetes.io/docs/concepts/cluster-administration/addons/

Then you can join any number of worker nodes by running the following on each as root:

kubeadm join 192.168.4.10:6443--token abcdef.0123456789abcdef \

    --discovery-token-ca-cert-hash sha256:bb6ae2db244800ce95a72e47e715a01dbc1aa712d0fec5a252e572b5a33cd083

执行

cd /etc/kubernetes/pki/

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config    //拷贝集群管理员的配置文件

sudo chown $(id -u):$(id -g) $HOME/.kube/config    //授权 当前属主属者

[root@k8s-master01 ~]# kubectlgetnode//查看当前节点

NAME          STATUS    ROLES    AGE    VERSION

k8s-master01  NotReady  master  4m37s  v1.15.1

5.部署网络

mkdir install-k8s

mv kubeadm-config.yaml  kubeadm-init.log install-k8s///把重要文件放到这个里面

cd install-k8s/mkdir core

mv kubeadm-* core/

mkdir plugin

cd plugin/ mkdir flannel

cd flannel/

下载地址:wget https:

//raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

[root@k8s-master01 flannel]# vim kube-flannel.yml

172image:192.168.4.88:5000/flannel:v1//镜像地址186image:192.168.4.88:5000/flannel:v1//里面的全都要改192- --iface=eth0//指定网卡,都要改

创建flannel.yml

kubectl apply -f kube-flannel.yml

都是Running说明成功

[root@k8s-master01 flannel]# kubectlgetpod -n kube-system

NAME                                  READY  STATUS    RESTARTS  AGE

coredns-6f5f787f5b-cch5j1/1Running0          15m

coredns-6f5f787f5b-fscnt1/1Running0          15m

etcd-k8s-master011/1Running0          15m

kube-apiserver-k8s-master011/1Running0          14m

kube-controller-manager-k8s-master011/1Running0          15m

kube-flannel-ds-amd64-q4hnk1/1Running0          10m

kube-proxy-pfhj21/1Running0          15m

kube-scheduler-k8s-master011/1Running0          15m

[root@k8s-master01 flannel]# kubectlget node

NAME          STATUS  ROLES    AGE  VERSION

k8s-master01  Ready    master  17m  v1.15.1

6. node节点加入

日志最后一行在从节点执行即可

 在这个文件里    kubeadm-init.log

kubeadm join192.168.4.10:6443--token abcdef.0123456789abcdef \

    --discovery-token-ca-cert-hash sha256:bb6ae2db244800ce95a72e47e715a01dbc1aa712d0fec5a252e572b5a33cd083

7.节点下载方法

kubeadm config print init-defaults >kubeadm.conf

将配置文件的imageRepository: 修改为自己的私有仓

imageRepository: docker.emarbox.com/google_containers

kubernetesVersion 改为自有版本

kubernetesVersion: v1.15.1kubeadm config images list --config kubeadm.conf

kubeadm config images pull --config kubeadm.conf


8.节点操作

下载镜像:这些镜像在我的镜像仓库里

docker pull 192.168.4.88:5000/flannel:v1

docker pull 192.168.4.88:5000/pause:3.1docker 

pull 192.168.4.88:5000/kube-proxy:v1.15.1

9.报错解决

报错信息

error execution phase preflight: couldn't validate the identity of the API Server: abort connecting to API servers after timeout of 5m0s

报错原因: 与API服务器认证失败,八成token失效了,

查看token

kubeadm token list

创建token

kubeadm token create

kubeadm token list

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

kubeadm join 192.168.4.10:6443--token abcdef.0123456789abcdef \    把这个token换掉

    --discovery-token-ca-cert-hash sha256:eb1e1a3ce9e819ebafdf73b8a4819e2e40d9da6dfdb0272a4ab1925be3fc12f3//重新加入试试


node节点不能查看

[root@k8s-node02 ~]# kubectlget node

The connection to the server localhost:8080was refused - did you specify the right host or port?

将主节点(master节点)中的【/etc/kubernetes/admin.conf】文件拷贝到从节点相同目录下:

scp /etc/kubernetes/admin.conf192.168.4.63:/etc/kubernetes/.

node上

echo "export KUBECONFIG=/etc/kubernetes/admin.conf">> ~/.bash_profile

source ~/.bash_profile


二、移除节点

Master上:

[root@k8s-master01 ~]# kubectl  drain k8s-node02 --delete-local-data  --force  --ignore-daemonsets

node/k8s-node02 cordoned

WARNING: ignoring DaemonSet-managed Pods: kube-system/kube-flannel-ds-amd64-l4j57, kube-system/kube-proxy-9d9nv

node/k8s-node02 drained

[root@k8s-master01 ~]# kubectl  delete node k8s-node02

node "k8s-node02" deleted

[root@k8s-master01 ~]# kubectlget node

NAME          STATUS  ROLES    AGE    VERSION

k8s-master01  Ready    master  4d19h  v1.15.1k8s-node01    Ready      5m49s  v1.15.1

加回来:

[root@k8s-node02 docker.service.d]# systemctl  stop kubelet

[root@k8s-node02 docker.service.d]# rm -rf /etc/kubernetes/*[root@k8s-node02 docker.service.d]# kubeadm join 192.168.4.10:6443 --token v2xaat.qip3csxdge8vicxj    --discovery-token-ca-cert-hash sha256:eb1e1a3ce9e819ebafdf73b8a4819e2e40d9da6dfdb0272a4ab1925be3fc12f3

[root@k8s-node02 docker.service.d]# kubectl  get nodes

NAME          STATUS  ROLES    AGE    VERSION

k8s-master01  Ready    master  4d19h  v1.15.1

k8s-node01    Ready    <none>  21m    v1.15.1

k8s-node02    Ready    <none>  18s    v1.15.1

还有好多没来的及整理,会慢慢更新,欢迎点赞关注。

©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,817评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,329评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,354评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,498评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,600评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,829评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,979评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,722评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,189评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,519评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,654评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,940评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,762评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,993评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,382评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,543评论 2 349

推荐阅读更多精彩内容