Kubernetes入门(五)

周萝卜 2020/5/25 13:26:28

“ 今天我们一起来手动安装下K8S吧,使用kubeadm工具,好像还不是很难呢” 神奇的家伙 01.安装kubeadm 配置yum源 首先配置Kubernetes和docker的yum源(这里使用阿里云的镜像服务器) vim /etc/yum.repos.d/kubernetes.repo [kubernetes] name=kubernetes baseurl=https:…

“ 今天我们一起来手动安装下K8S吧,使用kubeadm工具,好像还不是很难呢”

神奇的家伙

01.安装kubeadm

配置yum源

首先配置Kubernetes和docker的yum源(这里使用阿里云的镜像服务器)

vim /etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=kubernetes

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

gpgcheck=0

enable=1

cd /etc/yum.repos.d/

wgethttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum clean all

yum repolist

安装kubeadm和docker

yum install docker-cekubelet-1.11.1 kubeadm-1.11.1 kubectl-1.11.1 kubernetes-cni

启动相关服务

systemctl enable docker

systemctl enablekubelet.service

systemctl start docker

systemctl startkubelet

02.拉取其他组件
Kubernetes的其他组件镜像都是托管在Google云上的,在没有科学上网的情况下是无法直接下载的。还好有大神每天把镜像都同步到GitHub上了,https://github.com/anjia0532/gcr.io_mirror,我们可以使用下面这个小脚本来拉取。

vim pullkubeimages.sh

#!/bin/bash

images=(kube-proxy-amd64:v1.11.1kube-scheduler-amd64:v1.11.1 kube-controller-manager-amd64:v1.11.1

kube-apiserver-amd64:v1.11.1etcd-amd64:3.2.18 coredns:1.1.3 pause:3.1 )

for imageName in${images[@]} ; do

docker pullanjia0532/google-containers.$imageName

docker taganjia0532/google-containers.imageNamek8s.gcr.io/imageName k8s.gcr.io/imageNamek8s.gcr.io/imageName

docker rmianjia0532/google-containers.$imageName

done

chmod +x pullkubeimages.sh

sh pullkubeimages.sh

03.禁用swap
Kubenetes是不允许开启swap分区的,所以需要禁用掉。

禁用swap分区

swapoff -a

永久禁用

sudo vi /etc/fstab

把/dev/mapper/centos-swap swap这行注释掉

修改如下文件

vim/etc/sysconfig/kubelet

KUBELET_EXTRA_ARGS="–fail-swap-on=false"

04.定制化kubeadm(可选)

编写kubeadm.yaml,定制化Kubernetes集群配置

vim kubeadm.yaml

apiVersion:kubeadm.k8s.io/v1alpha1

kind:MasterConfiguration

controllerManagerExtraArgs:

horizontal-pod-autoscaler-use-rest-clients:“true”

horizontal-pod-autoscaler-sync-period:“10s”

node-monitor-grace-period: “10s”

apiServerExtraArgs:

runtime-config: “api/all=true”

kubernetesVersion:“v1.11.1”

04.开始部署
执行如下命令

kubeadm init --config kubeadm.yaml
如果一切顺利,只需要几分钟就可以完成Master的部署,最后会输出如下:

You can now join any number of machines by running thefollowing on each node

as root:

kubeadm join 10.150.1.185:6443–token gb731y.6pczaxc6gghcujsm --discovery-token-ca-cert-hashsha256:6cf05e40a2fde4a36c4d5a65e3e266b105b0671c66656b54838817deed491fb0

是用于Worker节点接入Master时使用。

认证配置

Kubeadm还会提示如下操作:

To start using your cluster, you need to run thefollowing as a regular user:

mkdir -p $HOME/.kube

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

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

Kubenertes集群默认需要加密方式访问,所以这几条命令就是将刚刚部署生成的Kubernetes集群的安全配置文件,保存到当前用户的.kube目录下,kubectl默认会使用这个目录下的授权文件访问Kubernetes集群。

部署网络插件

一键部署

kubectl apply -f https://git.io/weave-kube-1.6
查看状态

kubectl get pods -n kube-system
[root@localhost ~]# kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-78fcdf6894-csxpw 1/1 Running 0 27m
coredns-78fcdf6894-td848 1/1 Running 0 27m
etcd-localhost.localdomain 1/1 Running 0 26m
kube-apiserver-localhost.localdomain 1/1 Running 0 26m
kube-controller-manager-localhost.localdomain 1/1 Running 0 26m
kube-proxy-v78j8 1/1 Running 0 27m
kube-scheduler-localhost.localdomain 1/1 Running 0 26m
weave-net-vcnb6 2/2 Running 0 44s
现在都是running状态,说明到目前位置部署正常。

部署Worker节点

第一步,在worker节点安装docker和kubeadm等,同“安装kubeadm“一节。

第二步,执行刚刚生成的命令

kubeadmjoin 10.150.1.185:6443 --token gb731y.6pczaxc6gghcujsm–discovery-token-ca-cert-hash sha256:6cf05e40a2fde4a36c4d5a65e3e266b105b0671c66656b54838817deed491fb0

调整Taint污点

默认情况下,Master节点时不允许运行用户Pod的,现在我们修改配置,去掉污点,让Mastered也加入调度

kubectl taint nodes --all node-role.kubernetes.io/master-
再次查看配置

污点已经去除,Master已经可以调度

当然最后还是安装一下kubernetes-dashboard,毕竟可视化为王嘛,就留待后面再摸索吧。

随时随地学软件编程-关注百度小程序和微信小程序
关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[Kubernetes入门(五)]http://www.zyiz.net/tech/detail-137174.html

上一篇:还不会K8S吗?先从kubeadm开始吧

下一篇:Kubernetes入门(四)

赞(0)

共有 条评论 网友评论

验证码: 看不清楚?
    关注微信小程序
    程序员编程王-随时随地学编程

    扫描二维码或查找【程序员编程王】

    可以随时随地学编程啦!

    技术文章导航 更多>
    扫一扫关注最新编程教程