CoreDNS-1.0.0 Release



  • By John Belamaric. Originally posted on CoreDNS.io

    We are pleased to announce the release of CoreDNS-1.0.0!

    Release 1.0.0 and other recent releases have focused on improving the performance and functionality of the kubernetes plugin, since CoreDNS is now on track to eventually replace kube-dns as the default cluster DNS in Kubernetes.

    As part of the Kubernetes proposal, we have shown that CoreDNS not only provides more functionality than kube-dns, but performs much better while using less memory. In our tests,CoreDNS running against a cluster with 5000 services was able to process 18,000 queries per second using 73MB of RAM, while kube-dns achieved 7,000qps using 97MB of RAM. This can be partial ascribed to CoreDNS simpler runtime – a single process instead of a combination of several processes.

    CoreDNS also implements a number of Kubernetes-related features that are not part of kube-dns, including:

    • Filtering of records by namespace
    • Filtering of records by label selector
    • pods verified mode, which ensures that a Pod exists before returning an answer for a pod.cluster.local query
    • endpoint_pod_names which uses Pod names for service endpoint records if the hostname is not set
    • autopath which provides a server-side implementation of the namespace-specific search path. This can cut down the query latency from pods dramatically.

    As a general-purpose DNS server, CoreDNS also enables many other use cases that would be difficult or impossible to achieve with kube-dns, such as the ability to create custom DNS entries.

    We are excited to continue our contributions to the Kubernetes community, and CoreDNS is being incorporated as a 1.9 alpha feature into a variety of Kubernetes deployment mechanisms, including upcoming versions of kubeadm, kops, minikube, and kubespray.

    Of course, there is more to 1.0.0 than just the Kubernetes work. See below for the details on all the changes.

    Core

    • Fixed a bug in the gRPC server that prevented dnstap from working with it.
    • Additional fuzz testing to ferret out obscure bugs.
    • Documentation and configuration cleanups.

    Plugins

    • log no longer accepts stdout in the configuration (use of a file was removed in a previous release). All logging is always to STDOUT. This is a backwards incompatible change, so be sure to check your Corefile for this.
    • health now checks plugins that support it for health and reflects that in the server health.
    • kubernetes now shows healthy only after the initial API sync is complete.
    • kubernetes has bug fixes and performance improvements.
    • kubernetes now has an option to use pod names instead of IPs in service endpoint records when the hostname is not set.
    • metrics have been revised to provide better histograms. You will need to change your Prometheus queries as metric names have changed to comply with Prometheus best practices.
    • erratic now supports the health check.

    Contributors

    The following people helped with getting this release done: Andy Goldstein, Ben Kochie, Brian Akins, Chris O’Haver, Christian Nilsson, John Belamaric, Max Schmitt, Michael Grosser, Miek Gieben, Ruslan Drozhdzh, Uladzimir Trehubenka, Yong Tang.

    If you want to help, please check out one of the issues and start coding!

    For documentation and help, see our community page.

    John Belamaric
    Published: <time datetime=“2017-12-01T22:43:43+00:00”>1 Dec, 2017</time> and tagged 1.0.0, Notes and Release using 503 words.

    <aside>

    <header>Related Content</header>


    </aside>

    The post CoreDNS-1.0.0 Release appeared first on The Linux Foundation.

    https://www.linuxfoundation.org/press-release/cloud-native-computing-foundation/coredns-1-0-0-release/





Tmux Commands

screen and tmux

A comparison of the features (or more-so just a table of notes for accessing some of those features) for GNU screen and BSD-licensed tmux.

The formatting here is simple enough to understand (I would hope). ^ means ctrl+, so ^x is ctrl+x. M- means meta (generally left-alt or escape)+, so M-x is left-alt+x

It should be noted that this is no where near a full feature-set of either group. This - being a cheat-sheet - is just to point out the most very basic features to get you on the road.

Trust the developers and manpage writers more than me. This document is originally from 2009 when tmux was still new - since then both of these programs have had many updates and features added (not all of which have been dutifully noted here).

Action tmux screen
start a new session tmux OR
tmux new OR
tmux new-session
screen
re-attach a detached session tmux attach OR
tmux attach-session
screen-r
re-attach an attached session (detaching it from elsewhere) tmux attach -d OR
tmux attach-session -d
screen -dr
re-attach an attached session (keeping it attached elsewhere) tmux attach OR
tmux attach-session
screen -x
detach from currently attached session ^b d OR
^b :detach
^a ^d OR
^a :detach
rename-window to newname ^b , <newname> OR
^b :rename-window <newn>
^a A <newname>
list windows ^b w ^a w
list windows in chooseable menu ^a "
go to window # ^b # ^a #
go to last-active window ^b l ^a ^a
go to next window ^b n ^a n
go to previous window ^b p ^a p
see keybindings ^b ? ^a ?
list sessions ^b s OR
tmux ls OR
tmux list-sessions
screen -ls
toggle visual bell ^a ^g
create another window ^b c ^a c
exit current shell/window ^d ^d
split window/pane horizontally ^b " ^a S
split window/pane vertically ^b % ^a |
switch to other pane ^b o ^a <tab>
kill the current pane ^b x OR (logout/^D)
collapse the current pane/split (but leave processes running) ^a X
cycle location of panes ^b ^o
swap current pane with previous ^b {
swap current pane with next ^b }
show time ^b t
show numeric values of panes ^b q
toggle zoom-state of current pane (maximize/return current pane) ^b z
break the current pane out of its window (to form new window) ^b !
re-arrange current panels within same window (different layouts) ^b [space]
Kill the current window (and all panes within) ^b killw [target-window]
  • Make ISO from DVD

    In this case I had an OS install disk which was required to be on a virtual node with no optical drive, so I needed to transfer an image to the server to create a VM

    Find out which device the DVD is:

    lsblk

    Output:

    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 465.8G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 464.8G 0 part ├─centos-root 253:0 0 50G 0 lvm / ├─centos-swap 253:1 0 11.8G 0 lvm [SWAP] └─centos-home 253:2 0 403G 0 lvm /home sdb 8:16 1 14.5G 0 disk /mnt sr0 11:0 1 4.1G 0 rom /run/media/rick/CCSA_X64FRE_EN-US_DV5

    Therefore /dev/sr0 is the location , or disk to be made into an ISO

    I prefer simplicity, and sometimes deal with the fallout after the fact, however Ive repeated this countless times with success.

    dd if=/dev/sr0 of=win10.iso

    Where if=Input file and of=output file

    I chill out and do something else while the image is being copied/created, and the final output:

    8555456+0 records in 8555456+0 records out 4380393472 bytes (4.4 GB) copied, 331.937 s, 13.2 MB/s

    Fin!

    read more
  • Recreate postrgresql database template encode to ASCII

    UPDATE pg_database SET datistemplate = FALSE WHERE datname = 'template1';

    Now we can drop it:

    DROP DATABASE template1;

    Create database from template0, with a new default encoding:

    CREATE DATABASE template1 WITH TEMPLATE = template0 ENCODING = 'UNICODE'; UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template1'; \c template1 VACUUM FREEZE;

    read more
});