• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

weaveworks/wks-quickstart-firekube: Example configuration to create Kubernetes c ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

weaveworks/wks-quickstart-firekube

开源软件地址(OpenSource Url):

https://github.com/weaveworks/wks-quickstart-firekube

开源编程语言(OpenSource Language):

Shell 80.6%

开源软件介绍(OpenSource Introduction):

Firekube

Firekube is a Kubernetes cluster working on top of ignite and firecracker. Firekube clusters are operated with GitOps.

ignite and firecracker only work on Linux as they need KVM. Fortunately we will also work on macOS using footloose: the Kubernetes nodes are then running inside containers.

Creating a Firekube cluster

Prerequisites: docker, git, kubectl 1.14+.

  1. Fork this repository.

  2. Clone your fork and cd into it. Use the SSH git URL as the script will push an initial commit to your fork:

    export user="" # Your GitHub handle or org
    
    git clone [email protected]:$user/wks-quickstart-firekube.git
    cd wks-quickstart-firekube
  3. Start the cluster:

    ./setup.sh

    This step will take several minutes.

    Please note that the setup.sh script will detect which OS you're on. If it's macOS, the script will automatically set backend: docker inside config.yaml. This config is to start the cluster in containers as there is no KVM on macOS. However, Firekube on Linux will run either with backend: ignite (ignite VMs) or backend: docker (containers). So the setup.sh script won't touch the backend value inside config.yaml if you're on Linux. In case you started Firekube (in containers) on macOS then switched to try it on Linux, please make sure that the backend value is set to backend: ignite so that you can start the cluster on ignite / firecracker VMs.

  4. Export the KUBECONFIG environment variable as indicated at the end of the installation:

    export KUBECONFIG=/home/damien/.wks/weavek8sops/example/kubeconfig

Enjoy your Kubernetes cluster!

$ kubectl get nodes
NAME               STATUS   ROLES    AGE     VERSION
67bb6c4812b19ce4   Ready    master   3m42s   v1.14.1
a5cf619fa058882d   Ready    <none>   75s     v1.14.1

Watch GitOps in action

Now that we have a cluster installed, we can commit Kubernetes objects to the git repository and have them appear in the cluster. Let's add podinfo, an example Go microservice, to the cluster.

kubectl apply --dry-run -k github.com/stefanprodan/podinfo//kustomize -o yaml > podinfo.yaml
git add podinfo.yaml
git commit -a -m 'Add podinfo Deployment'
git push

A few seconds later, you should witness the apparition of a podinfo pod in the cluster:

$ kubectl get pods
NAME                       READY   STATUS    RESTARTS   AGE
podinfo-677768c755-z76xk   1/1     Running   0          30s

To view podinfo web UI:

  1. Expose podinfo locally:

    kubectl port-forward deploy/podinfo 9898:9898
    
  2. Point your browser to http://127.0.0.1:9898:

    podinfo

Deleting a Firekube cluster

Run:

./cleanup.sh

Using a private git repository with firekube

To use a private git repository instead of a fork of wks-quickstart-firekube:

  1. Create a private repository and push the wks-quickstart-firekube master branch there. Use the SSH git URL when cloning the private repository:

    git clone [email protected]:$user/$repository.git
    cd $repository
    git remote add quickstart [email protected]:weaveworks/wks-quickstart-firekube.git
    git fetch quickstart
    git merge quickstart/master
    git push
    
  2. Create an SSH key pair:

    ssh-keygen -t rsa -b 4096 -C "[email protected]" -f deploy-firekube  -N ""
  3. Upload the deploy key to your private repository (with read/write access):

    deploy key upload

  4. Start the cluster:

    ./setup.sh --git-deploy-key  ./deploy-firekube

Getting Help

If you have any questions about, feedback for or problems with wks-quickstart-firekube:

Weaveworks follows the CNCF Code of Conduct. Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting a Weaveworks project maintainer, or Alexis Richardson ([email protected]).

Your feedback is always welcome!

License

Apache 2.0




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Netis/packet-agent: A toolset for network packet capture in Cloud/Kubernetes and ...发布时间:2022-08-13
下一篇:
ravdy/kubernetes发布时间:2022-08-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap