Delete tenxcloud registry

pull/383/head
Jimmy song 2019-10-08 23:28:08 +08:00
parent f9680ae652
commit 3c0d0704f9
13 changed files with 31 additions and 82 deletions

View File

@ -4,7 +4,7 @@
## 安装依赖 ## 安装依赖
``` ```bash
brew install gnu-tar brew install gnu-tar
``` ```
@ -18,16 +18,10 @@ Docker环境至少需要给容器分配4G内存在低于3G内存的时候
需要用的的docker镜像 需要用的的docker镜像
``` ```bash
gcr.io/google_containers/kube-cross:v1.7.5-2 gcr.io/google_containers/kube-cross:v1.7.5-2
``` ```
我将该镜像备份到时速云上了,可供大家使用:
```
index.tenxcloud.com/jimmy/kube-cross:v1.7.5-2
```
该镜像基于Ubuntu构建大小2.15G,编译环境中包含以下软件: 该镜像基于Ubuntu构建大小2.15G,编译环境中包含以下软件:
- Go1.7.5 - Go1.7.5

View File

@ -29,9 +29,7 @@ Kubernetes官方提供了EFK的日志收集解决方案但是这种方案并
![filebeat日志收集架构图](../images/filebeat-log-collector.png) ![filebeat日志收集架构图](../images/filebeat-log-collector.png)
我们创建了自己的filebeat镜像。创建过程和使用方式见https://github.com/rootsongjc/docker-images 我们创建了自己的filebeat镜像。创建过程和使用方式见 <https://github.com/rootsongjc/docker-images>,您可以使用该仓库中的源码创建镜像。
镜像地址:`index.tenxcloud.com/jimmy/filebeat:5.4.0`
## 测试 ## 测试

View File

@ -26,16 +26,11 @@ kubectl delete -f dashboard/
wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
``` ```
修改其中的两个镜像地址为我们的私有地址 注意:其中两个镜像使用 `gcr.io` 仓库,若您无法访问该仓库请换用其他仓库
- gcr.io/google_containers/kubernetes-dashboard-init-amd64:v1.0.1 - gcr.io/google_containers/kubernetes-dashboard-init-amd64:v1.0.1
- gcr.io/google_containers/kubernetes-dashboard-amd64:v1.7.1 - gcr.io/google_containers/kubernetes-dashboard-amd64:v1.7.1
这个两个镜像可以同时从**时速云**上获取:
- index.tenxcloud.com/jimmy/kubernetes-dashboard-amd64:v1.7.1
- index.tenxcloud.com/jimmy/kubernetes-dashboard-init-amd64:v1.0.1
将service type设置为`NodePort`修改后的yaml文件见[kubernetes-dashboard.yaml](https://github.com/rootsongjc/kubernetes-handbook/tree/master/manifests/dashboard-1.7.1/kubernetes-dashboard.yaml)然后就可以部署新版本的dashboard了。 将service type设置为`NodePort`修改后的yaml文件见[kubernetes-dashboard.yaml](https://github.com/rootsongjc/kubernetes-handbook/tree/master/manifests/dashboard-1.7.1/kubernetes-dashboard.yaml)然后就可以部署新版本的dashboard了。
```bash ```bash

View File

@ -12,7 +12,7 @@
本文中使用的镜像、kubernetes应用的yaml配置来自我的另一个项目请参考https://github.com/rootsongjc/distributed-load-testing-using-kubernetes 本文中使用的镜像、kubernetes应用的yaml配置来自我的另一个项目请参考https://github.com/rootsongjc/distributed-load-testing-using-kubernetes
`sample-webapp` 目录下包含一个简单的web测试应用。我们将其构建为docker镜像在kubernetes中运行。你可以自己构建,也可以直接用这个我构建好的镜像`index.tenxcloud.com/jimmy/k8s-sample-webapp:latest`。 `sample-webapp` 目录下包含一个简单的web测试应用。我们将其构建为docker镜像在kubernetes中运行。
在kubernetes上部署sample-webapp。 在kubernetes上部署sample-webapp。
@ -27,21 +27,25 @@ $ kubectl create -f sample-webapp-service.yaml
`locust-master`和`locust-work`使用同样的docker镜像修改cotnroller中`spec.template.spec.containers.env`字段中的value为你`sample-webapp` service的名字。 `locust-master`和`locust-work`使用同样的docker镜像修改cotnroller中`spec.template.spec.containers.env`字段中的value为你`sample-webapp` service的名字。
```yaml
- name: TARGET_HOST - name: TARGET_HOST
value: http://sample-webapp:8000 value: http://sample-webapp:8000
```
### 创建Controller Docker镜像可选 ### 创建Controller Docker镜像可选
`locust-master`和`locust-work` controller使用的都是`locust-tasks` docker镜像。你可以直接下载`gcr.io/cloud-solutions-images/locust-tasks`也可以自己编译。自己编译大概要花几分钟时间镜像大小为820M。 `locust-master`和`locust-work` controller使用的都是`locust-tasks` docker镜像。你可以直接下载`gcr.io/cloud-solutions-images/locust-tasks`也可以自己编译。自己编译大概要花几分钟时间镜像大小为820M。
$ docker build -t index.tenxcloud.com/jimmy/locust-tasks:latest . ```bash
$ docker push index.tenxcloud.com/jimmy/locust-tasks:latest $ docker build -t jimmysong/locust-tasks:latest .
$ docker push jimmysong/locust-tasks:latest
**注意**:我使用的是时速云的镜像仓库。 ```
每个controller的yaml的`spec.template.spec.containers.image` 字段指定的是我的镜像: 每个controller的yaml的`spec.template.spec.containers.image` 字段指定的是我的镜像:
image: index.tenxcloud.com/jimmy/locust-tasks:latest ```ini
image: jimmysong/locust-tasks:latest
```
### 部署locust-master ### 部署locust-master
```bash ```bash

View File

@ -2,11 +2,7 @@
## 准备镜像 ## 准备镜像
官方镜像保存在 gcr.io 中需要翻墙才能下载,为了方便大家使用,我下载后放到了[时速云](http://www.tenxcloud.com)中,为公有镜像供大家下载。 官方镜像保存在 gcr.io 中需要翻墙才能下载,请自行拷贝到私有仓库。
- index.tenxcloud.com/jimmy/heapster-amd64:v1.3.0-beta.1
- index.tenxcloud.com/jimmy/heapster-influxdb-amd64:v1.1.1
- index.tenxcloud.com/jimmy/heapster-grafana-amd64:v4.0.2
## 准备YAML文件 ## 准备YAML文件

View File

@ -12,7 +12,7 @@
所以本文档主要适合于那些有一定 kubernetes 基础,想通过一步步部署的方式来学习和了解系统配置、运行原理的人。 所以本文档主要适合于那些有一定 kubernetes 基础,想通过一步步部署的方式来学习和了解系统配置、运行原理的人。
**注本文档中不包括docker和私有镜像仓库的安装安装说明中使用的镜像来自 Google Cloud Platform为了方便国内用户下载,我将其克隆并上传到了 [时速云镜像市场](https://tenxcloud.com/)搜索”Jimmy“供大家免费下载。** **注本文档中不包括docker和私有镜像仓库的安装安装说明中使用的镜像来自 Google Cloud Platform中国大陆用户若无法访问请自行选择其他镜像仓库备份。**
**欲下载最新版本的官方镜像请访问 [Google 云平台容器注册表](https://console.cloud.google.com/gcr/images/google-containers/GLOBAL)。** **欲下载最新版本的官方镜像请访问 [Google 云平台容器注册表](https://console.cloud.google.com/gcr/images/google-containers/GLOBAL)。**

View File

@ -4,28 +4,22 @@
该插件直接使用kubernetes部署官方的配置文件中包含以下镜像 该插件直接使用kubernetes部署官方的配置文件中包含以下镜像
```ini
gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.1 gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.1
gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.1 gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.1
gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.1 gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.1
```
我clone了上述镜像上传到我的私有镜像仓库 我clone了上述镜像上传到我的私有镜像仓库
``` ```ini
harbor-001.jimmysong.io/library/k8s-dns-dnsmasq-nanny-amd64:1.14.1 harbor-001.jimmysong.io/library/k8s-dns-dnsmasq-nanny-amd64:1.14.1
harbor-001.jimmysong.io/library/k8s-dns-kube-dns-amd64:1.14.1 harbor-001.jimmysong.io/library/k8s-dns-kube-dns-amd64:1.14.1
harbor-001.jimmysong.io/library/k8s-dns-sidecar-amd64:1.14.1 harbor-001.jimmysong.io/library/k8s-dns-sidecar-amd64:1.14.1
``` ```
同时上传了一份到时速云备份:
```
index.tenxcloud.com/jimmy/k8s-dns-dnsmasq-nanny-amd64:1.14.1
index.tenxcloud.com/jimmy/k8s-dns-kube-dns-amd64:1.14.1
index.tenxcloud.com/jimmy/k8s-dns-sidecar-amd64:1.14.1
```
以下yaml配置文件中使用的是私有镜像仓库中的镜像。 以下yaml配置文件中使用的是私有镜像仓库中的镜像。
``` ``` ini
kubedns-cm.yaml kubedns-cm.yaml
kubedns-sa.yaml kubedns-sa.yaml
kubedns-controller.yaml kubedns-controller.yaml

View File

@ -355,13 +355,6 @@ Test Suite Passed
- gcr.io/google_containers/pause-amd64:3.0 - gcr.io/google_containers/pause-amd64:3.0
- gcr.io/google_containers/serve_hostname:v1.4 - gcr.io/google_containers/serve_hostname:v1.4
时速云镜像地址:
- index.tenxcloud.com/jimmy/pause-amd64:3.0
- index.tenxcloud.com/jimmy/serve_hostname:v1.4
将镜像pull到本地后重新打tag。
## Locust测试 ## Locust测试
请求统计 请求统计

View File

@ -12,12 +12,7 @@
- gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.15 - gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.15
- gcr.io/google_containers/defaultbackend:1.3 - gcr.io/google_containers/defaultbackend:1.3
gcr.io中的那个两个镜像我复制了一份到时速云可供大家下载 所有的安装时需要的配置保存在[../manifests/nginx-ingress](https://github.com/rootsongjc/kubernetes-handbook/blob/master/manifests/nginx-ingress)目录下。
- index.tenxcloud.com/jimmy/defaultbackend:1.3
- index.tenxcloud.com/jimmy/nginx-ingress-controller:0.9.0-beta.15
Docker hub上的那个镜像可以直接下载所有的安装时需要的配置保存在[../manifests/nginx-ingress](https://github.com/rootsongjc/kubernetes-handbook/blob/master/manifests/nginx-ingress)目录下。
## 步骤详解 ## 步骤详解

View File

@ -234,7 +234,7 @@ KUBELET_ARGS="--cgroup-driver=systemd --cluster-dns=10.254.0.2 --experimental-bo
+ `--cluster-dns` 指定 kubedns 的 Service IP(可以先分配,后续创建 kubedns 服务时指定该 IP)`--cluster-domain` 指定域名后缀,这两个参数同时指定后才会生效; + `--cluster-dns` 指定 kubedns 的 Service IP(可以先分配,后续创建 kubedns 服务时指定该 IP)`--cluster-domain` 指定域名后缀,这两个参数同时指定后才会生效;
+ `--cluster-domain` 指定 pod 启动时 `/etc/resolve.conf` 文件中的 `search domain` ,起初我们将其配置成了 `cluster.local.`,这样在解析 service 的 DNS 名称时是正常的,可是在解析 headless service 中的 FQDN pod name 的时候却错误,因此我们将其修改为 `cluster.local`,去掉最后面的 ”点号“ 就可以解决该问题,关于 kubernetes 中的域名/服务名称解析请参见我的另一篇文章。 + `--cluster-domain` 指定 pod 启动时 `/etc/resolve.conf` 文件中的 `search domain` ,起初我们将其配置成了 `cluster.local.`,这样在解析 service 的 DNS 名称时是正常的,可是在解析 headless service 中的 FQDN pod name 的时候却错误,因此我们将其修改为 `cluster.local`,去掉最后面的 ”点号“ 就可以解决该问题,关于 kubernetes 中的域名/服务名称解析请参见我的另一篇文章。
+ `--kubeconfig=/etc/kubernetes/kubelet.kubeconfig `中指定的`kubelet.kubeconfig`文件在第一次启动kubelet之前并不存在请看下文当通过CSR请求后会自动生成`kubelet.kubeconfig`文件,如果你的节点上已经生成了`~/.kube/config`文件,你可以将该文件拷贝到该路径下,并重命名为`kubelet.kubeconfig`所有node节点可以共用同一个kubelet.kubeconfig文件这样新添加的节点就不需要再创建CSR请求就能自动添加到kubernetes集群中。同样在任意能够访问到kubernetes集群的主机上使用`kubectl --kubeconfig`命令操作集群时,只要使用`~/.kube/config`文件就可以通过权限认证因为这里面已经有认证信息并认为你是admin用户对集群拥有所有权限。 + `--kubeconfig=/etc/kubernetes/kubelet.kubeconfig `中指定的`kubelet.kubeconfig`文件在第一次启动kubelet之前并不存在请看下文当通过CSR请求后会自动生成`kubelet.kubeconfig`文件,如果你的节点上已经生成了`~/.kube/config`文件,你可以将该文件拷贝到该路径下,并重命名为`kubelet.kubeconfig`所有node节点可以共用同一个kubelet.kubeconfig文件这样新添加的节点就不需要再创建CSR请求就能自动添加到kubernetes集群中。同样在任意能够访问到kubernetes集群的主机上使用`kubectl --kubeconfig`命令操作集群时,只要使用`~/.kube/config`文件就可以通过权限认证因为这里面已经有认证信息并认为你是admin用户对集群拥有所有权限。
+ `KUBELET_POD_INFRA_CONTAINER` 是基础镜像容器,这里我用的是私有镜像仓库地址,**大家部署的时候需要修改为自己的镜像**。我上传了一个到时速云上,可以直接 `docker pull index.tenxcloud.com/jimmy/pod-infrastructure` 下载。`pod-infrastructure`镜像是Redhat制作的大小接近80M下载比较耗时其实该镜像并不运行什么具体进程可以使用Google的pause镜像`gcr.io/google_containers/pause-amd64:3.0`这个镜像只有300多K或者通过DockerHub下载`jimmysong/pause-amd64:3.0`。 + `KUBELET_POD_INFRA_CONTAINER` 是基础镜像容器,这里我用的是私有镜像仓库地址,**大家部署的时候需要修改为自己的镜像**。`pod-infrastructure`镜像是Redhat制作的大小接近80M下载比较耗时其实该镜像并不运行什么具体进程可以使用Google的pause镜像`gcr.io/google_containers/pause-amd64:3.0`这个镜像只有300多K或者通过DockerHub下载`jimmysong/pause-amd64:3.0`。
完整 unit 见 [kubelet.service](../systemd/kubelet.service) 完整 unit 见 [kubelet.service](../systemd/kubelet.service)

View File

@ -93,7 +93,6 @@ build:
GOOS=linux GOARCH=amd64 go build -o hello${TAG} main.go GOOS=linux GOARCH=amd64 go build -o hello${TAG} main.go
docker build -t harbor-001.jimmysong.io/library/hello:${TAG} . docker build -t harbor-001.jimmysong.io/library/hello:${TAG} .
# Push to tenxcloud
push: push:
docker push harbor-001.jimmysong.io/library/hello:${TAG} docker push harbor-001.jimmysong.io/library/hello:${TAG}

View File

@ -12,16 +12,6 @@
- harbor-001.jimmysong.io/library/dockermuenster-caddy:0.9.3 - harbor-001.jimmysong.io/library/dockermuenster-caddy:0.9.3
- harbor-001.jimmysong.io/library/prom-node-exporter:v0.14.0 - harbor-001.jimmysong.io/library/prom-node-exporter:v0.14.0
同时备份到时速云:
- index.tenxcloud.com/jimmy/prometheus-alertmanager:v0.7.1
- index.tenxcloud.com/jimmy/grafana:4.2.0
- index.tenxcloud.com/jimmy/giantswarm-tiny-tools:latest
- index.tenxcloud.com/jimmy/prom-prometheus:v1.7.0
- index.tenxcloud.com/jimmy/kube-state-metrics:v1.0.1
- index.tenxcloud.com/jimmy/dockermuenster-caddy:0.9.3
- index.tenxcloud.com/jimmy/prom-node-exporter:v0.14.0
**注**:所有镜像都是从官方镜像仓库下载下。 **注**:所有镜像都是从官方镜像仓库下载下。
## 部署 ## 部署

View File

@ -1,19 +1,10 @@
# Spark standalone on Kubernetes # Spark standalone on Kubernetes
该项目是基于 Spark standalone 模式,对资源的分配调度还有作业状态查询的功能实在有限,对于让 spark 使用真正原生的 kubernetes 资源调度推荐大家尝试 https://github.com/apache-spark-on-k8s/ 该项目是基于 Spark standalone 模式,对资源的分配调度还有作业状态查询的功能实在有限,对于让 spark 使用真正原生的 kubernetes 资源调度推荐大家尝试 <https://github.com/apache-spark-on-k8s/>
本文中使用的镜像我已编译好上传到了时速云上,大家可以直接下载。
```
index.tenxcloud.com/jimmy/spark:1.5.2_v1
index.tenxcloud.com/jimmy/zeppelin:0.7.1
```
代码和使用文档见Github地址https://github.com/rootsongjc/spark-on-kubernetes 代码和使用文档见Github地址https://github.com/rootsongjc/spark-on-kubernetes
本文中用到的 yaml 文件可以在 `manifests/spark-standalone` 目录下找到,也可以在上面的 https://github.com/rootsongjc/spark-on-kubernetes/ 项目的 manifests 目录下找到。 本文中用到的 yaml 文件可以在 `manifests/spark-standalone` 目录下找到,也可以在上面的 <https://github.com/rootsongjc/spark-on-kubernetes/> 项目的 manifests 目录下找到。
**注意**:时速云上本来已经提供的镜像 `index.tenxcloud.com/google_containers/spark:1.5.2_v1` ,但是该镜像似乎有问题,下载总是失败。
## 在Kubernetes上启动spark ## 在Kubernetes上启动spark
@ -21,7 +12,7 @@ index.tenxcloud.com/jimmy/zeppelin:0.7.1
所有yaml文件都在`manifests`目录下。 所有yaml文件都在`manifests`目录下。
``` ```bash
$ kubectl create -f manifests/ $ kubectl create -f manifests/
``` ```
@ -35,7 +26,7 @@ $ kubectl create -f manifests/
通过上面对ingress的配置暴露服务需要修改本机的/etc/hosts文件增加以下配置使其能够解析到上述service。 通过上面对ingress的配置暴露服务需要修改本机的/etc/hosts文件增加以下配置使其能够解析到上述service。
``` ```ini
172.20.0.119 zeppelin.traefik.io 172.20.0.119 zeppelin.traefik.io
172.20.0.119 spark.traefik.io 172.20.0.119 spark.traefik.io
``` ```