首页计算机应用 › 【cabet566亚洲城】CentOS 7.3利用kubeadm安装Kubernetes 1.7.3完整版

【cabet566亚洲城】CentOS 7.3利用kubeadm安装Kubernetes 1.7.3完整版

设置前记:

近些日子容器对公司的话早就不是何等素不相识的概念,Kubernetes作为谷歌开源的器皿运转平台,受到了大家的热捧。搭建一套完整的kubernetes平台,也改为试用那套平台必须迈过的台阶。kubernetes1.5本子以及此前,安装照旧绝对比较便于的,官方就有通过yum源在CentOS7装置kubernetes。但是在kubernetes1.6后头,安装就比较繁琐了,需求评释各个注解,对于刚先生接触kubernetes的人的话很不本人,根据法定文书档案在地面安装“集群”的来讲,小编认为您确定是跑不起来的,除非你突破了GFW的限制,还要通晓怎样不断修改参数。

令本身惊喜的事,漫天都在说大话kubernetes的无敌,居然一篇能够接济安装的文书档案都找不到(你能够说笔者菜,然而本人找的合法和私下文书档案不下十几篇,无百分之十功)。

本人要好搞了二个礼拜,把kubernetes1.7.3本子(互联网组件选取Calico),终于遵照法定文档+填坑的措施布署成功,写此文希望能帮助越来越多的人布署kubernetes1.7成功。

kubeadm是Kubernetes官方提供的长足安装和开头化Kubernetes集群的工具,这几天的还处在孵化开辟意况,伴随Kubernetes各类版本的公告都会联合立异。
当然,方今的kubeadm是无法用于生产情状的。
但伴随着Kubernetes每便版本晋级,kubeadm都会对集群配置方面包车型大巴片段举办做调治,通过试验kubeadm我们得以学学到Kubernetes官方在集群配置上有些新的特等实施。

CentOS安装Gitlab5.1完整版

找了繁多博客,发现基本都以Ubuntu大概Fedora上设置Gitlab的,基于CentOS的为主皆有荒唐,那篇文章是自个儿二周突击不断测量检验的收获,依照这篇作品安装,包你成功。

系统情状:CentOS 5.8 x86_64

共分多少个步骤

1、安装依赖包

2、安装Ruby、bundle、Python

3、建立git用户

4、安装Gitlab-Shell

5、安装数据库

6、安装Gitlab

7、安装Nginx

一、安装重视包

1.1、导入yum源

yum –y update

yum –y install perl*

导入epel源

rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

1.2安装正视包

yum groupinstall "Development Tools" -y

yum install kernel-devel \  kernel-headers \  zlib-devel \  libyaml-devel \  openssl-devel \  gdbm-devel \  readline-devel \  ncurses-devel \  libffi-devel \  git \  curl \  openssh-server \  redis \  postfix \  libxml2-devel \  libxslt-devel \  perl-Time-HiRes \  curl-devel \  libicu-devel \  mysql-devel -y

如果导入epel源后出现信息的话,那么修改/etc/yum.repos.d/epel.repo 文件

将base前的#去掉,同时将mirror前加入#,完整的如下图所示:

cabet566亚洲城 1

二、安装Ruby、Bundle和Python

2.1、安装ruby

mkdir /tmp/ruby && cd /tmp/rubycurl --progress http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p392.tar.gz | tar xzcd ruby-1.9.3-p392./configuremakemake install

2.2、安装Bundler Gem

gem install bundler

极其注意!!!

安装好Ruby和bundle后,做如下操作,不然前边会被一群的:

sudo: gem: command not found和

/usr/bin/env: ruby: No such file or directory, Could not locate Gemfile

给累死,切记!!!

亟需做的操作:

ln -s /usr/local/bin/ruby /usr/bin/ruby ln -s /usr/local/bin/gem
/usr/bin/gem ln -s /usr/local/bin/bundle /usr/bin/bundle

2.3、安装Python2.7.2

按照

三、建立Git用户

useradd -c 'GitLab' git

visudo

投入一行

git ALL=(ALL) NOPASSWD: ALL

四、安装Gitlab-Shell

下载gitlab-shell

cd /home/gitsudo -u git -H git clone https://github.com/gitlabhq/gitlab-shell.git

切换来适合gitlab5.1的gitlab-shell的安居版本

cd /home/git/gitlab-shellsudo -u git -H git checkout v1.3.0sudo -u git -H cp config.yml.example config.yml

复制配置文件

sudo -u git -H cp config.yml.example config.yml

编排配置文件,将内部的“gitlab_url:

注:测量检验时自身使用的是IP

sudo -u git -H vi config.yml

本人的如下图所示:

cabet566亚洲城 2

那边供给小心的是:ULX570L最前边的/不要去掉!

安装gitlab-shell

sudo -u git -H ./bin/install

设置成果的分界面如下:

cabet566亚洲城 3

五、建立数据库(基于mysql)

yum install mysql mysql-devel mysql-server -y

运行mysql并设置密码

service mysqld startmysqladmin -u root password '你自己的密码'

连日到mysql进行数据库设置

mysql -u root -p

==

mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY 'gitlab';mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost';mysql> \q

测量检验连接

[[email protected] gitlab-shell]# sudo -u git -H mysql -u gitlab -p -D gitlabhq_productionEnter password: Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 5Server version: 5.0.95 Source distributionCopyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> \q

六、安装Gitlab

下载源码并切换来5.1的满面春风版本

cd /home/gitsudo -u git -H git clone https://github.com/gitlabhq/gitlabhq.git gitlabcd /home/git/gitlabsudo -u git -H git checkout 5-1-stable

进展布局

cd /home/git/gitlabsudo -u git -H cp config/gitlab.yml.example config/gitlab.yml

编写制定gitlab.yml文件,将个中的 host:
localhost修改成你的域名照旧IP(小编动用的是IP),如图

sudo -u git -H vi config/gitlab.yml

cabet566亚洲城 4

赋予GIT用户所需的GITLAB的目录和权杖

[[email protected] gitlab]# sudo chown -R git -R log  [[email protected] gitlab]# sudo chown -R git -R tmp[[email protected] gitlab]# sudo chmod -R u+rwX  log/[[email protected] gitlab]# sudo chmod -R u+rwX  tmp/

建立satellites目录

# sudo -u git -H mkdir /home/git/gitlab-satellites

树立PID目录等并赋权

sudo -u git -H mkdir tmp/pids/sudo -u git -H mkdir tmp/sockets/sudo chmod -R u+rwX  tmp/pids/sudo chmod -R u+rwX  tmp/sockets/

建构upload目录,不创设的话backup功用会破产

sudo -u git -H mkdir public/uploadssudo chmod -R u+rwX  public/uploads

复制PUma配置文件

sudo -u git -H cp config/puma.rb.example config/puma.rb

复制数据库配置文件并编辑修改此文件中的用户名和密码为刚刚确立的数据库用户和密码

sudo -u git cp config/database.yml.mysql config/database.ymlsudo -u git -H vi config/database.yml

如图所示:

cabet566亚洲城 5

安装所需的Gems

cd /home/git/gitlabsudo gem install charlock_holmes --version '0.6.9'sudo -u git -H bundle install --deployment --without development test postgres

bundle install会安装相当多正视包,耐心等待便是了,给出二张截图

cabet566亚洲城 6cabet566亚洲城 7

配备GIT用户的全局变量

sudo -u git -H git config --global user.name "GitLab"sudo -u git -H git config --global user.email "[email protected]_DOMAIN_NAME"

cabet566亚洲城 8

启动redis

注:没明白为啥需求redis,据书上说高等特性须要

service redis start

开端化数据库

sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production

即使无错的话,则会油然则生gitlab的暗中同意用户和密码,记录一下密码以便等会登陆

cabet566亚洲城 9

安装运行脚本

curl --output /etc/init.d/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/5-1-stable/init.d/gitlab

chmod +x /etc/init.d/gitlab

施检

sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=productionsudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production

cabet566亚洲城 10cabet566亚洲城 11

假若检查并未经过的话,不要运转,先依照检查的结果来修补,操作系统的那三个石绿不妨

如果报

cabet566亚洲城 12

是因为redis没运转的来由,

service gitlab start启动一下再次执行检查即可

启动

sudo service mysqld startsudo service redis startsudo service gitlab start

附:出现前面包车型的士用户和密码的话,这一步的Gitlab安装就打响了,不过只是能用三千端口,还不能够经过nginx,也便是是说不能够运用gitlab-shell调用,所以还未完全调通;

只要急脾气的人得以先运营调节和测量试验了,但作者提出您先不用运维直到nginx调节和测验达成

bundle exec rails s -e production

代码:

[[email protected] ~]# su -gitsu: invalid option -- gTry `su --help' for more information.[[email protected] ~]# su - git[[email protected] ~]$ cd gitlab[[email protected] gitlab]$ bundle exec rails s -e production -d/usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:216: warning: Insecure world writable dir /home/git/gitlab/vendor/bundle/ruby/1.9.1/bin in PATH, mode 040777/usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:216: warning: Insecure world writable dir /home/git/gitlab/vendor/bundle/ruby/1.9.1/bin in PATH, mode 040777=> Booting WEBrick=> Rails 3.2.13 application starting in production on http://0.0.0.0:3000[[email protected] gitlab]$

七、安装nginx

yum install nginx -y

下载gitlab的nginx配置文件

 curl --output /etc/nginx/conf.d/gitlab.conf https://raw.github.com/gitlabhq/gitlab-recipes/5-1-stable/nginx/gitlab

接下来编辑那一个文件,将这两行

listen YOUR_SERVER_IP:80 default_server; # e.g., listen
192.168.1.1:80;
server_name YOUR_SERVER_FQDN; # e.g., server_name
source.example.com;

修改成你的域名照旧IP,作者的如下:

cabet566亚洲城 13

开发银行nginx,然后用域名也许IP访问,第4回报了个“502 Bad
Gateway”的失实,查gitlab_err.log如下

[[email protected]
gitlab]# tail -f /var/log/nginx/gitlab_error.log
2013/06/18 10:09:49 [crit] 4003#0: *1 stat()
“/home/git/gitlab/public/” failed (13: Permission denied), client:
180.159.220.7, server: 192.161.57.96, request: “GET / HTTP/1.1″, host:
“192.161.57.96″
2013/06/18 10:09:49 [crit] 4003#0: *1 stat()
“/home/git/gitlab/public//index.html” failed (13: Permission denied),
client: 180.159.220.7, server: 192.161.57.96, request: “GET / HTTP/1.1″,
host: “192.161.57.96″
2013/06/18 10:09:49 [crit] 4003#0: *1 stat()
“/home/git/gitlab/public/.html” failed (13: Permission denied), client:
180.159.220.7, server: 192.161.57.96, request: “GET / HTTP/1.1″, host:
“192.161.57.96″
2013/06/18 10:09:49 [crit]【cabet566亚洲城】CentOS 7.3利用kubeadm安装Kubernetes 1.7.3完整版。 4003#0: *1 connect() to
unix:/home/git/gitlab/tmp/sockets/gitlab.socket failed (13: Permission
denied) while connecting to upstream, client: 180.159.220.7, server:
192.161.57.96, request: “GET / HTTP/1.1″, upstream:
“, host:
“192.161.57.96″
2013/06/18 10:09:49 [crit] 4003#0: *1 stat()
“/home/git/gitlab/public/favicon.ico” failed (13: Permission denied),
client: 180.159.220.7, server: 192.161.57.96, request: “GET /favicon.ico
HTTP/1.1″, host: “192.161.57.96″
2013/06/18 10:09:49 [crit] 4003#0: *1 stat()
“/home/git/gitlab/public/favicon.ico/index.html” failed (13: Permission
denied), client: 180.159.220.7, server: 192.161.57.96, request: “GET
/favicon.ico HTTP/1.1″, host: “192.161.57.96″
2013/06/18 10:09:49 [crit] 4003#0: *1 stat()
“/home/git/gitlab/public/favicon.ico.html” failed (13: Permission
denied), client: 180.159.220.7, server: 192.161.57.96, request: “GET
/favicon.ico HTTP/1.1″, host: “192.161.57.96″
2013/06/18 10:09:49 [crit] 4003#0: *1 connect() to
unix:/home/git/gitlab/tmp/sockets/gitlab.socket failed (13: Permission
denied) while connecting to upstream, client: 180.159.220.7, server:
192.161.57.96, request: “GET /favicon.ico HTTP/1.1″, upstream:
“,
host: “192.161.57.96″

器重有2处须要修改,/home/git/gitlab/目录要给权力,然后:/home/git/gitlab/tmp/sockets/gitlab.socket
这么些文件也要给权力,笔者直接给gitlab目录777的权力

[[email protected] gitlab]# chmod -R 777 /home/git/gitlab/

重新开动gitlab和nginx,再度实行拜候

cabet566亚洲城 14

职业有成,分界面出来了~

cabet566亚洲城 15

经过gitlab-shell的命令行检查也成功,耶!

[[email protected]
git]# su – git
[[email protected]
~]$ cd gitlab-shell/
[[email protected]
gitlab-shell]$ ./bin/check
Check GitLab API access: OK
Check directories and files:
/home/git/repositories: OK
/home/git/.ssh/authorized_keys: OK
[[email protected]
gitlab-shell]$

参谋文书档案:

找了过多博客,发掘基本都以Ubuntu恐怕Fedora上设置Gitlab的,基于CentOS的为主都有荒唐,那篇小说是自己二周突击不断...

安装

Kubernetes
1.8早就发布,为了跟上合法更新的台本,接下去感受一下Kubernetes
1.8中的kubeadm。

安装企图

  • 操作系统:CentOS7.3

[root@centos7-base-ok]# cat
/etc/RedHat-release
CentOS Linux release 7.3.1611 (Core)

  • 设置机器:k8s-1为master节点,k8s-2、k8s-3为slave节点

[root@centos7-base-ok]# cat /etc/hosts
127.0.0.1  localhost localhost.localdomain localhost4
localhost4.localdomain4
::1        localhost localhost.localdomain localhost6
localhost6.localdomain6

k8s-1 192.168.80.28
k8s-2 192.168.80.35
k8s-3 192.168.80.14

1.准备

安装步骤

1.1类别安顿

设置docker 1.12(全部节点)

注意:未来docker已经更新到CE版本,但是kubernetes官方文书档案说在1.12上测量试验通过,近些日子版本的包容性未测量试验,为了幸免后边出现大浪湾,我们照旧婴孩安装1.12版本的docker。

1.新建docker.repo文件,将文件移动到/etc/yum.repos.d/目录下

[root@centos7-base-ok]# cat /etc/yum.repos.d/docker.repo
[dockerrepo]
name=Docker Repository
baseurl=
enabled=1
gpgcheck=1
gpgkey=

2.运营yum命令,找到要求安装的docker版本

10:21 [root@centos7-base-ok]# yum list|grep docker | sort -r
python2-avocado-plugins-runner-docker.noarch
python-dockerpty.noarch                0.4.1-6.el7                   
epel
python-dockerfile-parse.noarch          0.0.5-1.el7                   
epel
python-docker-scripts.noarch            0.4.4-1.el7                   
epel
python-docker-pycreds.noarch            1.10.6-1.el7                 
extras
python-docker-py.noarch                1.10.6-1.el7                 
extras
kdocker.x86_64                          4.9-1.el7                     
epel
golang-github-fsouza-go-dockerclient-devel.x86_64
docker.x86_64                         
2:1.12.6-32.git88a4867.el7.centos
docker-v1.10-migrator.x86_64           
2:1.12.6-32.git88a4867.el7.centos
docker-unit-test.x86_64               
2:1.12.6-32.git88a4867.el7.centos
docker-registry.x86_64                  0.9.1-7.el7                   
extras
docker-registry.noarch                  0.6.8-8.el7                   
extras
docker-python.x86_64                    1.4.0-115.el7                 
extras
docker-novolume-plugin.x86_64         
2:1.12.6-32.git88a4867.el7.centos
docker-lvm-plugin.x86_64               
2:1.12.6-32.git88a4867.el7.centos
docker-logrotate.x86_64               
2:1.12.6-32.git88a4867.el7.centos
docker-latest.x86_64                   
1.13.1-13.gitb303bf6.el7.centos
docker-latest-v1.10-migrator.x86_64   
1.13.1-13.gitb303bf6.el7.centos
docker-latest-logrotate.x86_64         
1.13.1-13.gitb303bf6.el7.centos
docker-forward-journald.x86_64          1.10.3-44.el7.centos         
extras
docker-engine.x86_64                    17.05.0.ce-1.el7.centos       
dockerrepo
docker-engine.x86_64                    1.12.6-1.el7.centos           
@dockerrepo
docker-engine-selinux.noarch            17.05.0.ce-1.el7.centos       
@dockerrepo
docker-engine-debuginfo.x86_64          17.05.0.ce-1.el7.centos       
dockerrepo
docker-distribution.x86_64              2.6.1-1.el7                   
extras
docker-devel.x86_64                    1.3.2-4.el7.centos           
extras
docker-compose.noarch                  1.9.0-5.el7                   
epel
docker-common.x86_64                   
2:1.12.6-32.git88a4867.el7.centos
docker-client.x86_64                   
2:1.12.6-32.git88a4867.el7.centos
docker-client-latest.x86_64           
1.13.1-13.gitb303bf6.el7.centos
cockpit-docker.x86_64                  141-3.el7.centos             
extras

3.找到相应版本后,实施yum install -y
包名+版本号,安装1.12版本的docker-engine

[root@centos7-base-ok]# yum install -y
docker-engine.x86_64-1.12.6-1.el7.centos

4.实践docker version命令,验证docker安装版本,推行docker
run命令,验证docker是还是不是安装成功

 [root@centos7-base-ok]# docker version
Client:
 Version:      1.12.6
 API version:  1.24
 Go version:  go1.6.4
 Git commit:  78d1802
 Built:        Tue Jan 10 20:20:01 2017
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.6
 API version:  1.24
 Go version:  go1.6.4
 Git commit:  78d1802
 Built:        Tue Jan 10 20:20:01 2017
 OS/Arch:      linux/amd64

5.安装开机运转,运维容器,docker安装完毕

[root@centos7-base-ok]# systemctl enbale docker && systemctl start
docker

在安装从前,必要先做如下筹算。两台CentOS 7.3主机如下:

安装kubectl、kubelet、kubeadm(依照须要在分歧节点安装)

cat/etc/hosts192.168.61.11node1192.168.61.12node2

留意:此步骤是填坑的始发,因为官方文书档案的yum源在境内无法运用,安装到位后专注观望您的/var/log/message日志,会疯狂报错,别焦急,跟着我一步一步来填坑。

1.新建kubernetes.repo文件,将文件移动到/etc/yum.repos.d/目录下(全部节点)

[root@centos7-base-ok]# cat /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=
enabled=1
gpgcheck=0

2.通过yum安装kubectl、kubelet、kubeadm(全部节点)

[root@centos7-base-ok]# cat /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=
enabled=1
gpgcheck=0

3.修改kubelet配置,运维kubelet(全体节点)

瞩目:时刻查看/var/log/message的日志输出,会看出kubelet从来运营失利。

编辑10-kubeadm.conf的文件,修改cgroup-driver配置:

[root@centos7-base-ok]# cat
/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--kubeconfig=/etc/kubernetes/kubelet.conf
--require-kubeconfig=true"
Environment="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests
--allow-privileged=true"
Environment="KUBELET_NETWORK_ARGS=--network-plugin=cni
--cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin"
Environment="KUBELET_DNS_ARGS=--cluster-dns=10.96.0.10
--cluster-domain=cluster.local"
Environment="KUBELET_AUTHZ_ARGS=--authorization-mode=Webhook
--client-ca-file=/etc/kubernetes/pki/ca.crt"
Environment="KUBELET_CADVISOR_ARGS=--cadvisor-port=0"
Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs"
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS
$KUBELET_SYSTEM_PODS_ARGS $KUBELET_NETWORK_ARGS $KUBELET_DNS_ARGS
$KUBELET_AUTHZ_ARGS $KUBELET_CADVISOR_ARGS $KUBELET_CGROUP_ARGS
$KUBELET_EXTRA_ARGS

将“--cgroup-driver=systems”修改成为“--cgroup-driver=cgroupfs”,重新启航kubelet。

[root@centos7-base-ok]# systemctl restart kubelet

4.下载安装k8s信赖镜像

在意:此步骤特别关键,kubenetes初步化运转会依赖那些镜像,天朝的互连网肯定是拉不下去google的镜像的,平凡人过了上一关,这一关未必过的去,一定要提前把镜像下载到本地,kubeadm安装才会一而再,上面小编会列出来master节点和node依赖的镜像列表。(备注:思考到随着kubernetes版本一直更新,镜像也可能会有转换,大家能够先实行
kubeadm init 生成配置文件,日志输出到
[apiclient] Created API client, waiting for the control plane to become ready
这一行就能卡住不动了,你能够向来实施 ctrl + c 中止命令实行,然后查看
ls -ltr /etc/kubernetes/manifests/
yaml文件列表,每种文件都会写着镜像的地点和本子)
在这里自个儿提三个足以化解下载google镜像的秘籍,正是买一台能够下载的机器,安装代理软件,在须要下载google镜像的机械的docker设置
HTTP_PROXY
配置项,配置好团结的服务代办就可以(也得以一向买能够访谈到google的服务器安装).

master节点:

REPOSITORY                                              TAG             
  IMAGE ID            CREATED            SIZE
quay.io/calico/kube-policy-controller                    v0.7.0         
    fe3174230993        3 days ago          21.94 MB
kubernetesdashboarddev/kubernetes-dashboard-amd64        head           
    e2cadb73b2df        5 days ago          136.5 MB
quay.io/calico/node                                      v2.4.1         
    7643422fdf0f        6 days ago          277.4 MB
gcr.io/google_containers/kube-controller-manager-amd64  v1.7.3         
    d014f402b272        11 days ago        138 MB
gcr.io/google_containers/kube-apiserver-amd64            v1.7.3       
      a1cc3a3d8d0d        11 days ago        186.1 MB
gcr.io/google_containers/kube-scheduler-amd64            v1.7.3       
      51967bf607d3        11 days ago        77.2 MB
gcr.io/google_containers/kube-proxy-amd64                v1.7.3       
      54d2a8698e3c        11 days ago        114.7 MB
quay.io/calico/cni                                      v1.10.0         
  88ca805c8ddd        13 days ago        70.25 MB
gcr.io/google_containers/kubernetes-dashboard-amd64      v1.6.3       
      691a82db1ecd        2 weeks ago        139 MB
quay.io/coreos/etcd                                      v3.1.10       
    47bb9dd99916        4 weeks ago        34.56 MB
gcr.io/google_containers/k8s-dns-sidecar-amd64          1.14.4         
    38bac66034a6        7 weeks ago        41.81 MB
gcr.io/google_containers/k8s-dns-kube-dns-amd64          1.14.4       
      a8e00546bcf3        7 weeks ago        49.38 MB
gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64    1.14.4         
    f7f45b9cb733        7 weeks ago        41.41 MB
gcr.io/google_containers/etcd-amd64                      3.0.17       
      243830dae7dd        5 months ago        168.9 MB
gcr.io/google_containers/pause-amd64                    3.0           
    99e59f495ffa        15 months ago      746.9 kBnode节点:

[root@centos7-base-ok]# docker images
REPOSITORY                                            TAG               
IMAGE ID            CREATED            SIZE
kubernetesdashboarddev/kubernetes-dashboard-amd64    head               
e2cadb73b2df        5 days ago          137MB
quay.io/calico/node                                  v2.4.1             
7643422fdf0f        6 days ago          277MB
gcr.io/google_containers/kube-proxy-amd64            v1.7.3           
  54d2a8698e3c        11 days ago        115MB
quay.io/calico/cni                                    v1.10.0           
88ca805c8ddd        13 days ago        70.3MB
gcr.io/google_containers/kubernetes-dashboard-amd64  v1.6.3           
  691a82db1ecd        2 weeks ago        139MB
nginx                                                latest             
b8efb18f159b        2 weeks ago        107MB
hello-world                                          latest             
1815c82652c0        2 months ago        1.84kB
gcr.io/google_containers/pause-amd64                  3.0             
  99e59f495ffa        15 months ago      747kB

5.应用kubeadm伊始化服务(master节点)

只顾:若是您在上一步实行过 kubeadm init
命令,未有关联,此步试行只须要实施时累加 --skip-preflight-checks
那个布局项就可以。

注意:执行 kubeadm init--pod-network-cidr
参数和抉择的网络组件有关系,详细能够看合土耳其共和国(Türkiye Cumhuriyeti)语档表明,本文选用的互连网组件为
Calico

[root@centos7-base-ok]# kubeadm init
--pod-network-cidr=192.168.0.0/16 --apiserver-advertise-address=0.0.0.0
--apiserver-cert-extra-sans=192.168.80.28,192.168.80.14,192.168.80.35,127.0.0.1,k8s-1,k8s-2,k8s-3,192.168.0.1
--skip-preflight-checks

参数表明:

参数名称 必选 参数说明
pod-network-cidr Yes For certain networking solutions the Kubernetes master can also play a role in allocating network ranges (CIDRs) to each node. This includes many cloud providers and flannel. You can specify a subnet range that will be broken down and handed out to each node with the --pod-network-cidr flag. This should be a minimum of a /16 so controller-manager is able to assign /24 subnets to each node in the cluster. If you are using flannel with this manifest you should use --pod-network-cidr=10.244.0.0/16. Most CNI based networking solutions do not require this flag.
apiserver-advertise-address Yes This is the address the API Server will advertise to other members of the cluster. This is also the address used to construct the suggested kubeadm join line at the end of the init process. If not set (or set to 0.0.0.0) then IP for the default interface will be used.
apiserver-cert-extra-sans Yes Additional hostnames or IP addresses that should be added to the Subject Alternate Name section for the certificate that the API Server will use. If you expose the API Server through a load balancer and public DNS you could specify this with.

其它的 kubeadm 参数设置请参照
合罗马尼亚语书档案

6.做一枚安静的美男子,等待安装成功,安装成功后您会看到日志如下(master节点):

留神:记录这段日志,前面加多node节点要用到。

[apiclient] All control plane components are healthy after 22.003243
seconds
[token] Using token: 33729e.977f7b5d0a9b5f3e
[apiconfig] Created RBAC rules
[addons] Applied essential addon: kube-proxy
[addons] Applied essential addon: kube-dns

Your Kubernetes master has initialized successfully!

To start using your cluster, you need to run (as 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:
 

You can now join any number of machines by running the following on each
node
as root:

  kubeadm join --token xxxxxxx 192.168.80.28:6443

7.创建kube的目录,添加kubectl配置(master节点)

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

8.用 kubectl 增加互连网组件Calico(master节点)

kubectl apply -f

只顾:此处坑为该公文未必下载的到,提出仍然提前下载到本地,然后实施kubectl apply -f <本地路线>

9.认同安装是还是不是成功(master节点)

9.1
张开你的/var/log/messages,查看是或不是有报错,理论上,推行完上一步过去5分钟,日志应该不会有别的不当出现,假使持续报错,並且过了10分钟错误照旧未有消失,检查此前的步调是还是不是反常

9.2 运行 kubectl get pods --all-namespaces
查看结果,若是STATUS都为Running,恭喜您,你的master已经安装成功了。

瞩目:你的结果显示的条数未必和自作者完全等同,因为本身那边有node节点的连锁音讯,而你还未有拉长node节点。

[root@centos7-base-ok]# kubectl get pods --all-namespaces
NAMESPACE    NAME                                      READY    STATUS 
  RESTARTS  AGE
default      nginx-app-1666850838-4z2tb                1/1      Running 
0          3d
kube-system  calico-etcd-0ssdd                          1/1     
Running  0          3d
kube-system  calico-node-1zfxd                          2/2     
Running  1          3d
kube-system  calico-node-s2gfs                          2/2     
Running  1          3d
kube-system  calico-node-xx30v                          2/2     
Running  1          3d
kube-system  calico-policy-controller-336633499-wgl8j  1/1      Running 
0          3d
kube-system  etcd-k8s-1                                1/1      Running 
0          3d
kube-system  kube-apiserver-k8s-1                      1/1      Running 
0          3d
kube-system  kube-controller-manager-k8s-1              1/1     
Running  0          3d
kube-system  kube-dns-2425271678-trmxx                  3/3     
Running  1          3d
kube-system  kube-proxy-79kkh                          1/1      Running 
0          3d
kube-system  kube-proxy-n1g6j                          1/1      Running 
0          3d
kube-system  kube-proxy-vccr6                          1/1      Running 
0          3d
kube-system  kube-scheduler-k8s-1                      1/1      Running 
0          3d

10.装置node节点,试行在master节点实施成功输出的日志语句(node节点施行)

留神:实施如下语句的从前,应当要确定node节点下载了上文提到的镜像,不然因为镜像下载不成事会变成node节点早先化失利;第二点,一定要时刻查看/var/log/messages日志,即便镜像版本产生变化,在日记里会唤起要求下载的镜像;第三点,正是要有耐心,即便您的网络能够下载到镜像,你当个安静的美男子就能够了,因为
kubeadm
会帮您做任何,知道你意识/var/log/messages不再有荒唐日志出现,表达它已经帮您解决了富有专业,你可以欢娱的娱乐了。

[root@centos7-base-ok]# kubeadm join --token xxxxxxxx 192.168.80.28:6443
  1. 验证子节点,在master节点施行 kubectl get nodes 查看节点状态。

只顾:node的地方会生成,增多成功���才是Ready。

[root@centos7-base-ok]# kubectl get nodes
NAME      STATUS    AGE      VERSION
k8s-1    Ready    3d        v1.7.3
k8s-2    Ready    3d        v1.7.3
k8s-3    Ready    3d        v1.7.3

12.恭喜你,你能够快乐的进行kubernetes1.7.3之旅了

假若各种主机启用了防火墙,须求开放Kubernetes种种零部件所急需的端口,能够查看Installing
kubeadm中的”Check
required ports”一节。 这里大约起见在各节点禁止使用防火墙:

设置后记

Kubernetes,想说爱你不轻巧啊
,招待任何协会照旧个体与大家公司拓展沟通,有意向能够商酌区给自身留言。

补偿:目前法定说dashboard的HEAD版本协助1.7,可是小编试了下dashboard确实特别,希望官方加速修复,还或然有正是多些错误定位的方式,不然很难提出具体的难题。

本文恒久更新链接地址:http://www.linuxidc.com/Linux/2018-01/150517.htm

cabet566亚洲城 16

systemctl stop firewalld

systemctl disable firewalld

创建/etc/sysctl.d/k8s.conf文件,增加如下内容:

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

实践sysctl -p /etc/sysctl.d/k8s.conf使修改生效。

禁用SELINUX:

setenforce0

vi/etc/selinux/config

SELINUX=disabled

Kubernetes
1.8初叶渴求关闭系统的Swap,假诺不关门,暗中认可配置下kubelet将无法起动。能够由此kubelet的启航参数–fail-swap-on=false改变那些范围。
咱们这里关闭系统的Swap:

swapoff-a

修改 /etc/fstab 文件,注释掉 SWAP 的活动挂载,使用free
-m确认swap已经停业。

swappiness参数调节,修改/etc/sysctl.d/k8s.conf增多底下一行:

vm.swappiness=0

举办sysctl -p /etc/sysctl.d/k8s.conf使修改生效。

1.2安装Docker

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

yum-config-manager \--add-repo \

查阅当前的Docker版本:

yum list docker-ce.x86_64--showduplicates|sort-r

docker-ce.x86_6417.09.0.ce-1.el7.centosdocker-ce-stable

docker-ce.x86_6417.06.2.ce-1.el7.centosdocker-ce-stable

docker-ce.x86_6417.06.1.ce-1.el7.centosdocker-ce-stable

docker-ce.x86_6417.06.0.ce-1.el7.centosdocker-ce-stable

docker-ce.x86_6417.03.2.ce-1.el7.centosdocker-ce-stable

docker-ce.x86_6417.03.1.ce-1.el7.centosdocker-ce-stable

docker-ce.x86_6417.03.0.ce-1.el7.centosdocker-ce-stable

Kubernetes 1.8曾经针对性Docker的1.11.2, 1.12.6,
1.13.1和17.03.2等版本做了印证。
因为我们那边在各节点安装docker的17.03.2本子。

yum makecache fast

yum install-y--setopt=obsoletes=0\

docker-ce-17.03.2.ce-1.el7.centos\

docker-ce-selinux-17.03.2.ce-1.el7.centossystemctl start docker

systemctl enable docker

Docker从1.13本子开端调整了私下认可的防火墙法则,禁止使用了iptables
filter表中FOWAEnclaveD链,那样会引起Kubernetes集群中跨Node的Pod不恐怕通信,在每个Docker节点实行下边的授命:

iptables-P FORWARD ACCEPT

可在docker的systemd unit文件中以ExecStartPost插足地方的命令:

ExecStartPost=/usr/sbin/iptables-P FORWARD ACCEPT

systemctl daemon-reload

systemctl restart docker

2.安装kubeadm和kubelet

上面在各节点安装kubeadm和kubelet:

cat</etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=

测量检验地点

curl

yum makecache fast

yum install-y kubelet kubeadm
kubectl...Installed:kubeadm.x86_640:1.8.0-0kubectl.x86_640:1.8.0-0kubelet.x86_640:1.8.0-0DependencyInstalled:kubernetes-cni.x86_640:0.5.1-0socat.x86_640:1.7.3.2-2.el7

从安装结果能够看到还设置了kubernetes-cni和socat八个依据:

能够观察官方Kubernetes 1.8借助的cni依旧0.5.1版本

socat是kubelet的依赖

我们事先在Kubernetes 1.6
高可用集群铺排中手动安装这四个依赖的

Kubernetes文档中kubelet的起初参数:

--cgroup-driverstringDriverthat the kubelet uses to manipulate cgroups
on the host.Possiblevalues:'cgroupfs','systemd'(default"cgroupfs")

暗中认可值为cgroupfs,可是我们注意到yum安装kubelet,kubeadm时生成10-kubeadm.conf文件少将那一个参数值改成了systemd。

转载本站文章请注明出处:ca888亚洲城唯一官网 https://www.axypet.com/?p=2217

上一篇:

下一篇:

相关文章